]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
[grub2.git] / ChangeLog
1 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2
3 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4 is interrupted by ESC.
5
6 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/grub-script-check.c (main): Uniform the error message.
9
10 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
11
12 Remove nested functions from ELF iterators.
13
14 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
15
16 Remove nested functions from device iterators.
17
18 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
19 (grub_arc_iterate_devs): Add hook_data argument.
20 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
21 (struct grub_ata_dev.iterate): Add hook_data argument.
22 * include/grub/device.h (grub_device_iterate_hook_t): New type.
23 (grub_device_iterate): Add hook_data argument.
24 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
25 (struct grub_disk_dev.iterate): Add hook_data argument.
26 (grub_disk_dev_iterate): Likewise.
27 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
28 Likewise.
29 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
30 Likewise.
31 * include/grub/partition.h (grub_partition_iterate_hook_t): New
32 type.
33 (struct grub_partition_map.iterate): Add hook_data argument.
34 (grub_partition_iterate): Likewise.
35 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
36 (struct grub_scsi_dev.iterate): Add hook_data argument.
37
38 Update all callers.
39
40 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
41
42 Fix typos for "developer" and "development".
43
44 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
45
46 Add license header to spkmodem-recv.c.
47
48 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
49
50 Rewrite spkmodem to use PIT for timing. Double the speed.
51
52 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
53
54 Add new command pcidump.
55
56 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
57
58 New terminal outputs using serial: morse and spkmodem.
59
60 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
61
62 Improve bidi handling in entry editor.
63
64 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
67 argument to prevent name collision.
68
69 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
70
71 Remove nested functions from script reading and parsing.
72
73 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
74 getline_data argument, passed to getline.
75 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
76 getline_data argument, passed to grub_parser_split_cmdline.
77 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
78 lexerstate->getline_data to lexerstate->getline.
79 (grub_script_lexer_init): Add getline_data argument, saved in
80 lexerstate->getline_data.
81 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
82 argument, passed to grub_script_parse.
83 * grub-core/script/script.c (grub_script_parse): Add getline_data
84 argument, passed to grub_script_lexer_init.
85 * include/grub/parser.h (grub_parser_split_cmdline): Update
86 prototype. Update all callers to pass appropriate getline data.
87 (struct grub_parser.parse_line): Likewise.
88 (grub_rescue_parse_line): Likewise.
89 * include/grub/reader.h (grub_reader_getline_t): Add void *
90 argument.
91 * include/grub/script_sh.h (struct grub_lexer_param): Add
92 getline_data member.
93 (grub_script_parse): Update prototype. Update all callers to pass
94 appropriate getline data.
95 (grub_script_lexer_init): Likewise.
96 (grub_normal_parse_line): Likewise.
97
98 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
99 data argument.
100 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
101 static instead of nested. Rename to ...
102 (grub_parser_execute_getline): ... this.
103 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
104 data argument.
105 * grub-core/normal/main.c (read_config_file: getline): Make static
106 instead of nested. Rename to ...
107 (read_config_file_getline): ... this.
108 (grub_normal_read_line): Add unused data argument.
109 * grub-core/script/execute.c (grub_script_execute_sourcecode:
110 getline): Make static instead of nested. Rename to ...
111 (grub_script_execute_sourcecode_getline): ... this.
112 * util/grub-script-check.c (main: get_config_line): Make static
113 instead of nested.
114
115 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
116
117 Remove nested functions from memory map iterators.
118
119 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
120 argument, passed to hook.
121 * grub-core/kern/i386/coreboot/mmap.c
122 (grub_linuxbios_table_iterate): Likewise.
123 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
124 instead of nested.
125 (grub_machine_mmap_iterate): Add hook_data argument.
126 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
127 Add hook_data argument, passed to hook.
128 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
129 Likewise.
130 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
131 Likewise.
132 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
133 Likewise.
134 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
135 Likewise.
136 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
137 Likewise.
138 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
139 Likewise.
140 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
141 (grub_machine_mmap_iterate): Likewise.
142 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
143 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
144 prototype.
145 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
146 Remove NESTED_FUNC_ATTR from here and from all users.
147 (grub_mmap_iterate): Update prototype.
148 (grub_efi_mmap_iterate): Update prototype. Update all callers to
149 pass appropriate hook data.
150 (grub_machine_mmap_iterate): Likewise.
151
152 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
153 static instead of nested.
154 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
155 Rename to ...
156 (lsmmap_hook): ... this.
157 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
158 Likewise.
159 (grub_efiemu_mmap_fill: fill_hook): Likewise.
160 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
161 heap_init): Likewise.
162 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
163 Rename to ...
164 (mmap_iterate_hook): ... this.
165 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
166 Likewise.
167 * grub-core/lib/ieee1275/relocator.c
168 (grub_relocator_firmware_get_max_events: count): Likewise.
169 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
170 to ...
171 (grub_relocator_firmware_fill_events_iter): ... this.
172 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
173 hook): Likewise. Rename to ...
174 (grub_relocator_alloc_chunk_align_iter): ... this.
175 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
176 Rename to ...
177 (generate_e820_mmap_iter): ... this.
178 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
179 Rename to ...
180 (count_hook): ... this.
181 (grub_linux_boot: hook): Likewise. Rename to ...
182 (grub_linux_boot_mmap_find): ... this.
183 (grub_linux_boot: hook_fill): Likewise. Rename to ...
184 (grub_linux_boot_mmap_fill): ... this.
185 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
186 hook): Likewise. Rename to ...
187 (grub_fill_multiboot_mmap_iter): ... this.
188 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
189 hook): Likewise. Rename to ...
190 (count_hook): ... this.
191 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
192 hook): Likewise. Rename to ...
193 (grub_fill_multiboot_mmap_iter): ... this.
194 * grub-core/loader/powerpc/ieee1275/linux.c
195 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
196 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
197 Likewise. Rename to ...
198 (alloc_phys_choose): ... this.
199 (determine_phys_base: get_physbase): Likewise.
200 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
201 find_hook): Likewise.
202 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
203 (malloc_hook: count_hook): Likewise.
204 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
205 Likewise. Rename to ...
206 (lower_hook): ... this.
207 (grub_mmap_get_upper: hook): Likewise. Rename to ...
208 (upper_hook): ... this.
209 (grub_mmap_get_post64: hook): Likewise. Rename to ...
210 (post64_hook): ... this.
211 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
212 Likewise. Rename to ...
213 (lower_hook): ... this.
214 (grub_mmap_get_upper: hook): Likewise. Rename to ...
215 (upper_hook): ... this.
216 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
217 (grub_mmap_iterate: fill_hook): Likewise.
218 (fill_mask): Pass addr and mask within a single struct.
219 (grub_cmd_badram: hook): Make static instead of nested. Rename
220 to ...
221 (badram_iter): ... this.
222 (grub_cmd_cutmem: hook): Likewise. Rename to ...
223 (cutmem_iter): ... this.
224
225 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
228 delimit path in strings using quotes.
229 * util/getroot.c (grub_guess_root_devices): Likewise.
230 (grub_make_system_path_relative_to_its_root): Likewise.
231 * util/grub-probe.c (probe): Likewise.
232 * util/ieee1275/ofpath.c (find_obppath): Likewise.
233 (xrealpath): Likewise.
234
235 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Fix compilation with older compilers.
238
239 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
240 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
241 declarations.
242 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
243 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
244 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
245 identifier with b.
246 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
247 * include/grub/crypto.h: Add type defines.
248 * util/import_gcrypth.sed: Remove duplicate type defines.
249
250 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
251
252 New command list_trusted.
253
254 * grub-core/commands/verify.c (grub_cmd_list): New function.
255
256 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
257
258 * util/grub-mkimage.c (generate_image): Fix "size of public key"
259 info message.
260
261 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
262
263 Remove nested functions from PCI iterators.
264
265 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
266 passed to hook. Update all callers to pass appropriate hook data.
267 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
268 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
269 Remove NESTED_FUNC_ATTR from here and from all users.
270 (grub_pci_iterate): Update prototype.
271 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
272 instead of nested. Rename to ...
273 (grub_cs5536_find_iter): ... this.
274 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
275 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
276 Likewise.
277 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
278 Likewise.
279 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
280 Likewise.
281 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
282 Likewise.
283 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
284 * grub-core/video/radeon_fuloong2e.c
285 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
286 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
287 find_card): Likewise.
288 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
289 Likewise.
290
291 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/commands/verify.c: Mark messages for translating.
294
295 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
298 fatal.
299
300 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
303 fatal.
304
305 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * autogen.sh: Do not try to delete nonexistant files.
308 * util/import_gcrypth.sed: Add some missing header removals.
309
310 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
311
312 Clean up dangling references to grub-setup.
313 Fixes Ubuntu bug #1082045.
314
315 * docs/grub.texi (Images): Refer generally to grub-install rather
316 than directly to grub-setup.
317 (Installing GRUB using grub-install): Remove direct reference to
318 grub-setup.
319 (Device map) Likewise.
320 (Invoking grub-install): Likewise.
321 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
322 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
323 * util/grub-install.in (usage): Likewise.
324
325 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
326 Apply to grub-bios-setup and grub-sparc64-setup rather than to
327 grub-setup.
328 * configure.ac: Remove grub_setup output variable.
329
330 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
331 to grub-bios-setup.
332 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
333 grub-setup to grub-sparc64-setup.
334
335 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Import gcrypt public-key cryptography and implement signature checking.
338
339 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/fs/ntfs.c: Ue more appropriate types.
342 * grub-core/fs/ntfscomp.c: Likewise.
343 * include/grub/ntfs.h: Likewise.
344
345 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
346
347 Support Apple FAT binaries on non-Apple platforms.
348
349 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
350 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
351 Likewise.
352 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
353 Apple FAT binaries.
354
355 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
358 sector devices.
359
360 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
361
362 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
363 explicitly zeroing elements.
364 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
365 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
366 of elements in a structure already allocated using grub_zalloc.
367 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
368
369 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
370
371 * docs/grub.texi (grub_cpu): New subsection.
372 (grub_platform): Likewise.
373
374 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
377
378 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
381 divisions.
382
383 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
386 * grub-core/fs/ntfscomp.c: Likewise.
387 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
388 (grub_ntfs_comp): Likewise.
389
390 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
393 Rename to ...
394 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
395 of groups_per_block. All users updated.
396
397 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
400 grub_error properly.
401 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
402 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
403
404 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
407 always in /boot/zfs.
408 Reported by: Yuta Satoh.
409
410 2013-01-03 Yuta Satoh <nigoro>
411
412 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
413 ${grub_probe}
414
415 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * configure.ac: Extend -Wno-trampolines to host.
418
419 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
422 entry->len = 0.
423
424 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
425
426 * docs/grub.texi (Invoking grub-mkrelpath): New section.
427 (Invoking grub-script-check): Likewise.
428
429 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
430
431 * docs/grub.texi (Invoking grub-mount): New section.
432 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
433
434 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
435
436 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
437 test failures, so that a failing unit test correctly causes 'make
438 check' to fail.
439
440 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
441
442 Fix failing printf test.
443
444 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
445 '$' in the correct order when collecting type information.
446
447 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
448
449 * docs/grub.texi (configfile): Explain environment variable
450 handling.
451 (source): New section.
452 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
453
454 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
455
456 Remove several trivially-unnecessary uses of nested functions.
457
458 * grub-core/commands/i386/pc/sendkey.c
459 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
460 instead of nested.
461 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
462 Rename to ...
463 (legacy_file_getline): ... this.
464 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
465 Likewise.
466 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
467 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
468 to ...
469 (probe_dummy_iter): ... this.
470 * grub-core/kern/i386/coreboot/mmap.c
471 (grub_linuxbios_table_iterate: check_signature): Likewise.
472 * grub-core/kern/parser.c (grub_parser_split_cmdline:
473 check_varstate): Likewise. Mark inline.
474 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
475 an additional parameter.
476 (find_long: fnd_long): Likewise. Pass two additional parameters.
477 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
478 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
479 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
480 Likewise. Rename to ...
481 (grub_cmos_find_port_iter): ... this.
482 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
483 Rename to ...
484 (find_rtc_iter): ... this.
485
486 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
487 function directly into the function body, since it is only called
488 once.
489
490 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
491
492 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
493 __attribute__ ((unused)).
494 * grub-core/video/bochs.c (find_card): Likewise.
495 * grub-core/video/cirrus.c (find_card): Likewise.
496 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
497 * grub-core/video/sis315pro.c (find_card): Likewise.
498 * grub-core/video/sm712.c (find_card): Likewise.
499
500 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
501
502 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
503 Fixes Savannah bug #37821.
504
505 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
506
507 Apply program name transformations at build-time rather than at
508 run-time. Fixes Debian bug #696465.
509
510 * acinclude.m4 (grub_TRANSFORM): New macro.
511 * configure.ac: Create output variables with transformed names for
512 most programs.
513 * util/bash-completion.d/grub-completion.bash.in: Use
514 pre-transformed variables for program names.
515 * util/grub-install.in: Likewise.
516 * util/grub-kbdcomp.in: Likewise.
517 * util/grub-mkconfig.in: Likewise.
518 * util/grub-mkconfig_lib.in: Likewise.
519 * util/grub-mknetdir.in: Likewise.
520 * util/grub-mkrescue.in: Likewise.
521 * util/grub-mkstandalone.in: Likewise.
522 * util/grub-reboot.in: Likewise.
523 * util/grub-set-default.in: Likewise.
524 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
525 * tests/util/grub-shell-tester.in: Remove unused assignment.
526 * tests/util/grub-shell.in: Likewise.
527 * util/grub.d/00_header.in: Likewise.
528
529 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
530
531 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
532
533 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
534 HAVE_RAW_DECL_GETS.
535 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
536
537 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
540 Reported by: Eriks Latosheks <foresterlv>.
541
542 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * docs/grub.texi (Network): Update instructions on generating netboot
545 image.
546
547 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
550 around device name if necessarry.
551
552 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
553
554 * util/grub-install.in: Follow the symbolic link parameter added
555 to the file command.
556
557 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
558
559 * util/grub-install.in: Remove stale TODO.
560
561 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
562
563 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
564 dynamic allocation for the bootpath buffer.
565
566 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
567
568 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
569 window too small.
570
571 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
574 argument rather than font name. All users updated.
575 (grub_gfxterm_set_window): Likewise.
576
577 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
578
579 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
580 from working.
581
582 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * util/getroot.c (convert_system_partition_to_system_disk): Support
585 nbd disks.
586
587 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
590 infinite loop on corrupted FS.
591
592 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Fix big-endian mtime.
595
596 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
597 together sec and usec.
598 (grub_ufs_dir): Use correct byteswapping for UFS time.
599
600 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
601
602 Support big-endian UFS1.
603
604 * Makefile.util.def (libgrubmods): Add ufs_be.c
605 * grub-core/Makefile.core.def (ufs1_be): New module.
606 * grub-core/fs/ufs_be.c: New file.
607 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
608 the file.
609
610 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
611
612 * include/grub/types.h: Fix functionality unaffecting typo in
613 GRUB_TARGET_WORDSIZE conditional macro.
614
615 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
616
617 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
618
619 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
620
621 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
622 that /netbsd appears first (when it exists).
623
624 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
625
626 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
627 Fixes Savannah bug #37558.
628
629 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
630
631 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
632 description of extract_entries_configfile.
633
634 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
635
636 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
637 preferred_address.
638 (grub_cmd_linux): Likewise.
639 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
640 preferred_lifetime. Update all users.
641
642 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
643
644 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
645 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
646
647 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
648
649 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
650 errors from grub-probe to /dev/null, not stdout.
651
652 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
655 sector 1.
656
657 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
658
659 * util/grub-install.in: Make the error message if $source_dir
660 doesn't exist more useful.
661
662 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
663
664 Fix grub-emu build on FreeBSD.
665
666 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
667 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
668 headers on Linux.
669 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
670 implementation is currently Linux-specific.
671 * util/getroot.c (exec_pipe): Define only on Linux or when either
672 libzfs or libnvpair is unavailable.
673 (find_root_devices_from_poolname): Remove unused path variable.
674
675 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
676
677 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
678 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
679 should fit before end == 63.
680
681 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
682
683 * util/grub-setup.c (write_rootdev): Remove unused core_img
684 parameter. Update all callers.
685 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
686 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
687 GRUB_SETUP_BIOS.
688
689 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * util/grub-mkconfig_lib.in (grub_tab): New variable.
692 (grub_add_tab): New function.
693 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
694 * util/grub.d/10_illumos.in: Likewise.
695 * util/grub.d/10_kfreebsd.in: Likewise.
696 * util/grub.d/10_linux.in: Likewise.
697 * util/grub.d/10_netbsd.in: Likewise.
698 * util/grub.d/10_windows.in: Likewise.
699 * util/grub.d/10_xnu.in: Likewise.
700 * util/grub.d/20_linux_xen.in: Likewise.
701 * util/grub.d/30_os-prober.in: Likewise.
702
703 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
706 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
707 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
708 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
709 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
710 ieee1275-nocursor.
711 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
712 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
713
714 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
717 le-conversion.
718 Reported by: BURETTE, Bernard.
719
720 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
721
722 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
723 from comment.
724
725 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
726
727 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
728 IEEE1275 machines. Fixes powerpc-emu compilation.
729 * include/grub/terminfo.h: Likewise.
730
731 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
734 a const pointer.
735 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
736 const pointer.
737 (efiemu_set_variable): Make vendor_guid a const pointer.
738
739 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
740
741 Don't require grub-mkconfig_lib to generate manpages for programs.
742
743 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
744 dependencies, don't add grub-mkconfig_lib.
745 (program): Pass empty adddeps.
746 (script): Pass grub-mkconfig_lib as adddeps.
747
748 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
751 * util/getroot.c (grub_find_device): Likewise.
752 (get_mdadm_uuid): Likewise.
753 (grub_util_is_imsm): Likewise.
754 (grub_util_pull_device): Likewise.
755 * util/grub-probe.c (probe): Likewise.
756
757 2012-09-10 Benoit Gschwind <gschwind>
758
759 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
760 (devs): Add devpath_8.
761
762 2012-09-08 Peter Jones <pjones@redhat.com>
763
764 * grub-core/Makefile.core.def (efifwsetup): New module.
765 * grub-core/commands/efi/efifwsetup.c: New file.
766 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
767 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
768 New define.
769 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
770
771 2012-09-05 Jiri Slaby <jslaby@suse.cz>
772
773 * configure.ac: Add SuSe path.
774
775 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
776
777 * NEWS: Fix typo.
778
779 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
780
781 * util/import_gcry.py: Sort cipher_files, to make build system
782 generation more deterministic.
783
784 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
787 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
788 (grub_set_datetime): Likewise.
789
790 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
793 warnings.
794
795 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
798
799 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
802
803 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
804
805 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
806 required for checkouts from bzr, but it may be useful for users or
807 distributors wishing to update translations against a tarball
808 distribution, and it can be helpful for the tarball to be a superset
809 of what's in bzr.
810
811 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
812
813 * Makefile.am (EXTRA_DIST): Add
814 grub-core/tests/boot/linux.init-mips.S,
815 grub-core/tests/boot/linux.init-ppc.S, and
816 grub-core/tests/boot/linux-ppc.cfg.
817
818 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
819
820 * grub-core/mmap/mips/loongson: Remove empty directory.
821
822 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
823
824 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
825 gone.
826
827 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
828
829 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
830 grub-sparc64-setup.
831
832 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
833
834 * configure.ac: Strengthen the test for working -nostdinc -isystem.
835
836 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
837
838 * po/POTFILES.in: Regenerated.
839
840 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
841
842 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
843 (NetBSD): New subsection.
844
845 2012-07-22 Ales Nesrsta <starous@volny.cz>
846
847 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
848 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
849
850 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
853 * util/grub.d/10_hurd.in: Add missing quoting.
854 * util/grub.d/10_illumos.in: Likewise.
855 * util/grub.d/10_kfreebsd.in: Likewise.
856 * util/grub.d/10_linux.in: Likewise.
857 * util/grub.d/20_linux_xen.in: Likewise.
858
859 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
860
861 New command `lsefi'.
862
863 * grub-core/Makefile.core.def (lsefi): New module.
864 * grub-core/commands/efi/lsefi.c: New file.
865 * include/grub/efi/api.h: Add more GUIDs.
866
867 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
870 (grub_bsd_elf32_hook): Likewise.
871 (grub_bsd_elf64_size_hook): Likewise.
872 (grub_bsd_elf64_hook): Likewise.
873 (grub_bsd_load_elf): Likewise.
874
875 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
878 if hash function is unavailable.
879 (dec_stream_header): Likewise.
880
881 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
884 filter state.
885
886 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Fix coreboot compilation.
889
890 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
891 (grub_vga_text_init_real): ... this.
892 (grub_vga_text_fini): Rename to ...
893 (grub_vga_text_fini_real): ... this.
894
895 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
898
899 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/lib/legacy_parse.c: Support clear and testload.
902
903 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
906
907 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/fs/ext2.c: Experimental support for 64-bit.
910
911 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/net/tftp.c (ack): Fix endianness problem.
914 (tftp_receive): Likewise.
915 Reported by: Michael Davidsaver.
916
917 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * gentpl.py: Make mans depend on grub-mkconfig_lib.
920
921 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
924 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
925 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
926
927 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
930 efi_mmap_size.
931 Reported by: Stuart Hayes.
932
933 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
936
937 * grub-core/Makefile.core.def (mda_text): New module.
938 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
939 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
940 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
941 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
942 here.
943 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
944 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
945 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
946 here.
947 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
948 to ..
949 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
950 ... here
951 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
952 here.
953 * grub-core/term/i386/vga_common.c: Removed.
954 * include/grub/i386/vga_common.h: Likewise.
955 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
956 (grub_vga_cr_bw_read): Likewise.
957 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
958 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
959 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
960 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
961 grub_vga_cr_read/grub_vga_cr_write.
962 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
963
964 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * configure.ac: Bump version to 2.00.
967 * grub-core/normal/main.c (features): Add feature_200_final.
968
969 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
970 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
971
972 * NEWS: Fix unclarity and language mistakes.
973
974 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
977 additional size to 3 pages.
978 Reported by: Stuart Hayes.
979
980 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * NEWS: Add 2.00 entry.
983
984 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
987 put explicit "/" for empty path.
988 (wildcard_expand): Improve dprintf.
989
990 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
993 it's equal to currnode. This can happen with "" symlink.
994
995 2012-06-27 Yves Blusseau <blusseau@zetam.org>
996
997 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
998 echo shell command by printf command.
999
1000 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1003 the value returned by firmware is the maximal position, not diumension.
1004 (grub_terminfo_output_state): Use a more sane fallback.
1005
1006 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1009
1010 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1013 frequency to 150 MHz.
1014
1015 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Apple fixes.
1018
1019 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1020 __APPLE_
1021 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1022 definition.
1023 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1024
1025 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Handle slash in HFS label.
1028
1029 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1030 (grub_hfs_dir): Tanslate slash.
1031 (grub_hfs_label): Don't translate slash.
1032
1033 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1036 network protocol listing since it introduces problematic dependency on
1037 net module.
1038
1039 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1042
1043 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 Init video early on yeeloong to avoid being rebooted by watchdog.
1046
1047 * grub-core/Makefile.am (gensm712): New target.
1048 (sm712_start.S): Likewise.
1049 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1050 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1051 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1052 description.
1053 * include/grub/vga.h: Move registry definitions to...
1054 * include/grub/vgaregs.h: ... here.
1055
1056 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1059 signedness.
1060
1061 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1064 platforms with firmware disk drivers in the core.
1065
1066 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1069 informative verbose message.
1070 (read_lv): Handle 64-bit segment size.
1071
1072 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1075
1076 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1079 character but still remove trainling spaces.
1080 (grub_fat_label): Ignore archive flag.
1081
1082 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1085 cast between linux_kernel_header and linux_kernel_params.
1086
1087 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1090 type for size.
1091 (grub_raid6_recover_func_t): Likewise.
1092 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1093 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1094
1095 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1098
1099 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1100
1101 Fix overflow.
1102
1103 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1104 [__NetBSD__]: Add explicit cast before bitshift.
1105
1106 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * configure.ac: Bump to 2.00~rc1.
1109
1110 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1113 half of $a0.
1114
1115 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1116 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1117
1118 * docs/grub.texi: Fix search syntax.
1119 (Multi-boot manual config): Put msdos rather than GPT example.
1120 Grammar corrections.
1121
1122 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1125
1126 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1129
1130 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1133 message on double free. Put the value of magic in case of mismatch.
1134
1135 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 Speed-up video on yeeloong.
1138
1139 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1140 add cached_ptr.
1141 (grub_video_sm712_video_fini): Unmap cached_ptr.
1142 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1143 (grub_video_sm712_set_active_render_target): Removed.
1144 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1145 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1146 sync caches.
1147
1148 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 Avoid flushing the same line multiple times on loongson.
1151
1152 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1153 Step in 32 bytes and not 1 byte.
1154 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1155 Likewise.
1156
1157 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1160 subvolumes.
1161
1162 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Implement flow control for http.
1165
1166 * grub-core/net/http.c (parse_line): Handle response 206.
1167 (http_receive): Stall if too many packets are in the queue.
1168 (http_establish): Fix range header.
1169 (http_seek): Fix double free.
1170 (http_close): Likewise.
1171 (http_packets_pulled): New function.
1172 (grub_http_protocol): Set http_seek
1173 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1174 (ack_real): Set window depending on i_stall.
1175 (grub_net_send_tcp_packet): Likewise.
1176 (grub_net_tcp_stall): New function.
1177 (grub_net_tcp_unstall): Likewise.
1178 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1179 (grub_net_tcp_unstall): Likewise.
1180
1181 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1184
1185 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1188
1189 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * tests/util/grub-shell.in: Fix a typo.
1192
1193 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Implement flow control for tftp.
1196
1197 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1198 packets but stop only if stop condition is satisfied.
1199 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1200 `stall' instead of `eof' as stop condition.
1201 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1202 (http_err): Likewise.
1203 * grub-core/net/tftp.c (ack): Replace the first argument with data
1204 instead of socket.
1205 (tftp_receive): Stall if too many packets are in wait queue.
1206 (tftp_packets_pulled): New function.
1207 (grub_tftp_protocol): Set packets_pulled.
1208 * include/grub/net.h (grub_net_packets): New field count.
1209 (grub_net_put_packet): Increment count.
1210 (grub_net_remove_packet): Likewise.
1211 (grub_net_app_protocol): New field `packets_pulled'.
1212 (grub_net): New field `stall'.
1213
1214 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1217 sync part to handle them.
1218
1219 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1222 * grub-core/net/drivers/ieee1275/ofnet.c
1223 (grub_ieee1275_net_config_real): Likewise.
1224
1225 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1228 the direct route for server/gateway.
1229
1230 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1233 IP address to server name since we may not hame the DNS.
1234
1235 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1238 freeing random buffer on failure.
1239 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1240
1241 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1244
1245 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1248 reserved bytes.
1249 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1250 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1251 Handle malloc error correctly.
1252
1253 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1256 blocks.
1257
1258 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1261 increment.
1262
1263 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1266 none is explicitly specified.
1267
1268 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1271 while reallocating.
1272
1273 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Respect netmask from bootp/dhcp.
1276
1277 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1278 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1279 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1280 into ...
1281 (grub_net_add_ipv4_local): ... this.
1282 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1283 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1284 (grub_net_add_ipv4_local): New proto.
1285
1286 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1289 determining EFI memory map size.
1290
1291 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1294
1295 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1298 when looking for partition separator.
1299
1300 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1303 Escape commas.
1304
1305 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 Restructure FAT driver to avoid hook in label reading as it hits a
1308 GCC bug.
1309
1310 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1311 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1312 (grub_fat_iterate_dir): Split into ...
1313 (grub_fat_iterate_init): ... this, ...
1314 (grub_fat_iterate_fini): ... this, ...
1315 (grub_fat_iterate_dir_next): ... and this. All users updated.
1316
1317 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1320 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1321 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1322 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1323 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1324 New fields last_key and last_key_time.
1325 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1326 extended key-esc into extended key-extended key.
1327
1328 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Avoid unnecessary memcpy of whole video buffer.
1331
1332 * grub-core/video/fb/video_fb.c (dirty): New struct.
1333 (framebuffer): Add members current_dirty and previous_dirty.
1334 (dirty): New function.
1335 (grub_video_fb_fill_rect): Update dirty.
1336 (common_blitter): Likewise.
1337 (grub_video_fb_scroll): Likewise.
1338 (doublebuf_blit_update_screen): Copy only dirty part.
1339 (doublebuf_pageflipping_update_screen): Likewise.
1340 (grub_video_fb_doublebuf_blit_init): Init dirty.
1341 (doublebuf_pageflipping_init): Likewise.
1342 (grub_video_fb_setup): Likewise.
1343
1344 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1347 poll rate.
1348
1349 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Fix wildcard regexp dot and other special characters handling.
1352 Reported by: Robert Mabee.
1353
1354 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1355 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1356 (split_path): Trigger expansion on '?'.
1357 (unescape): New function.
1358 (wildcard_expand): Unescape parts copied without globbing.
1359 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1360 (grub_script_arglist_to_argv): Don't unescape expansions.
1361
1362 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * include/grub/net.h (grub_net_card): New member txbufsize.
1365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1366 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1367 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1368 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1369 txbufsize.
1370 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1371 compatible property to check for macs. Set
1372 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1373 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1374 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1375 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1376 (send_card_buffer): Use txbuf.
1377 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1378 nested function out of the parent while on it.
1379
1380 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1383 presence check.
1384 (grub_ieee1275_net_config_real): Fix config pointer.
1385
1386 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1389 filename parsing to non-block devices.
1390
1391 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1394
1395 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1398 All users updated.
1399
1400 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1403 UUID search command even if hints probing failed.
1404
1405 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * po/POTFILES.in: Regenerated.
1408
1409 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 Speed-up video on fuloong.
1412
1413 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1414 New function.
1415 (grub_pci_device_unmap_range): Handle non-cached address.
1416 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1417 add direct_ptr.
1418 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1419 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1420 (grub_video_sis315pro_set_active_render_target): Removed.
1421 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1422 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1423 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1424 sync caches.
1425 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1426 New proto.
1427
1428 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * docs/grub.texi (Multi-boot manual config): New section.
1431
1432 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 Avoid slow read-back from VRAM.
1435
1436 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1437 Move from here ...
1438 * grub-core/video/fb/video_fb.c
1439 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1440 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1441 (front_target): Remove front_target. Add pages.
1442 (grub_video_fb_init): Skip setting front_pages.
1443 (grub_video_fb_fini): Likewise.
1444 (doublebuf_blit_update_screen): Use pages.
1445 (grub_video_fb_doublebuf_blit_init): Likewise.
1446 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1447 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1448 (grub_video_fb_setup): Prefer doublebuffing.
1449
1450 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1453 gzio.
1454
1455 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 Add loongson tests.
1458
1459 * tests/util/grub-shell.in: Handle loongson.
1460 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1461 drivers.
1462 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1463 Reboot instead of shutdown if REBOOT is defined.
1464
1465 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1468 sized ports since unlike on real hardware qemu supports only 32-bit
1469 regs.
1470
1471 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1474 * util/grub-mkrescue.in: Handle loongson.
1475
1476 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1479 Set is_part appropriately.
1480 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1481 names. Canonicalize partition without full disk.
1482
1483 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 Revert usb-quiesce since it's wrong.
1486
1487 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1488 (grub_ofdisk_init): Don't do quiesce.
1489
1490 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1493 PowerMac workaround to Xserves as well.
1494 Information supplied by: Benjamin Herrenschmidt.
1495
1496 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 Don't assume that beginning address is also the entry point on ppc.
1499
1500 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1501 (grub_linux_boot): Use linux_entry.
1502 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1503 (grub_linux_load64): Likewise.
1504
1505 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1508
1509 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1512 needlessly lose the console.
1513
1514 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1517 space.
1518
1519 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1522 than current grub_get_rtc() not implemented when booted with
1523 coreboot without TSC.
1524
1525 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1526 Add machine/time.h to kernel headers on loongson.
1527 * grub-core/Makefile.core.def (kernel): Remove
1528 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1529 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1530 (grub_get_rtc): Likewise.
1531 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1532 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1533 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1534 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1535 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1536 rather than installing known non-working time source.
1537 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1538 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1539 * include/grub/time.h: Don't include machine/time.h.
1540 * include/grub/efi/time.h: Removed.
1541 * include/grub/i386/efi/time.h: Likewise.
1542 * include/grub/i386/ieee1275/time.h: Likewise.
1543 * include/grub/powerpc/ieee1275/time.h: Likewise.
1544 * include/grub/sparc64/ieee1275/time.h: Likewise.
1545 * include/grub/x86_64/efi/time.h: Likewise.
1546
1547 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Remove dot on i and j when combining with above diacritics.
1550
1551 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1552 value.
1553 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1554 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1555 with dotless variants when any combining above is present.
1556
1557 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1560 text and not binary.
1561
1562 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Stop polling as soon as we have the packet we were waiting for.
1565
1566 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1567 All users updated.
1568 * grub-core/net/arp.c (have_pending): New var.
1569 (pending_req): Likewise.
1570 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1571 stop indicator.
1572 (grub_net_arp_receive): Set have_pending.
1573 * grub-core/net/dns.c (recv_data): New field stop.
1574 (recv_hook): Set stop.
1575 (grub_net_dns_lookup): Init stop and use as stop condition.
1576 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1577 condition.
1578 * grub-core/net/net.c (grub_net_poll_cards): New argument
1579 stop_condition. Stop when it goes true.
1580 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1581 indicator.
1582 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1583
1584 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 Keep TX and RX buffers on EFI rather than always allocate new ones.
1587
1588 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1589 card. All users updated.
1590 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1591 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1592 (get_card_packet): Likewise.
1593 (grub_efinet_findcards): Init new fields.
1594
1595 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1598 compilation error on sparc64.
1599
1600 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 Use ITC on IA64 rather than broken routine based on daytime.
1603
1604 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1605 ia64.
1606 (grub_get_rtc) [__ia64__]: Likewise.
1607 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1608 (get_itc): New function.
1609 (grub_rtc_get_time_ms): Likewise.
1610 (grub_machine_init): Calibrate ITC.
1611 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1612 Keep only on non-ia64. Don't export since it's broken and used only
1613 if TSC is unavailable.
1614
1615 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1618 even if it's used.
1619 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1620 Skip if parent is unused.
1621
1622 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1625
1626 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 Fix wildcard escaping.
1629
1630 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1631 * grub-core/script/execute.c (wildcard_escape): .. to here.
1632 Don't escape dot.
1633 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1634 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1635 Don't escape dot.
1636 * grub-core/script/execute.c (gettext_append): Always escape.
1637 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1638 * grub-core/script/yylex.l: Don't cut away the escaping.
1639 * tests/grub_script_echo1.in: Add tests with wildcard.
1640
1641 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1644 (ftdi_hw_configure): Likewise.
1645 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1646 define.
1647 (real_config): Handle 1.5 stop bits.
1648 (pl2303_hw_configure): Likewise.
1649
1650 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * Makefile.am: Add ppc linux bootcheck.
1653 * grub-core/tests/boot/linux-ppc.cfg: New file.
1654 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1655
1656 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * tests/grub_script_expansion.in: Skip network protocols.
1659
1660 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1663
1664 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1667 --rom-directory.
1668 Add -graft-points.
1669
1670 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 ESCC serial driver for conducting sautomated tests in qemu.
1673 Not tested on real hardware.
1674
1675 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1676 * grub-core/term/ieee1275/escc.c: New file.
1677 * grub-core/Makefile.core.def (escc): New module.
1678
1679 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1682 invalid on error.
1683 (serial_hw_fetch): Don't read invalid handle.
1684 (serial_hw_put): Don't write into invalid handle.
1685
1686 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 Add a 1.5 stop bits value.
1689
1690 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1691 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1692 GRUB_SERIAL_STOP_BITS_1_5.
1693
1694 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1697 value rather than let it uninited.
1698
1699 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/commands/wildcard.c (+check_file): New function.
1702 (wildcard_expand): Don't expand to non-existing files, expand with
1703 suffix and not attempt to expand if not needed.
1704
1705 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1708 out of partitions containing other partitions.
1709
1710 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1713 on some qemu versions with GRUB.
1714
1715 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1716 define.
1717 (grub_openbsd_bootarg_pcibios): New struct.
1718 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1719 Add PCIINFO.
1720
1721 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * tests/util/grub-shell.in: Trim firmware output on EFI.
1724
1725 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1728 and coreboot since it's already in kernel.
1729
1730 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1733 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1734 to here. New return value start. All users updated.
1735 Recursively scan linear mappings.
1736 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1737 proto.
1738 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1739 Use grub_util_get_dm_node_linear_info.
1740 * util/getroot.c (convert_system_partition_to_system_disk): Use
1741 grub_util_info rather than grub_dprintf.
1742 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1743
1744 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1747
1748 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1749 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1750
1751 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * include/grub/types.h (grub_set_unaligned64): New function.
1754 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1755 (setup): Likewise.
1756
1757 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1760 (grub_ofdisk_fini): Quiesce USB devices.
1761
1762 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1765 caches.
1766
1767 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1770
1771 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/disk/pata.c (grub_pata_pio_read)
1774 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1775 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1776
1777 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 Extend automated tests to qemu-mips.
1780
1781 * Makefile.am: reorganise tests and enable qemu-mips.
1782 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1783 * grub-core/tests/boot/linux.init-mips.S: New file.
1784 * tests/partmap_test.in: Handle ata0 disks.
1785 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1786 non-pc i386.
1787
1788 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1791 ia64.
1792 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1793 quotes while on it.
1794
1795 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1798 (grub_halt): Likewise.
1799 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1800
1801 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/term/serial.c (grub_serial_register)
1804 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1805 the behaviour in line with x86 platforms.
1806
1807 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1810 (grub_ata_strncpy): Likewise.
1811 (grub_ata_identify): Add missing byteswaps.
1812
1813 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1816 byte-swap.
1817 (screen_read_char): Likewise.
1818 (grub_vga_text_cls): Likewise.
1819
1820 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1823 filenames.
1824 (make_file_path): Likewise.
1825
1826 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1829 machines.
1830 Tested by: Paulo Flabiano Smorigo.
1831 Crucial information about API supplied by: Coleen <Last name unknown>.
1832 Reviewed by: Coleen <Last name unknown>.
1833
1834 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * util/grub-mkimage.c: Disable -Wcast-align.
1837
1838 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1841 as they are fatal.
1842
1843 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1846
1847 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * util/grub-probe.c (escape_of_path): Fix double free.
1850
1851 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/commands/videoinfo.c (hook): Show pitch.
1854
1855 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1858
1859 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1862 (probe): Add ieee1275 to OFW devices.
1863
1864 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1867
1868 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Handle IBM OFW path.
1871
1872 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1873 available.
1874 (of_path_of_scsi): Handle vdevice.
1875
1876 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1879 Allocate in multiples of 16 to avoid adding a few bytes free region the
1880 windows bugs upon.
1881
1882 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1885 Allocate in multiples of 16 to avoid adding a few bytes free region the
1886 windows bugs upon.
1887 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1888
1889 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1892 resolutions.
1893 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1894 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1895
1896 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1897
1898 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1899
1900 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1903 resulted in \\ at the end of the line.
1904
1905 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1908 (grub_parser_cmdline_state): Likewise.
1909 (grub_parser_split_cmdline): Likewise.
1910
1911 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1914 /dev/root and /dev/dm-*.
1915
1916 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1919 fix partially stale display.
1920
1921 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1924 substraction.
1925
1926 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1929 Fix MBR remapping workaround.
1930 (grub_util_biosdisk_read) [__linux__]: Likewise.
1931
1932 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1935
1936 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * configure.ac: Bump to beta6.
1939
1940 2012-05-31 Christer Weinigel <christer@weinigel.se>
1941
1942 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1943
1944 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1947 (grub_cmd_linux): Likewise.
1948
1949 2012-05-31 Christer Weinigel <christer@weinigel.se>
1950
1951 Fix EHCI low-speed.
1952
1953 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1954 (GRUB_EHCI_MULT_TWO): Likewise.
1955 (GRUB_EHCI_MULT_THREE): Likewise.
1956 (GRUB_EHCI_CMASK_MASK): New enum value.
1957 (GRUB_EHCI_SMASK_MASK): Likewise.
1958 (GRUB_EHCI_CMASK_OFF): Likewise.
1959 (GRUB_EHCI_SMASK_OFF): Likewise.
1960 (grub_ehci_pci_iter): Enable periodic schedule.
1961 (grub_ehci_parse_notrun): Likewise.
1962 (grub_ehci_restore_hw): Likewise.
1963 (grub_ehci_setup_qh): Set flags for low speed transfers.
1964 (grub_ehci_find_qh): Use periodic list for low speed.
1965 (grub_ehci_setup_transfer): Check periodic queue as well.
1966 (grub_ehci_check_transfer): Likewise.
1967 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1968
1969 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1970
1971 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1972 parameter is used.
1973
1974 2012-05-31 Peter Jones <pjones@redhat.com>
1975
1976 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1977 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1978 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1979
1980 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1983 uninited variable. Allocate at least setup_sects.
1984
1985 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Fix handling of EFI with big memory maps.
1988
1989 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1990 (real_mode_mem): Likewise.
1991 (real_mode_target): Likewise.
1992 (real_mode_pages): Likewise.
1993 (prot_mode_pages): Likewise.
1994 (linux_params): New var.
1995 (linux_cmdline): Likewise.
1996 (free_pages): Don't set real mode variables.
1997 (allocate_pages): Don't allocate real mode memory.
1998 (grub_e820_add_region): Remove the limit.
1999 (grub_linux_boot): Allocate and copy real mode memory.
2000 (grub_linux_unload): Free linux_cmdline.
2001 (grub_cmd_linux): Use temporary storage for parameters.
2002 (grub_cmd_initrd): Likewise.
2003 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2004 (linux_kernel_params): Make it 1K big.
2005
2006 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * Makefile.util.def: Remove -Wno-format.
2009 * grub-core/Makefile.core.def: Likewise.
2010
2011 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * tests/cmp_unit_test.c: Add missing failure message.
2014 * tests/example_unit_test.c: Likewise.
2015 * tests/printf_unit_test.c: Likewise.
2016
2017 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2020 relaxation of protective MBR requirements.
2021
2022 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * configure.ac: Add condition for COND_HOST_XNU.
2025 * Makefile.util.def (10_xnu): New script.
2026 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2027
2028 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2031 objconv bug.
2032
2033 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2036 Binary on other platforms stays identical.
2037
2038 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2041 Apple.
2042
2043 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2046
2047 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2050 rather than defining size_t ourselves to avoid conflict.
2051
2052 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2055 initialisation to avoid __bzero reference.
2056
2057 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2060 version.
2061 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2062 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2063 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2064 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2065 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2066
2067 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2070 * grub-core/kern/misc.c: Likewise.
2071 * grub-core/loader/i386/xnu.c: Likewise.
2072 * include/grub/i386/tsc.h: Likewise.
2073 * include/grub/symbol.h: Likewise.
2074
2075 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2078 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2079 on older compiler.
2080
2081 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2084 Implement Apple flavour.
2085 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2086
2087 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2090 (memmove) [__APPLE__]: Likewise.
2091 (memcpy) [__APPLE__]: Likewise.
2092 (memset) [__APPLE__]: Likewise.
2093 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2094 (memmove) [__APPLE__]: Likewise.
2095 (memcpy) [__APPLE__]: Likewise.
2096 (memset) [__APPLE__]: Likewise.
2097
2098 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2101 dependency discard.
2102
2103 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/normal/main.c (read_config_file): Provide config_file and
2106 config_directory.
2107 * util/grub.d/41_custom.in: Use config_directoy when available.
2108
2109 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2112 (grub_bfs_dir): Likewise.
2113
2114 2012-05-27 Peter Jones <pjones@redhat.com>
2115
2116 The old code gives arguments to a printf function which can't work
2117 correctly, and the compiler complains.
2118
2119 * grub-core/tests/example_functional_test.c (example_test): Add
2120 missing text.
2121 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2122 * include/grub/test.h (grub_test_assert_helper): New declaration.
2123 (grub_test_assert): Use grub_test_assert_helper.
2124
2125 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2128 (exfctest): ... this to avoid overlong filenames.
2129 All users updated.
2130
2131 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 Handle "." and ".." on squashfs.
2134
2135 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2136 Make inode numbers into stack.
2137 (grub_squash_read_symlink): Use stack.
2138 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2139 (make_root_node): Fill stack.
2140 (grub_squash_open): Use stack.
2141
2142 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2145 freeing.
2146
2147 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2150 stderr on test calls.
2151
2152 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2155
2156 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2159
2160 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2163 "..".
2164
2165 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2168 (grub_hfsplus_iterate_dir): Add "." and "..".
2169
2170 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2173 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2174
2175 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2178 (find_path): Handle "." and "..".
2179
2180 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2183 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2184 (grub_affs_iterate_dir): Handle hardlinks.
2185
2186 2012-05-26 Matthew Garrett <mjg@redhat.com>
2187
2188 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2189 (grub_efi_console_fini): Likewise.
2190 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2191 (grub_video_gop_fill_mode_info): Rename to ...
2192 (grub_video_gop_fill_real_mode_info): ... this.
2193 (grub_video_gop_fill_mode_info): New function.
2194 (grub_video_gop_setup): Setup double framebuffer.
2195 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2196 Free offscreen.
2197 (grub_video_gop_swap_buffers): Copy framebuffer.
2198 (grub_video_gop_fini): Free offscreen buffer.
2199 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2200 New enum.
2201 (grub_efi_gop_blt_pixel): New struct.
2202
2203 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * gentpl.py: Remove error disabling for objconv.
2206
2207 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * configure.ac: Remove -Wunitialized as it's not available on older
2210 compilers.
2211
2212 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 Fix extent overflow comparator.
2215
2216 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2217 (grub_hfsplus_read_block): Set type.
2218 (grub_hfsplus_cmp_extkey): Compare type.
2219
2220 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2223
2224 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2227 than 0.
2228
2229 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2232 (dejavu_bold_14.pf2): New target.
2233
2234 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * configure.ac: Fix djvu font detection.
2237
2238 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2241 ext* instead of ext2.
2242
2243 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2246 name with \0.
2247
2248 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2249
2250 * docs/grub-dev.texi: Remove dot from .png.
2251
2252 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2255 protective entry in any slot.
2256 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2257 if protective entry is found in any slot.
2258
2259 Protective entry in non-first slot make no sense but is a widespread
2260 brain damage.
2261
2262 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2265
2266 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2269 with old reiserfs.
2270 (grub_reiserfs_open): Don't free root.
2271
2272 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2275 after freeing for safety.
2276
2277 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2280 Reported by: Jordan Uggla.
2281
2282 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2283
2284 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2285 actual implementation. Specifically, clarify that the grub menu will
2286 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2287 passed.
2288
2289 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2290
2291 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2292 of r0.
2293
2294 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Remove unjustified hard dependency of normal.mod on gfxterm.
2297
2298 * include/grub/term.h (grub_term_output): New member fullscreen.
2299 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2300 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2301 (grub_gfxterm): Set .fullscreen.
2302 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2303 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2304
2305 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2308 mentioning possible problems with non-ASCII (non-compliant) ISOs.
2309 Mention case-insensitive AFFS, SFS and JFS.
2310
2311 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2314
2315 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2318 a bad FS.
2319
2320 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2323 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2324
2325 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2328 (grub_jfs_mount): Fill caseins.
2329 (grub_jfs_find_file): Respect caseins.
2330
2331 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2334 through UTF-16.
2335
2336 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2339 New argument origpath. All users updated.
2340
2341 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2344 (read_attr): Ensure that we read start of possibly compressed block.
2345
2346 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2349 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2350 All users updated.
2351
2352 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2355 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2356 (dejavu.pf2): Replace with ...
2357 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2358 this.
2359
2360 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * util/grub.d/20_linux_xen.in: Add missing line.
2363
2364 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2367 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2368 (grub_utf16_to_utf8): Likewise.
2369
2370 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2373 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2374 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2375 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2376 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2377 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2378
2379 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2382 a bad FS.
2383
2384 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2387 (grub_udf_read_symlink): Handle read_string failure.
2388
2389 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2392 comment.
2393
2394 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 Fix handling of UDF symlinks.
2397
2398 * grub-core/fs/udf.c (read_string): New argument outbuf.
2399 All users updated.
2400 (grub_ufs_read_symlink): Rename to ...
2401 (grub_udf_read_symlink): ... this. All users updated.
2402 Handle symlinks with more than one component.
2403
2404 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2407 symlinks. Replace leading colon with a slash.
2408
2409 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2412 filename.
2413
2414 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2417 match in inner node.
2418
2419 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2422 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2423 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2424 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2425 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2426 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2427 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2428 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2429 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2430
2431 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Use grub-probe and not cmp to check that disk is empty.
2434
2435 * util/grub-install.in: Use grub-probe for zero-check.
2436 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2437 (probe): Handle PRINT_ZERO_CHECK.
2438 (argp_parser): Handle -t zero_check.
2439
2440 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 Flush block cache on adding disk to device map.
2443
2444 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2445 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2446 adding.
2447 (read_device_map): Likewise.
2448 (open_device): Flush on opening.
2449
2450 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2453 (handle_symlink): Fix off-by-one error.
2454 Canonicalize the target.
2455 (grub_cpio_dir): Canonicalize the name.
2456 Fix memory leak.
2457 Set directory.
2458 (grub_cpio_open): Canonicalize the name.
2459
2460 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2463 handling.
2464
2465 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2468 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2469
2470 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2473 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
2474 All users updated.
2475
2476 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2479 counterpart.
2480
2481 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 Fix UFS1 big file support.
2484
2485 * grub-core/fs/ufs.c (INODE): Removed.
2486 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2487 64-bit.
2488 (INODE_MODE): Simplify.
2489 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2490 (grub_ufs_lookup_symlink): Don't use INODE.
2491
2492 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2495
2496 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2497 (grub_minix_data): Replace log_block_size with block_size.
2498 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2499 (grub_minix_mount): Fill block_size.
2500
2501 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * configure.ac: Bump to beta5.
2504
2505 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Fix wrapped HFS+ handling.
2508
2509 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2510 blocks_start. All users updated.
2511 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2512 wrapping offset.
2513 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2514
2515 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Fix long symlinks on reiserfs.
2518
2519 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2520 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2521 (grub_reiserfs_iterate_dir): Save size for non-directories.
2522 (grub_reiserfs_open): Don't reread stat block as we already know the
2523 size.
2524 (grub_reiserfs_read): Split into...
2525 (grub_reiserfs_read_real): ... and ...
2526 (grub_reiserfs_read): ...this.
2527
2528 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Fix non-indexed JFS.
2531
2532 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2533 (grub_jfs_data): New field namecomponentlen.
2534 (grub_jfs_mount): Fill namecomponentlen.
2535 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2536
2537 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2540 * tests/grub_script_echo1.in: Add tests.
2541
2542 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * util/grub-install.in: Ignore empty devicetree directory.
2545
2546 2012-05-08 Bean <bean123ch@gmail.com>
2547
2548 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2549 All users updated.
2550 (free_rsm): Free header as well.
2551 (free_old_fragments): Fix memory leak.
2552 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2553 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2554 (destroy_pq): Likewise.
2555 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2556
2557 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2560 resulting hash as a precaution.
2561
2562 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2565 '_' in variable names.
2566 * grub-core/net/net.c (grub_net_network_level_interface_register):
2567 Likewise.
2568
2569 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Fix AFFS with non-512B blocks.
2572
2573 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2574 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2575 (grub_affs_data): Replace blocksize with log_blocksize.
2576 (grub_affs_read_block): Fix non-512B blocks.
2577 (grub_affs_read_symlink): Likewise.
2578 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2579 (grub_affs_read): Fix non-512B blocks.
2580 (grub_affs_label): Likewise.
2581 (grub_affs_mtime): Likewise.
2582 (grub_affs_mount): Fix block detection routine.
2583
2584 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 Add filesystem mtime to AFFS.
2587
2588 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2589 (aftime2ctime): New function.
2590 (grub_affs_dir): Use aftime2ctime.
2591 (grub_affs_label): Fix return value.
2592 (grub_affs_mtime): New function.
2593 (grub_affs_fs): Add mtime.
2594
2595 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2598 UTF-8.
2599
2600 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2603 UTF-8.
2604
2605 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2608
2609 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2612 flags.
2613 (FLAGS_CASE_SENSITIVE): New enum value.
2614 (cache_entry): New struct.
2615 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2616 cache_size and cache.
2617 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2618 Add log_blocksize and fshelp_flags.
2619 (grub_sfs_read_extent): Handle non-512 blocks.
2620 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2621 (grub_sfs_read_file): Handle non-512 blocks.
2622 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2623 fshelp_flags.
2624 (grub_sfs_read_symlink): Handle non-512 blocks.
2625 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2626 (grub_sfs_dir): Free cache.
2627 (grub_sfs_close): Likewise.
2628
2629 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2632 filesystems.
2633
2634 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2637
2638 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2641
2642 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2645 (grub_sfs_read_extent): Likewise.
2646 (grub_sfs_read_block): Likewise.
2647 (grub_sfs_mount): Likewise.
2648 (grub_sfs_iterate_dir): Likewise.
2649 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2650 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2651
2652 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Fix errors on compressed NTFS with 512B clusters.
2655
2656 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2657 types.
2658 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2659 not 0.
2660 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2661 Relax check for inline extents.
2662 (ntfscomp): Return correct -1 on error and not 0.
2663
2664 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * util/grub-install.in: Fix handling of prefix containing spaces.
2667
2668 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2671 (grub_squash_read_data): Fix offset byte-swapping.
2672
2673 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2676 per common usage and preffered in several parts of code.
2677 (grub_memcmp): Likewise.
2678 (grub_strncmp): Likewise.
2679 * include/grub/misc.h (grub_strcasecmp): Likewise.
2680 (grub_strncasecmp): Likewise.
2681 * Makefile.util.def (cmp_test): New test.
2682 (grub_script_strcmp): Likewise.
2683 * tests/cmp_unit_test.c: New file.
2684 * tests/grub_script_strcmp.in: Likewise.
2685 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2686
2687 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * include/grub/pci.h: Move enums into no-asm part.
2690
2691 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2694
2695 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2696
2697 * util/getroot.c (find_hurd_root_device): Try to make error message
2698 and comments to translators clearer.
2699
2700 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2703
2704 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2707 btrfs.
2708
2709 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * docs/grub.cfg: Update.
2712
2713 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * docs/grub.texi (PXE): Remove not present variables.
2716
2717 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/net/net.c (defserver_set_env): New function.
2720 (defserver_get_env): Likewise.
2721 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2722
2723 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2726 entries.
2727
2728 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2731 * grub-core/kern/emu/hostdisk.c: Likewise.
2732
2733 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2734
2735 Handle hurd userspace partitions.
2736
2737 * util/getroot.c (find_hurd_root_device): New function.
2738 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2739
2740 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2743 names.
2744 Reported by: Bastian Blank.
2745
2746 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2749 crossing page boundary.
2750
2751 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Fix B-tree search in BFS, especially in presence of non-ASCII
2754 characters.
2755
2756 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2757 (find_in_b_tree): Use standard bsearch + btree algorithm.
2758
2759 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2762 and so on.
2763
2764 2012-05-03 Matthew Garrett <mjg@redhat.com>
2765 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 Suspend broadcom cards in order to stop their DMA.
2768
2769 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2770 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2771 (pci): Don't build on x86 EFI.
2772 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2773 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2774 New function.
2775 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2776 stop_broadcom if running on EFI.
2777 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2778 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2779 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2780 (grub_pci_find_capability): New proto.
2781
2782 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * docs/grub.texi: Remove dot from the extension as it apparently
2785 doesn't work with some makeinfo versions.
2786
2787 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2790 with GRUB expectance.
2791
2792 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2795
2796 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2799 zero after directory block since last entry may be not 0-terminated if
2800 it ends on block boundary. Use continue instead of if spanning whole
2801 loop.
2802
2803 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 Support 4K sectors UDF inline files.
2806
2807 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2808 (grub_udf_extended_file_entry): Likewise.
2809 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2810 All users updated.
2811 (get_fshelp_size): New function.
2812 (grub_udf_read_icb): Read whole block.
2813 (grub_udf_iterate_dir): Likewise.
2814 (grub_udf_dir): Likewise.
2815 (grub_udf_open): Likewise.
2816
2817 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2820
2821 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2824 inline symlinks in addition to workaround.
2825
2826 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2829
2830 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2833
2834 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2837
2838 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 Fix reiserfs big seek times.
2841
2842 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2843 exact. All users updated.
2844 (grub_reiserfs_read): Use nearest btree search for seeking.
2845 Fix return value on error.
2846
2847 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2850 entries.
2851 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2852 * docs/grub.texi: Update menuentry description.
2853
2854 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2857 crash when embedding onto filesystem.
2858
2859 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2862 name.
2863
2864 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2867
2868 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2871 commit.
2872
2873 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2874 2012-05-01 Bean <bean123ch@gmail.com>
2875
2876 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2877
2878 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2881 Special behaviour for len = 0 to read whole file isn't used anywhere and
2882 can cause buffer ovewrflows in several places.
2883
2884 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2887
2888 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Handle RAIDZ on non-512B sectors.
2891
2892 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2893 max_children_ashift.
2894 (fill_vdev_info_real): Fill max_children_ashift.
2895 (read_device): Use max_children_ashift.
2896
2897 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2900
2901 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2904 disk names.
2905 * docs/grub.texi: Update device.map parts.
2906
2907 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 Don't scan into non-diskfilter devices having diskfilter names.
2910
2911 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2912 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2913 handling.
2914 (scan_disk_hook): New function.
2915
2916 2012-04-29 Bean <bean123ch@gmail.com>
2917
2918 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2919 allocation.
2920
2921 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2922
2923 * configure.ac: Detect starfield theme font path
2924 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2925
2926 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2929 geometry on serial consoles.
2930
2931 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2934 because of network consoles.
2935
2936 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2939 handling.
2940
2941 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2944 falls on Q syndrom.
2945
2946 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2949 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2950
2951 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2954 Allocate at lest 8192 for temporary buffer as required for lzo.
2955
2956 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2959 to cluster_bits, since it's already added in.
2960 (grub_fat_read_data): Likewise.
2961
2962 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2965 as long as cluster size is multiple of 512 bytes.
2966
2967 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/grub-mkrescue.in: Fix locale directory.
2970
2971 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/kern/emu/hostdisk.c (map): Make static.
2974
2975 2012-04-23 Bean <bean123ch@gmail.com>
2976
2977 * util/grub-fstest.c (fstest): Add missing break.
2978
2979 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2980
2981 Fix hurd build.
2982
2983 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2984 not define nr variable.
2985 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2986 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2987 grub_find_device): Do not define.
2988
2989 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 Fix kfreebsd compile and behaviour.
2992
2993 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2994 format-security.
2995 * util/getroot.c: Fix wait.h include.
2996 (grub_guess_root_devices): Error if grub_find_device fails.
2997 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2998 (grub_util_get_dev_abstraction): Likewise.
2999 (grub_util_pull_device): Likewise.
3000 (grub_util_get_grub_dev): Likewise.
3001 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3002
3003 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 Fix and unify wholedisk detection.
3006
3007 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3008 is_part. All users updated.
3009 (device_is_wholedisk): Removed.
3010 (grub_util_biosdisk_get_grub_dev): Use is_part.
3011
3012 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3015 mode.
3016
3017 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * configure.ac: Bump to beta4.
3020
3021 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3024 --fs-uuid --set UUID syntax.
3025
3026 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3029 disunification.
3030
3031 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3034
3035 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
3036
3037 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3038
3039 2012-04-18 Mike Gilbert <floppym@gentoo.org>
3040
3041 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3042
3043 2012-04-18 Bean <bean123ch@gmail.com>
3044
3045 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3046 place.
3047
3048 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3051 users updated.
3052 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3053 corresponding to GRUB partitions.
3054 (grub_util_biosdisk_write): Likewise.
3055
3056 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 Scan mdraid before LVM.
3059
3060 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3061 (grub_diskfilter_register_front): ... this.
3062 (grub_diskfilter_register_back): New function.
3063 All users of grub_diskfilter_register updated.
3064
3065 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * util/grub-install.in: Fix an automatic target detection bug.
3068
3069 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * util/grub-install.in: New option --efi-directory.
3072
3073 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3076 boot services if we have no other choice.
3077
3078 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3081 document it.
3082 * tests/util/grub-shell.in: Update to --directory.
3083
3084 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3087
3088 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3091 (grub_minix_read_file): Likewise.
3092 (grub_minix_read_inode): Likewise.
3093 (grub_minix_find_file): Likewise.
3094 (grub_minix_dir): Likewise.
3095
3096 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * util/grub-setup.c (setup): Fix partition handling and blocklist
3099 check.
3100
3101 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3104 redundant buggy overlap check.
3105
3106 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3109 and grub-mknetdir.
3110
3111 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3114 kh.loadflags on pre-2.00 kernels.
3115
3116 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 Terminate UNDI and PXE before launching the payload to avoid problems
3119 with DMA.
3120
3121 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3122 (grub_loader_flags): ... this. All users updated.
3123 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3124 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3125 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3126 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3127 function.
3128 (grub_pxe_restore): Likewise.
3129 (fini_hnd): New var.
3130 (GRUB_MOD_INIT): Register shutdown hook.
3131 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3132 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3133 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3134 (grub_loader_set): Rename second argument to flags.
3135
3136 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3139 written bytes.
3140 (grub_get_num_of_utf8_bytes): New function.
3141 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3142 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3143 executing it.
3144 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3145 (grub_ucs4_to_utf8): Change return type.
3146
3147 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3150 warning.
3151 * grub-core/fs/bfs.c (hop_level): Likewise.
3152 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
3153
3154 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/lib/adler32.c: Recode due to license unclearness.
3157
3158 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3161 (test_header): Likewise.
3162
3163 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 Fix --help formatting.
3166
3167 * util/grub-mkconfig_lib.in (print_option_help): New function.
3168 (grub_fmt): Likewise.
3169 * util/grub-install.in: Use print_option_help and grub_fmt.
3170 * util/grub-kbdcomp.in: Likewise.
3171 * util/grub-mkconfig.in: Likewise.
3172 * util/grub-mknetdir.in: Likewise.
3173 * util/grub-mkrescue.in: Likewise.
3174 * util/grub-mkstandalone.in: Likewise.
3175 * util/grub-reboot.in: Likewise.
3176 * util/grub-set-default.in: Likewise.
3177 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3178
3179 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * linguas.sh: Remove autogenerated *.po.
3182
3183 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * po/README: Move language fetcing to ...
3186 * linguas.sh: ... here.
3187 * po/README: Point to linguas.sh.
3188
3189 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * po/README: Exclude ko.po due to disclaimer problems.
3192
3193 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3196 len = 0.
3197 (grub_gettext_translate_real): Handle 0th string.
3198 (grub_gettext_translate): Ensure that "" isn't translated.
3199
3200 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3203 TRANSLATORS comment.
3204 (grub_diskfilter_print_partmap): Propagate changing of error into
3205 warning.
3206
3207 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3210 to uint64_t to prevent overflow.
3211 (grub_diskfilter_lv): Increase start_extent and extent_count
3212 to uint64_t to prevent overflow.
3213
3214 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * configure.ac: Increase version.
3217
3218 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3221
3222 * po/Rules-translit: New file.
3223 * po/arabic.sed: Likewise.
3224 * po/cyrillic.sed: Likewise.
3225 * po/greek.sed: Likewise.
3226 * po/hebrew.sed: Likewise.
3227 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3228 * po/Makefile.in.in: Add extra_dist4.
3229
3230 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3233
3234 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3235 modify names. Introduce MODE_BIGENDIAN.
3236 * grub-core/fs/minix_be.c: New file.
3237 * grub-core/fs/minix2_be.c: Likewise
3238 * grub-core/fs/minix3_be.c: Likewise.
3239 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3240 minix3_be.
3241 * grub-core/Makefile.core.def (minix_be): New module.
3242 (minix2_be): Likewise.
3243 (minix3_be): Likewise.
3244
3245 2012-04-01 Felix <email@hamburg.de>
3246
3247 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3248 (devs): Add MBP 2011.
3249
3250 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3253
3254 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/normal/cmdline.c (print_completion): New field
3257 prompt_len.
3258 (grub_cmdline_get): Handle width properly.
3259
3260 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3263
3264 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
3267 after 29th of February.
3268
3269 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Fix exfat endianness handling.
3272
3273 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3274 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3275 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3276 Byte-swap utf16 when necessary.
3277 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3278
3279 2012-03-31 Anton Blanchard <anton@samba.org>
3280 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 Fix btrfs endianness handling.
3283
3284 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3285 (lower_bound): Make root uint64_t. Use root in le.
3286 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3287 (find_path): Fix template key init.
3288 (grub_btrfs_dir): Fix mtime byteswap.
3289 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3290
3291 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3294 recursion_depth. Break infinite resursions. All users updated.
3295
3296 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3299 after free.
3300 Reported by: Peter Jones.
3301
3302 2012-03-31 Anton Blanchard <anton@samba.org>
3303
3304 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3305 8 bit values.
3306
3307 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * util/grub-install.in: Fix nvram call for PreP.
3310
3311 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3314 the error when some elements are missing into a warning.
3315
3316 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3319
3320 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
3321
3322 * docs/grub.texi (Invoking grub-probe): New section.
3323 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3324
3325 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 Fix tab and wide character handling in editor and menu.
3328
3329 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3330 agglomerate control characters with combining marks.
3331 (bidi_line_wrap): Allow break on tab.
3332 (grub_unicode_get_comb_start): New function.
3333 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3334 and tab correctly.
3335 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3336 with a space.
3337 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3338 fixed_tab_size. All users updated.
3339 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3340 (grub_term_getcharwidth): Handle \t.
3341 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3342 and copy.
3343
3344 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 Handle big-endian mdraid.
3347
3348 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3349 * grub-core/Makefile.core.def (mdraid09_be): New module.
3350 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3351 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3352 * grub-core/disk/mdraid_linux_be.c: New file.
3353
3354 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3357
3358 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3361 missing quotes which caused confusion among translators.
3362
3363 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * util/grub-mkconfig_lib.in: Fix typo.
3366
3367 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3370 spaces.
3371 * tests/grub_script_leading_whitespace.in: New file.
3372 * Makefile.util.def (grub_script_leading_whitespace): New test.
3373
3374 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3377 to work.
3378
3379 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3382 starts with control character.
3383
3384 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3387 overflow.
3388 (grub_gdb_outbuf): Likewise.
3389
3390 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3393 zero terminator. Fixes a crash.
3394
3395 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3398 beyond 4 GiB.
3399 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3400 images independently of preffered adderss field.
3401
3402 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3405 * grub-core/commands/regexp.c: Likewise.
3406 * grub-core/loader/i386/linux.c: Likewise.
3407 * grub-core/partmap/msdos.c: Likewise.
3408 * grub-core/script/execute.c: Likewise.
3409 * grub-core/term/gfxterm.c: Likewise.
3410
3411 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 Add variable parsing in $"..." and fix several mismatches with bash.
3414
3415 * Makefile.util.def (grub_script_gettext): New test.
3416 * grub-core/script/execute.c (parse_string): New function.
3417 (gettext_append): Likewise.
3418 (grub_script_arglist_to_argv): Use gettext_append.
3419 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3420 * tests/grub_script_gettext.in: New file.
3421
3422 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 Fix handling of leading spaces in scripts.
3425
3426 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3427 spaces.
3428 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3429 other than skipping \r. All users updated.
3430 * tests/grub_script_echo1.in: Add space-related tests.
3431 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3432
3433 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3436
3437 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * configure.ac: Bump up the version to beta2.
3440
3441 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 Fix gettext reload bugs (e.g. inability to disable gettext
3444 once enabled).
3445
3446 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3447 main_context and secondary_context. All functions updated.
3448 (grub_gettext_translate): Rename to ...
3449 (grub_gettext_translate_real): ... this. Return NULL on failed
3450 translate.
3451 (grub_gettext_translate): Handle secondary context.
3452 (grub_gettext_delete_list): Close file and zero-out the context.
3453 (grub_mofile_open): Don't call grub_gettext_delete_list.
3454 Don't close file.
3455 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3456 if locale="" to avoid pointless error message.
3457 (grub_gettext_env_write_lang): Update lang even if load fails.
3458 Handle secondary context.
3459 (grub_gettext_reread_prefix): New function.
3460 (read_main): Likewise.
3461 (read_secondary): Likewise.
3462 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3463 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3464 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3465 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3466
3467 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * configure.ac: Decrease warning level to avoid spurious warnings and
3470 to be able to compile with GCC 4.2.
3471 * Makefile.util.def: Remove -Wno-error=logical-op.
3472
3473 2012-03-10 William Bittner <william.bittner@gmail.com>
3474
3475 * util/import_unicode.py: Add missing brackets around string for
3476 python 3 support.
3477
3478 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 Fix efi chainloader on network root.
3481
3482 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3483 network devices.
3484 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3485 New function.
3486
3487 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3490 unused show_text member.
3491 * docs/grub.texi: Document "text" property.
3492
3493 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3496 in dprintf.
3497
3498 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 Fix IMSM handling on Fedora.
3501
3502 * util/getroot.c (grub_util_is_imsm): New function.
3503 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3504
3505 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * Makefile.am: Strip gold section.
3508 * conf/Makefile.common: Likewise.
3509 * gentpl.py: Likewise.
3510 * grub-core/Makefile.core.def: Likewise.
3511 * grub-core/genmod.sh.in: Likewise.
3512
3513 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3516 * util/grub.d/20_linux_xen.in: Likewise.
3517 Based on Debian patch.
3518
3519 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * util/grub.d/10_linux.in: Fix syntax error resulting in
3522 Richard Laager's patch.
3523 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3524
3525 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3528 dependencies.
3529
3530 2012-03-10 Richard Laager <rlaager@wiktel.com>
3531
3532 * util/grub.d/10_linux.in: Fix ZFS root passing.
3533
3534 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3537 * grub-core/commands/xnu_uuid.c: Likewise.
3538 * grub-core/loader/efi/appleloader.c: Likewise.
3539 * grub-core/script/execute.c: Likewise.
3540 * grub-core/script/main.c: Likewise.
3541 * util/grub-mkfont.c: Likewise.
3542
3543 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * util/grub-mkfont.c (options): Use more appropriate "select" that
3546 "set" for face index.
3547
3548 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * util/grub-editenv.c (options): Gettextize command summaries.
3551
3552 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3555 "out of memory" error messagge.
3556
3557 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3560 of diskfilter for diskfilter on diskfilter support.
3561
3562 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3565
3566 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3569 themes/starfield.
3570
3571 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3574
3575 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3578
3579 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3582 of error message.
3583
3584 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3587
3588 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3591 message.
3592 * util/grub-install.in: Fix and gettextize error message.
3593
3594 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3597 Gettextize.
3598 * util/grub-mount.c (options): Likewise.
3599
3600 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3603 gettextize.
3604 * grub-core/commands/search_wrap.c (options): Likewise.
3605
3606 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3609
3610 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3613 size calculation.
3614 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3615 none is known.
3616
3617 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3620 "temporary" since it's used in identifier and is limited in space.
3621
3622 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * po/POTFILES.in: Regenerate. Include *.h since they contain
3625 translatable strings as well.
3626
3627 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3630 byte-swap on big-endian.
3631 Reported by: Lennart Sorensen
3632
3633 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3636 (allocate_pages): Improve dprintf.
3637 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3638 code32_start. Fill code32_start and kernel_alignment in params.
3639 (grub_cmd_initrd): Use prot_init_space.
3640
3641 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3644
3645 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * util/grub-install.in: Add missing dot at the end of sentence.
3648
3649 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3652 * grub-core/commands/videotest.c: Likewise.
3653 * grub-core/loader/i386/linux.c: Likewise.
3654
3655 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3658 sentence.
3659 Reported by: Milo Casagrande.
3660
3661 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3664 * grub-core/commands/gptsync.c: Likewise.
3665 * grub-core/commands/hashsum.c: Likewise.
3666 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3667 * grub-core/commands/legacycfg.c: Likewise.
3668 * grub-core/io/gzio.c: Likewise.
3669 * grub-core/net/net.c: Likewise.
3670 * grub-core/term/gfxterm.c: Likewise.
3671 * grub-core/term/terminfo.c: Likewise.
3672 * grub-core/tests/test_blockarg.c: Likewise.
3673 * grub-core/video/video.c: Likewise.
3674 * util/grub-install.in: Likewise.
3675 * util/grub-mkfont.c: Likewise.
3676
3677 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3680
3681 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/commands/search_wrap.c (options): Fix a typo.
3684 Reported by: David Prévot.
3685
3686 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3689 description.
3690
3691 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * util/grub-script-check.c (main): Fix a syntax error message which was
3694 unclear.
3695
3696 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3699
3700 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3703 messages.
3704
3705 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3708 without argument.
3709 * util/grub-mount.c (options): Likewise.
3710
3711 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3714
3715 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/net/http.c: Add TRANSLATORS comments.
3718 * grub-core/normal/cmdline.c: Likewise.
3719 * grub-core/normal/misc.c: Likewise.
3720 * grub-core/partmap/msdos.c: Likewise.
3721 * grub-core/parttool/msdospart.c: Likewise.
3722 * grub-core/script/execute.c: Likewise.
3723 * grub-core/script/main.c: Likewise.
3724 * grub-core/term/terminfo.c: Likewise.
3725 * grub-core/video/bitmap.c: Likewise.
3726 * util/grub-install.in: Likewise.
3727 * util/grub-mkimage.c: Likewise.
3728 * util/grub-mklayout.c: Likewise.
3729 * util/grub-setup.c: Likewise.
3730
3731 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3734 with similar messages in grub-fstest.
3735
3736 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * util/grub-install.in: Unify "option requires an argument" message
3739 with similar messages in other files.
3740 * util/grub-mkconfig.in: Likewise.
3741
3742 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * util/grub-set-default.in: Replace printf with gettext_printf (the
3745 string in in question is already translated from grub-reboot)
3746
3747 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * configure.ac: Bump up the version to beta1.
3750
3751 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3754 case when min_align = 0.
3755
3756 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3759 and fix a case when line_start overflows.
3760
3761 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * util/grub-reboot.in (usage): Mention id posibility.
3764 * util/grub-set-default.in (usage): Likewise.
3765
3766 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3769 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3770 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3771 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3772 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3773 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3774 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3775
3776 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/commands/menuentry.c (options): Remove
3779 GRUB_ARG_OPTION_REPEATABLE.
3780 Reported by: Andreas Vogel
3781
3782 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3783
3784 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3785
3786 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3787
3788 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3789 error.
3790
3791 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 Use sort -V by the idea of Georgi Georgiev.
3794
3795 * util/grub-mkconfig_lib.in (version_sort): New function.
3796 (version_test_numeric): Use version_sort.
3797
3798 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Use submenus in grub-mkconfig.
3801
3802 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3803 * util/grub-mkconfig_lib.in (grub_quote): New function.
3804 (gettext_printf): Use gettext and not gettext_quoted to fix several
3805 messages.
3806 * util/grub.d/10_hurd.in: Use submenus.
3807 * util/grub.d/10_kfreebsd.in: Likewise.
3808 * util/grub.d/10_linux.in: Likewise.
3809 * util/grub.d/10_netbsd.in: Likewise.
3810 * util/grub.d/20_linux_xen.in: Likewise.
3811 * util/grub.d/30_os-prober.in: Likewise.
3812 * util/grub.d/10_illumos.in: Add missing quoting.
3813 * util/grub.d/10_windows.in: Likewise.
3814
3815 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 Fix menu title instability bug.
3818
3819 * grub-core/commands/menuentry.c (options): New option --id.
3820 (grub_normal_add_menu_entry): New argument id. All users updated.
3821 (grub_cmd_menuentry): Handle --id.
3822 (grub_menu_init): Accept unknown arguments.
3823 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3824 feature_menuentry_options.
3825 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3826 saved_entry.
3827 (get_entry_number): Match with id as well.
3828 * include/grub/menu.h (grub_menu_entry): New member id.
3829 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3830 * util/grub.d/00_header.in: Define menuentry_id_option.
3831 * util/grub.d/10_hurd.in: Define id.
3832 * util/grub.d/10_illumos.in: Likewise.
3833 * util/grub.d/10_kfreebsd.in: Likewise.
3834 * util/grub.d/10_linux.in: Likewise.
3835 * util/grub.d/10_netbsd.in: Likewise.
3836 * util/grub.d/10_windows.in: Likewise.
3837 * util/grub.d/20_linux_xen.in: Likewise.
3838 * util/grub.d/30_os-prober.in: Likewise.
3839
3840 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3843 "scope" with "body".
3844
3845 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3848 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3849 prot_size and prot_file_size.
3850
3851 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3854 All users updated. If easily=1 require raid-5/-6 to be full.
3855 (is_node_readable): Likewise.
3856 (scan_devices): Scan incomplete but readable LVs at the end.
3857 (grub_diskfilter_memberlist): Pull missing devices.
3858 (insert_array): Skip scanning until device is complete or scan is
3859 done otherwise.
3860 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3861 check.
3862 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3863 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3864
3865 2012-03-03 Matthew Garrett <mjg@redhat.com>
3866 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 Avoid EFI boot services when loading Linux.
3869
3870 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3871 avoid_efi_bootservices. All users updated.
3872 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3873 argument avoid_efi_bootservices. All users updated.
3874 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3875 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3876 align, min_align, relocatable, prefered_address. All users updated.
3877 Allocate avoiding boot services if kernel is relocatable.
3878 (grub_cmd_linux): Check if kernel is relocatable.
3879 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3880 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3881 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3882 avoid_efi_boot_services.
3883 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3884 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3885 (linux_kernel_params): Likewise.
3886
3887 2012-03-03 Matthew Garrett <mjg@redhat.com>
3888 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Use EDID on EFI.
3891
3892 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3893 datasize_out.
3894 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3895 modes. Set gop_handle.
3896 (grub_video_gop_get_edid): New function.
3897 (grub_gop_get_preferred_mode): Likewise.
3898 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3899 (grub_video_efi_gop_adapter): Set .get_edid.
3900 * include/grub/efi/edid.h: New file.
3901 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3902
3903 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * util/grub-install.in: Load efivars unconditionally.
3906
3907 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * po/Rules-piglatin: Change suffix from .po-update-en to
3910 .po-update-en-piglatin.
3911
3912 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Add a pig farm.
3915
3916 * po/piglatin.sed: New file.
3917 * po/en@piglatin.header: Likewise.
3918 * po/Rules-piglatin: Likewise.
3919 * po/README: Add en@piglatin to autogenerated languages.
3920
3921 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3924 "Command for ...".
3925 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3926 "Check" since we don't check anything.
3927 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3928 is 64-bit one.
3929 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3930 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3931 (grub_md_sha512_real): Likewise.
3932
3933 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/commands/gptsync.c: Fix typographic quoting.
3936 * grub-core/commands/ieee1275/suspend.c: Likewise.
3937 * grub-core/commands/parttool.c: Likewise.
3938 * grub-core/commands/search_wrap.c: Likewise.
3939 * grub-core/commands/videoinfo.c: Likewise.
3940 * grub-core/gfxmenu/gui_label.c: Likewise.
3941 * grub-core/hello/hello.c: Likewise.
3942 * grub-core/kern/emu/main.c: Likewise.
3943 * grub-core/net/net.c: Likewise.
3944 * grub-core/normal/menu.c: Likewise.
3945 * grub-core/normal/menu_text.c: Likewise.
3946 * grub-core/normal/misc.c: Likewise.
3947 * util/grub-editenv.c: Likewise.
3948 * util/grub-install.in: Likewise.
3949 * util/grub-kbdcomp.in: Likewise.
3950 * util/grub-mkconfig.in: Likewise.
3951 * util/grub-mknetdir.in: Likewise.
3952 * util/grub-mkrescue.in: Likewise.
3953 * util/grub-mkstandalone.in: Likewise.
3954 * util/grub-reboot.in: Likewise.
3955 * util/grub-set-default.in: Likewise.
3956 * util/grub-setup.c: Likewise.
3957 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3958
3959 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3962 * grub-core/commands/keystatus.c: Likewise.
3963 * grub-core/commands/loadenv.c: Likewise.
3964 * grub-core/commands/probe.c: Likewise.
3965 * grub-core/commands/regexp.c: Likewise.
3966 * grub-core/commands/true.c: Likewise.
3967 * grub-core/commands/videoinfo.c: Likewise.
3968 * grub-core/disk/cryptodisk.c: Likewise.
3969 * grub-core/disk/ldm.c: Likewise.
3970 * grub-core/disk/loopback.c: Likewise.
3971 * grub-core/disk/luks.c: Likewise.
3972 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3973 * grub-core/kern/disk.c: Likewise.
3974 * grub-core/kern/emu/hostdisk.c: Likewise.
3975
3976 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3979 * util/grub-install.in: Add missing quote in the comment.
3980
3981 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3984 * grub-core/commands/lsmmap.c: Likewise.
3985 * grub-core/commands/minicmd.c: Likewise.
3986 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3987 * grub-core/commands/regexp.c: Likewise.
3988 * grub-core/gdb/gdb.c: Likewise.
3989 * grub-core/term/gfxterm.c: Likewise.
3990 * util/grub-mkconfig.in: Likewise.
3991 * util/grub-mkfont.c: Likewise.
3992 * util/grub-mklayout.c: Likewise.
3993 * util/grub-mknetdir.in: Likewise.
3994 * util/grub-mkrescue.in: Likewise.
3995 * util/grub.d/30_os-prober.in: Likewise.
3996
3997 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4000 with "Direct color" and "Packed" with "Packed pixel".
4001 (grub_cmd_videoinfo): Simplify legend.
4002
4003 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4006 absolutely unclear error message.
4007
4008 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * util/grub-mkstandalone.in: Remove confusing leftover print.
4011
4012 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4015 comments.
4016 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4017 (GRUB_MOD_INIT): Likewise.
4018 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4019 VGA mode.
4020 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4021 comments.
4022 * util/grub-install.in (usage): Likewise.
4023 Spell ID in whole letters.
4024 Add missing ending dot.
4025 Quote variables.
4026 * util/grub-reboot.in: Fix capitalisation.
4027 * util/grub-set-default.in: Likewise.
4028
4029 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4032 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4033 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4034 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4035 Disable -Werror for -Wdeprecated-declarations.
4036 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4037 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4038 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4039 (grub_util_get_grub_dev): Make luks handling dependent on
4040 HAVE_DEVICE_MAPPER and not __linux__.
4041 (get_win32_path): Fix format security.
4042 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4043 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4044 Don't try grub_find_zpool_from_dir.
4045 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4046 #ifdef-out paresdir.
4047
4048 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * util/grub-pe2elf.c (usage): Add missing noreturn.
4051 (write_section_data): Rename name to shname to avoid shadowing.
4052 (write_symbol_table): Rename name to symname to avoid shadowing.
4053 Fix write_reloc_section call.
4054
4055 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4058 to ensure that it's after the last byte of .text.
4059
4060 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * util/ieee1275/ofpath.c (my_isdigit): New function.
4063 (trailing_digits): Use my_isdigit.
4064 (strip_trailing_digits): Likewise.
4065
4066 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4069 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4070
4071 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/kern/i386/pc/startup.S: Define __start.
4074
4075 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4078 strip already transforms he format.
4079
4080 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4083
4084 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * util/grub-install.in: Add missing gettext init.
4087 * util/grub-kbdcomp.in: Likewise.
4088 * util/grub-mkconfig.in: Likewise.
4089 * util/grub-mknetdir.in: Likewise.
4090 * util/grub-mkrescue.in: Likewise.
4091 * util/grub-mkstandalone.in: Likewise.
4092 * util/grub-reboot.in: Likewise.
4093 * util/grub-set-default.in: Likewise.
4094 * util/grub.d/00_header.in: Likewise.
4095 * util/grub.d/10_hurd.in: Likewise.
4096 * util/grub.d/10_windows.in: Likewise.
4097 * util/grub.d/30_os-prober.in: Likewise.
4098 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4099
4100 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * po/Rules-swiss: Fix header comment.
4103
4104 2012-02-29 Andreas Vogel <anvoit>
4105
4106 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4107 resulted in leak of arguments.
4108
4109 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4112 reed_solomon_size const definition instead of computing it since
4113 Apple assembler doesn't support the later.
4114
4115 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * gentpl.py (kernel): Rewrite Apple part.
4118
4119 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4122
4123 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4126 ELF section gap.
4127 (load_image): Likewise.
4128
4129 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * configure.ac: Fix a typo in previous commit.
4132
4133 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 Don't add -Wl,-N on Apple platform.
4136
4137 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4138 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4139
4140 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * grub-core/Makefile.core.def (lzma_decompress): Use
4143 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4144
4145 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/genmod.sh.in: Rewrite the Apple part.
4148
4149 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4152 comparison.
4153
4154 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * acinclude.m4 (grub_CHECK_PIC): New test.
4157 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4158
4159 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4162 to avoid the warning.
4163
4164 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4167 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4168 after. All users updated.
4169
4170 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 Use the common size routine in hostfs so we can read disks as well.
4173
4174 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4175 (grub_util_get_fd_size): ... this. Return size in bytes.
4176 All users updated.
4177 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4178 grub_util_get_fd_size.
4179
4180 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4183 Add blocksize retrieval.
4184
4185 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * configure.ac: Restore CFLAGS after efiemu check.
4188
4189 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4192 Apple bug.
4193
4194 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4197
4198 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4201 (grub_cmd_halt): Likewise.
4202
4203 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4206 for local arithmetics.
4207 Break %sp init into 2 instructions.
4208 Add 0 byte at the end.
4209
4210 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4213 before loops.
4214
4215 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4218 for context.
4219
4220 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/disk/ldm.c (make_vg): Init part.name.
4223 (grub_ldm_detect): Silence spurious warning.
4224 (grub_util_is_ldm): Likewise.
4225
4226 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4229 sane value to avoid a spurious warning.
4230
4231 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4234 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4235
4236 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4239 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4240
4241 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4244 hardcoding the relevant info.
4245
4246 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4249 missing const qualifiers.
4250 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4251
4252 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/getroot.c [__APPLE__]: Add missing includes.
4255 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4256
4257 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4260
4261 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4264 avoid conflicts.
4265
4266 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4269
4270 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4273 and grub_file_close call.
4274
4275 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 Add LZSS Mach-O support (needed for new xnu kernelcache).
4278
4279 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4280 * grub-core/loader/lzss.c: New file.
4281 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4282 on Mach-O open failure.
4283 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4284 Don't free cmdsXX in uncompressedXX is set.
4285 (grub_macho_file): Init new fields.
4286 New argument is_64bit. All users updated.
4287 Handle compressed. Error out if no suitable architecture is found.
4288 Don't close file.
4289 (grub_macho_open): New argument is_64bit. All users updated.
4290 * grub-core/loader/macho32.c: Add defines for new fields.
4291 * grub-core/loader/macho64.c: Likewise.
4292 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4293 (grub_macho_parse): Handle compressed.
4294 Defer actual processing if compressed.
4295 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4296 "filename". All users updated.
4297 (grub_macho_size): New argument "filename". All users updated.
4298 (grub_macho_get_entry_point): Likewise.
4299 (grub_macho_load): Handle compressed.
4300 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4301 (GRUB_MACHO_LZSS_OFFSET): New define.
4302 (grub_decompress_lzss): New proto.
4303 * include/grub/machoload.h (grub_macho_file): New fields to handle
4304 compressed.
4305 (grub_macho_contains_macho64): Remove proto.
4306 (grub_macho_contains_macho32): Likewise.
4307 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4308
4309 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4312
4313 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 Fix make dist.
4316
4317 * Makefile.am (starfield_theme_files): New var.
4318 (starfield_DATA): Use starfield_theme_files.
4319 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4320 Add bootcheck-related files.
4321 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4322 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4323 and font_char_metrics.txt.
4324 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4325 (setjmp): Add lib/ia64/longjmp.S.
4326 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4327 * po/POTFILES.in: Regenerate.
4328 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4329 DISTFILES.common.extra1.
4330 * util/devicemap.c: Removed.
4331 * grub-core/lib/i386/relocator_backward.S: Likewise.
4332 * util/import_gcry.py: Remove unused files. Add extra_dist for
4333 ChangeLog.
4334
4335 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4338 grub_gettext_delete_list before changing grub_gettext_max to avoid
4339 running out of array bounds.
4340
4341 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4344 grub_vga_text_init/grub_vga_text_fini.
4345
4346 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4349
4350 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * configure.ac: Bump to 2.00~beta0.
4353
4354 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4357 missing initialisation.
4358
4359 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4362
4363 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Support v2 xnu boot arguments.
4366
4367 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4368 New argument fsbfreq_out.
4369 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4370 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4371 be used.
4372 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4373 darwin_version.
4374 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4375 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4376 (grub_xnu_boot_params): Rename to ...
4377 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4378 (grub_xnu_boot_params_v2): New struct.
4379
4380 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4383 zeroing of CRC field before computing CRC.
4384
4385 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4388 Change order of allocations to decrease fragmentation.
4389
4390 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4393
4394 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4395
4396 Use write-combining MTRR to speed up video with buggy BIOSes.
4397
4398 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4399 (cpuid): New define.
4400 (rdmsr): Likewise.
4401 (wrmsr): Likewise.
4402 (mtrr_base): Likewise.
4403 (mtrr_mask): Likewise.
4404 (grub_vbe_enable_mtrr_entry): New function.
4405 (grub_vbe_enable_mtrr): Likewise.
4406 (grub_vbe_disable_mtrr): Likewise.
4407 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4408 control off to BIOS.
4409 (grub_video_vbe_init): Fill mtrr.
4410 (grub_video_vbe_fini): Disable mtrr.
4411 (grub_video_vbe_get_info_and_fini): Likewise.
4412 (grub_video_vbe_setup): Enable mtrr.
4413
4414 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4415
4416 * include/grub/partition.h (grub_partition_map): Change prototype of
4417 embed to take a maximum value for nsectors.
4418 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4419 * include/grub/fs.h (grub_fs): Likewise.
4420 * grub-core/partmap/msdos.c (embed_signatures): New array.
4421 (pc_partition_map_embed): Check for and avoid sectors matching any
4422 of the signatures in embed_signatures, up to max_nsectors.
4423 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4424 returned sector map to max_nsectors.
4425 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4426 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4427 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4428 * util/grub-setup.c (setup): Allow for the embedding area being
4429 split into multiple blocklists. Tell dest_partmap->embed the
4430 maximum number of sectors we care about.
4431
4432 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4435 Specify blocklist_install and reserver_first_sector for all fs.
4436 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4437 blocklists.
4438
4439 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * util/grub-install.in: Clarify strings.
4442 Fix source dir check.
4443
4444 2012-02-27 Richard Laager <rlaager@wiktel.com>
4445
4446 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4447 "zfs" and "fuse.zfs" as synonyms.
4448
4449 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * configure.ac: Put platform and target_cpu substitutions back since
4452 they are used for directories.
4453
4454 2012-02-27 Richard Laager <rlaager@wiktel.com>
4455 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4458 * util/grub.d/20_linux_xen.in: Likewise.
4459
4460 2012-02-27 Richard Laager <rlaager@wiktel.com>
4461
4462 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4463 with full paths.
4464
4465 2012-02-27 Richard Laager <rlaager@wiktel.com>
4466
4467 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4468 unescape.
4469
4470 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 Don't use insecure popen in getroot.
4473
4474 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4475 (exec_pipe): ... here.
4476 (find_root_devices_from_poolname): Use exec_pipe.
4477
4478 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Remove platform and target_cpu replacement.
4481
4482 * configure.ac: Remove platform and target_cpu substitutions.
4483 * tests/util/grub-shell.in: Use modinfo.
4484 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4485 explicitly.
4486
4487 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 Autodetect platform in grub-install but allow override.
4490
4491 * util/grub-install.in: Autodetect platform. Support --target and
4492 --directory. Read platform from modinfo.sh.
4493
4494 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Support btrfs multi-volume probe.
4497
4498 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4499 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4500 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4501 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4502 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4503 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4504 grub_find_root_devices_from_btrfs if on btrfs.
4505
4506 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Remove any awareness of *.c util files about target.
4509
4510 * Makefile.util.def (grub-setup): Split to ...
4511 (grub-bios-setup): ... and this.
4512 (grub-sparc64-setup): ... and this.
4513 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4514 * docs/man/grub-setup.h2m: Split into ...
4515 * docs/man/grub-sparc64-setup.h2m: ... this.
4516 * docs/man/grub-bios-setup.h2m: ... and this.
4517 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4518 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4519 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4520 (grub_target_addr_t): Remove.
4521 (grub_target_size_t): Remove.
4522 (grub_target_ssize_t): Remove.
4523 * util/grub-install.in: Use new grub-*-setup.
4524 * util/grub-mkimagexx.c (Elf_Word): New define.
4525 (Elf_Half): Likewise.
4526 (Elf_Section): Likewise.
4527 (ELF_ST_TYPE): Likewise.
4528 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4529 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4530
4531 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Replace grub_target_addr with more appropriate types.
4534
4535 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4536 grub_target_addr with grub_addr.
4537 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4538 grub_target_addr with grub_port.
4539 (grub_cmd_write): Likewise.
4540 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4541 grub_target_addr with grub_addr.
4542 (grub_cmd_write): Likewise.
4543 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4544
4545 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4548 const qualifier for vendor_guid.
4549
4550 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4553 const qualifier.
4554 (efiemu_memequal): Likewise.
4555 (find_variable): Likewise.
4556
4557 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 Fix missing console prototype on qemu-mips.
4560
4561 * include/grub/mips/qemu_mips/console.h: New file.
4562
4563 2012-02-27 Matthew Garrett <mjg@redhat.com>
4564 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4567 * include/grub/efi/efi.h: Likewise.
4568 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4569 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4570 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4571 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4572 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4573 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4574
4575 2012-02-27 Matthew Garrett <mjg@redhat.com>
4576
4577 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4578
4579 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4582 error.
4583
4584 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * configure.ac: Remove inappropriate use of program_transform_name
4587 on grubdir and bootdir but allow explicit specification of those
4588 variables.
4589
4590 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * util/grub-mknetdir.in (grub_prefix): Removed.
4593 (subdir): Use @bootdirname@ and @grubdirname@.
4594
4595 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4598
4599 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * po/POTFILES.in: Regenerated.
4602
4603 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 Remove improper use of program_transform_name on pkglibrootdir.
4606
4607 * configure.ac (pkglibrootdir): Removed.
4608 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4609 * util/grub-mkimage.c: Likewise.
4610
4611 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4614 warning.
4615
4616 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * util/grub-install.in: Use file identifier if no UUID is available
4619 or user explicitly prompted for it.
4620
4621 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
4622
4623 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4624 (freebsd_get_zfs): New function.
4625 (grub_freebsd_boot): Pass zfs UUID.
4626 (grub_cmd_freebsd): Set zfs UUID.
4627
4628 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4631 pkglibrootdir.
4632
4633 2012-02-27 Mike Gilbert <floppym@gentoo.org>
4634
4635 Add configure flag to control libzfs integration.
4636
4637 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4638
4639 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4642 device.
4643 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4644 small devices.
4645
4646 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4649 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4650 be used on non-modules.
4651
4652 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4653 Rename to grub_boot_init.
4654 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4655 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4656 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4657 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4658 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4659 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4660 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4661 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4662 includes.
4663 (grub_machine_init): Remove empty inits.
4664 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4665 includes.
4666 (grub_machine_init): Remove empty inits.
4667 * grub-core/term/arc/console.c: Remove explicit proto.
4668 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4669 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4670 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4671 grub_at_keyboard_fini.
4672 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4673 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4674 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4675 grub_gfxterm_fini.
4676 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4677 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4678 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4679 grub_vgatext_fini.
4680 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4681 * grub-core/term/serial.c (GRUB_MOD_INIT)
4682 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4683 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4684 grub_serial_fini.
4685 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4686 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4687 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4688 grub_terminfo_fini.
4689 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4690 (GRUB_MOD_FINI): Likewise.
4691 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4692 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4693 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4694 grub_video_radeon_fuloong2e_fini.
4695 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4696 [LOONGSON]: Rename to grub_video_sis315pro_init.
4697 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4698 grub_video_sis315pro_fini.
4699 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4700 [LOONGSON]: Rename to grub_video_sm712_init.
4701 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4702 grub_video_sm712_fini.
4703 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4704 (grub_at_keyboard_fini): Likewise.
4705 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4706 Don't declare grub_{modname}_init.
4707 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4708 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4709 New proto.
4710 (grub_keylayouts_fini) [!EMU]: Likewise.
4711 * include/grub/serial.h (grub_serial_init) [!EMU]:
4712 New proto.
4713 (grub_serial_fini) [!EMU]: Likewise.
4714 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4715 New proto.
4716 (grub_terminfo_fini) [!EMU]: Likewise.
4717 * include/grub/video.h (grub_font_init) [!EMU]:
4718 New proto.
4719 (grub_font_fini) [!EMU]: Likewise.
4720 (grub_gfxterm_init) [!EMU]: Likewise.
4721 (grub_gfxterm_fini) [!EMU]: Likewise.
4722 (grub_video_sm712_init) [!EMU]: Likewise.
4723 (grub_video_sm712_fini) [!EMU]: Likewise.
4724 (grub_video_sis315pro_init) [!EMU]: Likewise.
4725 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4726 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4727 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4728
4729 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 Make nand a prefix for nand devices.
4732
4733 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4734
4735 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4738 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4739
4740 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * include/grub/env.h (grub_env_find): Remove prototype.
4743 * grub-core/kern/env.c (grub_env_find): Make static.
4744 (grub_env_set): Remove useless set.
4745
4746 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * grub-core/kern/i386/realmode.S: Remove useless align.
4749
4750 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * include/grub/dl.h (grub_dl_load_file): Don't export.
4753
4754 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4757 grub_dprintf.
4758
4759 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4762 grub_errors.
4763 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4764 not reloading whole superblock but only the part which is really needed.
4765 Remove useless grub_errors.
4766 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4767 grub_errors.
4768
4769 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Don't export grub_get_rtc.
4772
4773 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4774 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4775
4776 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4779
4780 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4783 argument since it can be deduced from diskfilter. All users updated.
4784
4785 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 Remove prio_list.
4788
4789 * include/grub/list.h (grub_prio_list): Removed.
4790 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4791 GRUB_COMMAND_PRIO_MASK.
4792 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4793 GRUB_COMMAND_FLAG_ACTIVE.
4794 (grub_prio_list_insert): Removed.
4795 (grub_prio_list_remove): Likewise.
4796 (GRUB_AS_PRIO_LIST): Likewise.
4797 (GRUB_AS_PRIO_LIST_P): Likewise.
4798 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4799 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4800 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4801 * grub-core/kern/command.c (grub_register_command_prio): Inline
4802 the prio_list code.
4803 (grub_unregister_command): Likewise.
4804
4805 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 Fix interrupt mixup from previous commit.
4808
4809 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4810 (grub_realidt): New var.
4811 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4812 Load idt.
4813 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4814 New declaration.
4815 (grub_relocator16_boot): Set grub_relocator16_idt.
4816 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4817 (LOCAL(realidt)): ... this.
4818 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4819 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4820 (grub_realidt): New variable.
4821
4822 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4825 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4826 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4827 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4828 Gettextize.
4829 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4830 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4831 * po/POTFILES.in: Regenerate.
4832
4833 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4836 errors.
4837
4838 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4841 \0.
4842 (add_length): Likewise.
4843
4844 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4845 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4846
4847 GDB serial and backtrace support.
4848
4849 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4850 (prot_to_real): Likewise.
4851 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4852 * grub-core/Makefile.core.def (backtrace): New module.
4853 (gdb): Likewise.
4854 * grub-core/gdb/cstub.c: New file.
4855 * grub-core/gdb/gdb.c: Likewise.
4856 * grub-core/gdb/i386/idt.c: Likewise.
4857 * grub-core/gdb/i386/machdep.S: Likewise.
4858 * grub-core/gdb/i386/signal.c: Likewise.
4859 * grub-core/lib/i386/backtrace.c: Likewise.
4860 * grub-core/lib/backtrace.c: Likewise.
4861 * include/grub/backtrace.h: Likewise.
4862 * include/grub/gdb.h: Likewise.
4863 * include/grub/i386/gdb.h: Likewise.
4864
4865 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4868 New function.
4869 (add_length): Likewise.
4870 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4871 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4872 proto.
4873 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4874 __argp_get_display_len.
4875
4876 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 $"..." support in scripts.
4879
4880 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4881 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4882 * grub-core/script/yylex.l: Likewise.
4883 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4884 value.
4885
4886 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * gentpl.py: Remove obsolete pkglib_DATA handling.
4889
4890 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4893 mailing list.
4894
4895 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4896 * util/grub-kbdcomp.in: Likewise.
4897 * util/grub-mkconfig.in: Likewise.
4898 * util/grub-mkconfig_lib.in: Likewise.
4899 * util/grub-mknetdir.in: Likewise.
4900 * util/grub-mkrescue.in: Likewise.
4901 * util/grub-mkstandalone.in: Likewise.
4902 * util/grub-reboot.in: Likewise.
4903 * util/grub-set-default.in: Likewise.
4904 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4905
4906 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 Remove GRUB_PREFIX.
4909
4910 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4911 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4912 used for backward compatibility.
4913
4914 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 Add new all_video module.
4917
4918 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4919 * grub-core/Makefile.core.def (all_video): New module.
4920 * grub-core/genmoddep.awk: Generate dependency of all_video from
4921 video.lst.
4922 * grub-core/lib/fake_module.c: New file.
4923 * grub-core/normal/main.c (features): Add feature_all_video_module.
4924 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4925 don't do explicit search again.
4926 insmod all_video in load_video if available.
4927
4928 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 Another round of string clarification and adding TRANSLATORS comments.
4931
4932 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4935
4936 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4939 to grub_ssize_t.
4940 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4941 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4942
4943 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4946 trailing newline implicitly. All users updated.
4947
4948 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 Implement serial on IEEE1275 and EFI.
4951
4952 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4953 on emu. Mention arc and emu as the only platforms without serial
4954 support.
4955 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4956 ieee1275 platforms.
4957 * grub-core/term/efi/serial.c: New file.
4958 * grub-core/term/ieee1275/serial.c: Likewise.
4959 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4960 specification if no ns8250 driver is available.
4961 (grub_cmd_serial): Likewise.
4962 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4963 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4964 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4965 (grub_efi_parity_type_t): New type.
4966 (grub_efi_stop_bits_t): Likewise.
4967 (grub_efi_serial_io_interface): New struct.
4968 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4969 available for all interfaces.
4970 Add EFI and IEEE1275 fields.
4971 (grub_ofserial_init): New proto.
4972 (grub_efiserial_init): Likeiwse.
4973 * util/grub.d/00_header.in: Don't check for the presence of serial
4974 module.
4975
4976 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4979 name as if it was an alias.
4980
4981 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/commands/lsacpi.c (options): Fix typo.
4984
4985 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Convert grub-emu to argp.
4988
4989 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4990 emu.
4991 * util/argp_common.c: Rename to ...
4992 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4993 Add missing includes.
4994 * grub-core/kern/emu/main.c: Convert to argp.
4995 * po/POTFILES.in: Regenerate.
4996 * util/grub-install.in (usage): Make first letter lowcase in messages
4997 for uniformity.
4998 * util/grub-setup.c (options): Likewise.
4999
5000 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5003 Put back accidently commented-out code.
5004
5005 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5008 loop check using Brent algorithm.
5009 (grub_hfsplus_btree_search): Likewise.
5010
5011 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * util/grub-install.in: Fix usage of wrong device for PreP install.
5014
5015 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * conf/Makefile.common (CFLAGS_GNULIB): Add
5018 -Wno-unsafe-loop-optimizations.
5019 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5020 on tools.
5021 * grub-core/commands/legacycfg.c: Add pragma to skip
5022 -Wunsafe-loop-optimizations.
5023 (check_password_md5_real): Fix loop counter type.
5024 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5025 reading.
5026 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5027 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5028 loop condition.
5029 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5030 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5031 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5032 condition.
5033 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5034 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5035 avoid possible infinite loops.
5036 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5037 and -Wunsafe-loop-optimizations.
5038 * grub-core/script/yylex.l: Likewise.
5039 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5040 (print_glyphs): Avoid infinite loops.
5041 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5042
5043 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5044
5045 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5046 to avoid infinite loop.
5047 (disp_acpi_rsdt_table): Likewise.
5048
5049 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/font/font.c (grub_font_load): Add support for default
5052 path for fonts ($prefix/fonts).
5053 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5054 for checking if string is a path.
5055 * grub-core/normal/main.c (features): Add feature_default_font_path.
5056 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5057 * util/grub.d/00_header.in: Use default directory if possible.
5058 * util/grub-install.in: Install unicode.pf2.
5059
5060 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5063 * po/Rules-swiss: New file.
5064 * po/swiss.sed: Likewise.
5065
5066 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/fs/btrfs.c (find_device): Fix typos.
5069 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5070 * util/grub-mkrelpath.c (argp_parser): Likewise.
5071 Reported by: Yuri Chornoivan.
5072
5073 2012-02-23 Dalet Omega <daletomega@gmail.com>
5074
5075 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5076 for usual informative messages.
5077
5078 2012-02-23 Dalet Omega <daletomega@gmail.com>
5079
5080 Starfield theme.
5081
5082 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5083 * conf/Makefile.common: Define starfielddir.
5084 * configure.ac: Configure starfield.
5085 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5086 * themes/starfield/README: Likewise.
5087 * themes/starfield/blob_w.png: Likewise.
5088 * themes/starfield/boot_menu_c.png: Likewise.
5089 * themes/starfield/boot_menu_e.png: Likewise.
5090 * themes/starfield/boot_menu_n.png: Likewise.
5091 * themes/starfield/boot_menu_ne.png: Likewise.
5092 * themes/starfield/boot_menu_nw.png: Likewise.
5093 * themes/starfield/boot_menu_s.png: Likewise.
5094 * themes/starfield/boot_menu_se.png: Likewise.
5095 * themes/starfield/boot_menu_sw.png: Likewise.
5096 * themes/starfield/boot_menu_w.png: Likewise.
5097 * themes/starfield/slider_c.png: Likewise.
5098 * themes/starfield/slider_n.png: Likewise.
5099 * themes/starfield/slider_s.png: Likewise.
5100 * themes/starfield/src/blob_nw.xcf: Likewise.
5101 * themes/starfield/src/bootmenu/: Likewise.
5102 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5103 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5104 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5105 * themes/starfield/src/slider_c.xcf: Likewise.
5106 * themes/starfield/src/slider_n.xcf: Likewise.
5107 * themes/starfield/src/slider_s.xcf: Likewise.
5108 * themes/starfield/src/terminalbox/: Likewise.
5109 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5110 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5111 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5112 * themes/starfield/starfield.png: Likewise.
5113 * themes/starfield/terminal_box_c.png: Likewise.
5114 * themes/starfield/terminal_box_e.png: Likewise.
5115 * themes/starfield/terminal_box_n.png: Likewise.
5116 * themes/starfield/terminal_box_ne.png: Likewise.
5117 * themes/starfield/terminal_box_nw.png: Likewise.
5118 * themes/starfield/terminal_box_s.png: Likewise.
5119 * themes/starfield/terminal_box_se.png: Likewise.
5120 * themes/starfield/terminal_box_sw.png: Likewise.
5121 * themes/starfield/terminal_box_w.png: Likewise.
5122 * themes/starfield/theme.txt: Likewise.
5123
5124 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * util/grub.d/00_header.in: Add missing export theme.
5127
5128 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5131 already included.
5132 Reported by: Eren D.
5133
5134 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * conf/Makefile.common (grubdatadir): Removed.
5137 (Makefile.am): Move eveything grubdata to pkgdata.
5138
5139 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/commands/acpihalt.c (get_sleep_type):
5142 Remove unused variable.
5143
5144 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5147 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5148 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5149 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5150 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5151 i18n with gettext no-op.
5152 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5153 GRUB_ACPI_OPCODE_STRING_CONST.
5154 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5155 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5156
5157 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * po/POTFILES.in: Regenerate.
5160
5161 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5164 -Wno-error=missing-noreturn.
5165
5166 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5169 condition to avoid possibly infinite loops.
5170 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5171 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5172
5173 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5176 condition to avoid possibly infinite loops.
5177
5178 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5181 on show_error.
5182
5183 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5186
5187 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5190
5191 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * util/bin2h.c (usage): Add missing attribute noreturn.
5194
5195 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5198 if the size isn't divisible by 512.
5199
5200 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 Make list_push and list_remove functions rather than inline functions
5203 to decrease size and avoid aliasing violations.
5204
5205 * include/grub/list.h (grub_list_push): Move to ...
5206 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5207 * include/grub/list.h (grub_list_remove): Move to ...
5208 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5209
5210 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5213 and -Wunused-result.
5214
5215 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5218 Reported by: Seth Goldberg
5219
5220 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5223
5224 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5225
5226 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5227 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5228 command line.
5229 * docs/grub.texi (Simple configuration): Document
5230 GRUB_CMDLINE_GNUMACH.
5231
5232 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * conf/Makefile.common (platform_SCRIPTS): New variable.
5235 (platform_PROGRAMS): Likewise.
5236 * gentpl.py: Mark *,module and *.image for install.
5237 * grub-core/gdb_grub.in: Add a notice of expected environment.
5238 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5239 (gmodule.pl): Likewise.
5240
5241 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 Replace grub_checkkey with grub_getkey_noblock.
5244
5245 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5246 (grub_getkey_noblock): ... this. All users updated.
5247
5248 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/kern/emu/console.c: Move to ...
5251 * grub-core/term/emu/console.c: ...here.
5252 (grub_ncurses_getkey): Fix return value if no key is detected.
5253
5254 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5257 (grub_unit_test_fini): Likewise.
5258 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5259
5260 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * include/grub/test.h (GRUB_UNIT_TEST)
5263
5264 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5267 Better error handling.
5268 (grub_script_return): Likewise.
5269 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5270
5271 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5274 rimplicit redifinition.
5275
5276 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5279 GRUB.
5280
5281 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5284 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5285 prompt here.
5286
5287 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5290 as GRUB_ERR_BUG. Don't malloc if no device is available.
5291
5292 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5295 Mark calling with invalid term as GRUB_ERR_BUG.
5296
5297 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5300 packets rather than raising an error.
5301
5302 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5305 in if.
5306
5307 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5310 diagnostic to dprintf.
5311 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5312
5313 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5316 device name.
5317
5318 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5321 (grub_ntfs_iterate_dir): Likewise.
5322
5323 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 Efiemu stylistic fixes and gettext.
5326
5327 * grub-core/efiemu/i386/loadcore32.c
5328 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5329 * grub-core/efiemu/i386/loadcore64.c
5330 (grub_arch_efiemu_relocate_symbols64): Likewise.
5331 * grub-core/efiemu/i386/pc/cfgtables.c
5332 (grub_machine_efiemu_init_tables): Likewise.
5333 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5334 (grub_efiemu_loadcore_initXX): Add a filename argument.
5335 All users updated.
5336 Improved error message.
5337 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5338 Add a filename argument.
5339 All users updated.
5340 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5341 Reclassify double relocation as GRUB_ERR_BUG.
5342
5343 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5346 handling.
5347
5348 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5351 on partition.
5352
5353 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5356
5357 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 Improve string. Gettextize.
5360
5361 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5364 utils.
5365 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5366
5367 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5370 [GRUB_UTIL]: New function.
5371 (insert_array) [GRUB_UTIL]: Store partmaps.
5372 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5373 partmaps.
5374 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5375 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5376 (probe_abstraction): Print diskfilter and not raid.
5377 Reported by: Lennart Sorensen
5378
5379 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5382 * util/grub-mkimagexx.c (MASK3): New define.
5383 (add_value_to_slot_20b): Use MASK3.
5384 (add_value_to_slot_21): Likewise.
5385 (relocate_addresses): Fix format specification.
5386 (load_image): Explicitly init symtab_section.
5387
5388 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5391 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5392
5393 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5396 on powerpc.
5397 Reported by: Lennart Sorensen
5398
5399 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * gentpl.py: Add missing license header.
5402 * docs/grub.texi: Update copyright year.
5403
5404 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5405
5406 Source grub-mkconfig_lib from the build directory at build time.
5407 Suggested by: Vladimir Serbinenko.
5408
5409 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5410 * util/grub-install.in: Define pkgdatadir if not already set, and source
5411 grub-mkconfig_lib from there.
5412 * util/grub-kbdcomp.in: Likewise.
5413 * util/grub-mkconfig.in: Likewise.
5414 * util/grub-mknetdir.in: Likewise.
5415 * util/grub-mkrescue.in: Likewise.
5416 * util/grub-mkstandalone.in: Likewise.
5417 * util/grub-reboot.in: Likewise.
5418 * util/grub-set-default.in: Likewise.
5419 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5420
5421 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Increase warning level.
5424
5425 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5426 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5427 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5428 (TARGET_CFLAGS): Likewise.
5429 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5430 * grub-core/Makefile.core.def (decompressor_xz): Add
5431 -Wno-unreachable-code.
5432 (normal): Add -Wno-redundant-decls.
5433 (xzio): Add -Wno-unreachable-code.
5434 (lzopio): Add -Wno-redundant-decls -Wno-error.
5435 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5436 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5437 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5438 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5439 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5440 * grub-core/kern/i386/coreboot/init.c: Add exception to
5441 -Wsuggest-attribute=noreturn.
5442 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5443 * grub-core/kern/ia64/dl_helper.c: Likewise.
5444 * grub-core/kern/mips/dl.c: Likewise.
5445 * grub-core/kern/sparc64/dl.c: Likewise.
5446 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5447 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5448 (memcmp): Likewise.
5449 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5450 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5451 * grub-core/loader/mips/linux.c: Likewise.
5452 * grub-core/loader/multiboot_elfxx.c: Likewise.
5453 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5454 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5455 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5456 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5457 fixme.
5458 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5459 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5460 Fix prototype.
5461
5462 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5465 address.
5466
5467 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5470 Avoid improper use of strings.
5471 (grub_cmd_legacy_initrdnounzip): Likewise.
5472
5473 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5476 attribute.
5477 (grub_util_info): Likewise.
5478 (grub_util_error): Likewise.
5479
5480 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5483 * util/grub-fstest.c (fstest): Likewise.
5484
5485 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5488 (grub_md_sha512_real): Likewise.
5489 (grub_util_get_geli_uuid): Likewise.
5490 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5491 (grub_util_biosdisk_open): Fix format specification.
5492 Respect format security.
5493 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5494 (xrealloc): Likewise.
5495 (xasprintf): Likewise.
5496
5497 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * util/import_gcry.py: Include grub/crypto.h in init.c.
5500
5501 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5504 (generate_image): Make prefix a const char *.
5505 Fix format specifications. Respect format security.
5506 Avoid void * arithmetics.
5507 Avoid shadowing.
5508 (argp_parser): Remove unused variable. Respect format security.
5509 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5510 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5511 (count_funcs): Remove unused variable.
5512 (relocate_addresses): Fix format specification.
5513 Disable x86-64 with elf32. Remove unused variables.
5514 (add_fixup_entry): Avoid shadowing.
5515 (make_reloc_section): Fix format specification.
5516 Use assert.
5517 (locate_sections): Fix format specifications.
5518 (load_image): Avoid shadowing.
5519
5520 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5523 Fix format specifications. Respect format security.
5524 Don't translate already translated grub_errmsg.
5525 (argp_parser): Remove unused variable
5526
5527 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5530
5531 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5534 (main): Likewise. Use xmalloc. Respect format security.
5535
5536 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5539 a const char *.
5540 (argp_parser): Remove unused variable.
5541
5542 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5545 (add_pixel): Make static.
5546 (add_font): Likewise.
5547 (write_string_section): Make name and str a const char *.
5548 (write_be16_section): Make name a const char *.
5549 (print_glyphs): Make static.
5550 (write_font_ascii_bitmap): Likewise.
5551 (write_font_width_spec): Likewise.
5552 (write_font_pf2): Likewise.
5553 (argp_parser): Remove unused variable.
5554 Respect format security.
5555 (main): Avoid shadowing. Respect format security.
5556
5557 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * util/grub-editenv.c (argp_parser): Make static.
5560 (create_envblk_file): Use xmalloc.
5561 (open_envblk_file): Likewise.
5562 Resepect format security.
5563 (set_variables): Respect format security.
5564
5565 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * util/getroot.c (grub_find_device): Respect format security.
5568 (get_mdadm_uuid): Remove unused variable.
5569 (grub_util_pull_device): Dont call gettext on already translated
5570 grub_errmsg.
5571 (find_system_device): Remove unused variable.
5572 (grub_util_get_grub_dev): Likewise.
5573 (grub_make_system_path_relative_to_its_root): Respect format security.
5574
5575 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * util/grub-fstest.c (execute_command): Make first argument
5578 a const char *.
5579 (read_file): Avoid shadowing.
5580 Reuse underlying error message if device open fails.
5581 (cmd_cmp): Respect format security.
5582 (root): Make const char *.
5583 (fstest): Remove args argument and use global copy.
5584 Respect format security.
5585 (argp_parser): Make static.
5586 (main): Make default_root const char *.
5587
5588 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * util/grub-mount.c (root): Make const char *.
5591 (execute_command): Make first argument a const char *.
5592 (fuse_init): Respect format security.
5593 (argp_parser): Make static. Remove unused variable.
5594 (main): Make default_root a const char *.
5595 Respect format security.
5596
5597 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * util/grub-probe.c (probe): Don't call gettext on already translated
5600 grub_errmsg.
5601 Remove unused variables.
5602 (argp_parser): Remove unused variable.
5603
5604 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * util/grub-script-check.c (argp_parser): Remove unused variable.
5607 (main): Rename read to curread to avoid shadowing.
5608
5609 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * util/misc.c (grub_util_write_image_at): Fix format specification.
5612 (grub_util_write_image): Likewise.
5613 (grub_script_execute_argument_to_string): Removed (unused).
5614 (grub_script_execute_menuentry): Likewise.
5615 (grub_putchar): Likewise.
5616
5617 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5620 (FUNCTION) [GRUB_UTIL]: Likewise.
5621 (VARIABLE) [GRUB_UTIL]: Likewise.
5622
5623 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5626 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5627
5628 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5631 buffer.
5632
5633 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5636 (LzmaEnc_SaveState): Removed (unused).
5637 (LzmaEnc_RestoreState): Likewise.
5638 (LzmaEnc_InitPriceTables): Made static.
5639 (LzmaEnc_Construct): Likewise.
5640 (LzmaEnc_FreeLits): Likewise.
5641 (LzmaEnc_Destruct): Likewise.
5642 (LzmaEnc_Init): Likewise.
5643 (LzmaEnc_InitPrices): Likewise.
5644 (LzmaEnc_Finish): Likewise.
5645 (LzmaEnc_PrepareForLzma2): Removed (unused).
5646 (LzmaEnc_MemPrepare): Likewise.
5647 (LzmaEnc_GetNumAvailableBytes): Likewise.
5648 (LzmaEnc_GetCurBuf): Likewise.
5649 (LzmaEnc_CodeOneMemBlock): Likewise.
5650
5651 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5654 (grub_util_ldm_embed): Likewise.
5655
5656 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * util/grub-editenv.c (print_var): Rename name to varname to
5659 avoid shadowing.
5660 (main): Rename index to curindex to avoid shadowing.
5661 Make filename a const char *.
5662
5663 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5666 to arg_getline to avoid shadowing.
5667
5668 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5671 disk_ to avoid shadowing.
5672
5673 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5676 curindex to avoid shadowing.
5677 Make static.
5678 (MatchFinder_GetNumAvailableBytes): Make static.
5679
5680 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5683 avoid shadowing.
5684
5685 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5688 argument from encrypt to do_encrypt to avoid shadowing.
5689
5690 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5693 incorrect nesting of #if's.
5694
5695 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5698 checks which are always false on some platforms.
5699 (grub_cmd_lsacpi): Likewise.
5700 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5701 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5702 Likewise.
5703
5704 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5707 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5708
5709 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5712 re_dfa_t to avoid breaking alignment invariants.
5713 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5714 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5715
5716 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5719 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5720
5721 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5724 Fix declaration.
5725
5726 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5729 conserve alignment invariants.
5730 (grub_ehci_ehcc_read16): Likewise.
5731 (grub_ehci_oper_read32): Likewise.
5732 (grub_ehci_oper_write32): Likewise.
5733 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5734 Conserve alignment invariants.
5735
5736 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5739 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5740 declarations.
5741
5742 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5745 Remove unused variable.
5746
5747 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5750 Remove set in if.
5751
5752 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * include/grub/net.h: Remove double declarations.
5755
5756 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 Remove "payload" command in ia64 Linux loader since I couldn't
5759 find any evidence of it being used for anything.
5760 Replace "relocate" command with an environment variable
5761
5762 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5763 fields.
5764 (ia64_boot_payload): Removed.
5765 (last_payload): Likewise.
5766 (RELOCATE_OFF): Likewise.
5767 (RELOCATE_ON): Likewise.
5768 (RELOCATE_FORCE): Likewise.
5769 (relocate): Likewise.
5770 (free_pages): Don't free payloads.
5771 (grub_load_elf64): Use common error messages.
5772 Use "linux_relocate" variable.
5773 Increase the space after boot_params.
5774 (grub_cmd_payload): Removed.
5775 (grub_cmd_relocate): Likewise.
5776 (grub_cmd_fpswa): Improve messages.
5777 (cmd_payload): Removed.
5778 (cmd_relocate): Likewise.
5779 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5780 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5781
5782 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 Convert UHCI to DMA framework.
5785
5786 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5787 (grub_uhci_pci_iter): Fill new members
5788 (grub_alloc_td): Use P2V and V2P functions.
5789 (grub_free_queue): Likewise.
5790 (grub_alloc_qh): Likewise.
5791 (grub_uhci_setup_transfer): Likewise.
5792 (grub_uhci_check_transfer): Likewise.
5793
5794 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5797 Remove assignment in if while on it.
5798
5799 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * util/grub-mkstandalone.in: Fix modules directory.
5802
5803 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5806 on i386-pc target.
5807 (argp_parser): Accept "auto" as compression specification.
5808
5809 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Fix `help' with unloaded modules.
5812
5813 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5814 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5815 (grub_dyncmd_dispatcher): Small stylistic fix.
5816 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5817 explicit help is requested.
5818
5819 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5822 Explicitly init restart while on it.
5823
5824 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5827 uninited variable.
5828
5829 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * util/grub-mknetdir.in: Use . rather than source for POSIX
5832 compatibility.
5833
5834 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5837
5838 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5841 variable.
5842
5843 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5846 without quotes.
5847
5848 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5851
5852 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5855 iteration of partitions.
5856
5857 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 Improve gettext support. Stylistic fixes and error handling fixes while
5860 on it.
5861
5862 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5865 part. Instead setup the correct stack in RM.
5866 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5867 for stack.
5868 * include/grub/i386/relocator_private.h: New file.
5869
5870 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5873 argument.
5874 * util/grub-fstest.c (options): Add missing DEVICE part.
5875
5876 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 Clarify and unify messages.
5879
5880 * grub-core/commands/hashsum.c (options): Unify messages.
5881 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5882 literal-only message as translatable.
5883 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5884 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5885 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5886 commands.
5887 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5888 key, not the key used to unlock. Clarify what it's used for.
5889 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5890 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5891 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5892 * util/grub-editenv.c (options): Unify "verbose" message.
5893 * util/grub-fstest.c (read_file): Unify error message.
5894 (fstest): Add quotes around commands.
5895 (options): Unify "verbose" message.
5896 * util/grub-install.in: Add quotes around variable name.
5897 * util/grub-kbdcomp.in: Unify error message.
5898 * util/grub-mkfont.c (main): Likewise.
5899 * util/grub-mkrescue.in: Likewise.
5900 * util/grub-mklayout.c (options): Unify "verbose" message.
5901 * util/grub-mkstandalone.in: Unify help and verbose messages.
5902 * util/grub-mount.c (options): Unify "verbose" message.
5903 * util/grub-probe.c (options): Likewise.
5904 * util/grub-script-check.c (options): Likewise.
5905 * util/grub-setup.c (setup): Unify no-terminator message.
5906 (options): Use DEVICE and not DEV.
5907 Unify "verbose" message.
5908 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5909
5910 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 Improve and unify messages.
5913
5914 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5915 name. All users updated.
5916 Print filename in error.
5917 (read_device_map): Print filename in error.
5918 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5919 (grub_util_get_os_disk): Likewise.
5920 (grub_util_biosdisk_get_grub_dev): Likewise.
5921 (grub_util_check_block_device): Likewise.
5922 (grub_util_check_char_device): Likewise.
5923 (grub_make_system_path_relative_to_its_root): Likewise.
5924 * util/grub-editenv.c (create_envblk_file): Likewise.
5925 (open_envblk_file): Likewise.
5926 (write_envblk): Likewise.
5927 * util/grub-fstest.c (cmd_cp): Likewise.
5928 (cmd_cat): Likewise.
5929 (cmd_cmp): Likewise.
5930 * util/grub-menulst2cfg.c (main): Likewise.
5931 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5932 (write_font_width_spec): Likewise.
5933 (write_font_pf2): Likewise.
5934 * util/grub-mkimage.c (generate_image): New argument outname.
5935 All users updated.
5936 Remove unreacheable message.
5937 (options): Unify messages.
5938 (help_filter): Likewise.
5939 * util/grub-mklayout.c (usage): Removed (unused).
5940 (main): Print filename in error.
5941 * util/grub-mkrescue.in: Fix wrong quoting.
5942 * util/grub-setup.c (setup): Print filename in error.
5943 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5944 (check_sas): Likewise.
5945 * util/misc.c (grub_util_get_fp_size): Removed.
5946 (grub_util_get_image_size): Print filename in error.
5947 (grub_util_read_at): Removed.
5948 (grub_util_read_image): Print filename in error.
5949 (grub_util_load_image): Likewise.
5950 (grub_util_write_image_at): New argument filename. All users updated.
5951 Print filename in error.
5952 (grub_util_write_image): New argument filename. All users updated.
5953 Print filename in error.
5954 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5955 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5956
5957 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/Makefile.core.def (pxechain): New module.
5960 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5961 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5962 function.
5963 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5964 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5965
5966 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5969 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5970 * include/grub/err.h (grub_error_saved): New struct.
5971 (grub_errmsg): Make array size explicit.
5972 * include/grub/misc.h (grub_error_save): New function.
5973 (grub_error_load): Likewise.
5974 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5975 (grub_error_push): Update `errno' member name.
5976 (grub_error_pop): Likewise
5977 * grub-core/net/tftp.c (tftp_data): New member save_err.
5978 (tftp_receive): Save error.
5979 (tftp_open): Restore error.
5980
5981 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5984 to real mode down to execute A20-related code in protected mode as
5985 intended.
5986
5987 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5988
5989 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5990 NULL when the argument `level' has an unexpected value.
5991
5992 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 Move platform-dependent files from $prefix to $prefix/$platform.
5995
5996 * config.h.in (GRUB_TARGET_CPU): New definition.
5997 (GRUB_PLATFORM): Likewise.
5998 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5999 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6000 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6001 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6002 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6003 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6004 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6005 * grub-core/normal/term.c (read_terminal_list): Likewise.
6006 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6007 $prefix/locale.
6008 (grub_gettext_init_ext): Likewise.
6009 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6010 grub_platform.
6011 * util/grub-install.in: Update directories.
6012 * util/grub-mknetdir.in: Likewise.
6013 * util/grub-mkrescue.in: Likewise.
6014
6015 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6018 grub_error framework. All users updated.
6019
6020 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6023 lists (by always binsearching), improve caching (cache strings
6024 used for binsearch, not only results), improve
6025 maintainability (by using more structured binary search) and correct
6026 error handling.
6027
6028 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/script/execute.c (grub_script_return): Fix warning.
6031
6032 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * grub-core/script/execute.c (grub_script_return): Fix potential
6035 NULL-dereference.
6036 Reported by: Jim Meyering.
6037
6038 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * po/POTFILES.in: Regenerate.
6041 * util/grub-install.in: Gettextize the strings missed in first pass.
6042
6043 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * Makefile.util.def (grub-mkdevicemap): Removed.
6046 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6047 * include/grub/util/deviceiter.h: Removed.
6048 * util/deviceiter.c: Likewise.
6049 * util/getroot.c (grub_util_get_os_disk): New function.
6050 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6051 replacement for EFI.
6052 * util/grub-mkdevicemap.c: Removed.
6053 * util/grub-probe.c (probe): Handle PRINT_DISK.
6054 (argp_parser): Handle -t disk.
6055
6056 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * util/grub-mkfont.c: Migrate to argp.
6059 * util/grub-mklayout.c: Likewise.
6060 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6061 * util/grub-mkrelpath.c: Likewise.
6062 * util/grub-probe.c: Likewise.
6063 * util/grub-script-check.c: Likewise.
6064
6065 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * util/grub-reboot.in: Add missing datarootdir.
6068 Add missing newline.
6069 * util/grub-set-default.in: Add missing datarootdir.
6070 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6071 * util/grub-mkrescue.in: Likewise.
6072
6073 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6076
6077 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * util/grub-kbdcomp.in: Add decent help and gettextize.
6080 * docs/man/grub-kbdcomp.h2m: New file.
6081
6082 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Migrate grub-mkimage.c to argp.
6085
6086 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6087 (grub-setup): Likewise.
6088 * util/grub-setup.c (print_version): Move to ...
6089 * util/argp_common.c (print_version): ... here.
6090 * util/grub-setup.c (argp_program_version_hook): Move to ...
6091 * util/argp_common.c (argp_program_version_hook): ... here.
6092 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6093 safety.
6094 * util/grub-mkimage.c (main): Migrate to argp.
6095
6096 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * util/grub-mkrescue.in: Use same message as
6099 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6100 for better translations.
6101
6102 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6105 options with generic grub-mkrescue.in with the goal of future
6106 merge.
6107
6108 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/kern/mm.c: Add missing include of i18n.h
6111 * grub-core/lib/relocator.c: Likewise.
6112
6113 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6116 error.
6117 (allocate_pages): Check return value.
6118 Replace fatal with error.
6119 (grub_linux_boot): Replace printf with dprintf.
6120 Check find_mmap_size return value.
6121 Replace fatal with error.
6122 Don't call grub_machine_fini.
6123 (grub_load_elf64): Replace printf with dprintf.
6124 (grub_cmd_linux): Likewise.
6125 (grub_cmd_initrd): Likewise.
6126 (grub_cmd_payload): Likewise.
6127
6128 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6131 message.
6132 * grub-core/video/radeon_fuloong2e.c
6133 (grub_video_radeon_fuloong2e_setup): Likewise.
6134 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6135 * grub-core/video/video.c (grub_video_set_mode): Don't override
6136 standard out of memory message.
6137
6138 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6139
6140 NetBSD disk wedge support.
6141
6142 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6143 [__NetBSD__]: Handle NetBSD disk wedges.
6144 * util/getroot.c (convert_system_partition_to_system_disk)
6145 [__NetBSD__]: Likewise.
6146
6147 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
6148
6149 * util/grub-mkconfig.in: Use umask rather than chmod to create
6150 grub.cfg.new to avoid insecure grub.cfg.
6151
6152 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/commands/ls.c: Gettextize.
6155 * grub-core/commands/setpci.c: Likewise.
6156 * grub-core/commands/videotest.c: Likewise.
6157 * grub-core/disk/geli.c: Likewise.
6158 * grub-core/kern/mm.c: Likewise.
6159 * grub-core/lib/relocator.c: Likewise.
6160 * grub-core/loader/efi/appleloader.c: Likewise.
6161 * grub-core/loader/i386/xnu.c: Likewise.
6162 * grub-core/loader/ia64/efi/linux.c: Likewise.
6163 * grub-core/loader/xnu.c: Likewise.
6164 * grub-core/net/dns.c: Likewise.
6165 * grub-core/net/net.c: Likewise.
6166 * grub-core/script/lexer.c: Likewise.
6167 * grub-core/script/parser.y: Likewise.
6168 * grub-core/script/yylex.l: Likewise.
6169 * util/getroot.c: Likewise.
6170 * util/grub-setup.c: Likewise.
6171
6172 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6175 number.
6176
6177 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6180
6181 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6184 macro.
6185 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6186 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6187
6188 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6191 * util/grub-install.in: Gettextize.
6192 * util/grub-mkconfig.in: Likewise.
6193 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6194 if not available.
6195 (grub_warn): Gettextize.
6196 * util/grub-mknetdir.in: Gettextize.
6197 * util/grub-mkrescue.in: Likewise.
6198 * util/grub-mkstandalone.in: Likewise.
6199 * util/grub-reboot.in: Likewise.
6200 * util/grub-set-default.in: Likewise.
6201 * util/grub.d/00_header.in: Likewise.
6202 * util/grub.d/10_hurd.in: Likewise.
6203 * util/grub.d/10_kfreebsd.in: Likewise.
6204 * util/grub.d/10_linux.in: Likewise.
6205 * util/grub.d/10_netbsd.in: Likewise.
6206 * util/grub.d/10_windows.in: Likewise.
6207 * util/grub.d/20_linux_xen.in: Likewise.
6208 * util/grub.d/30_os-prober.in: Likewise.
6209 * po/POTFILES-shell.in: Regenerate.
6210
6211 2012-02-03 Richard Laager <rlaager@wiktel.com>
6212
6213 * util/grub-mkimage.c (main): Fix format-security warning.
6214 * util/grub-mkrelpath.c (main): Likewise.
6215 * util/grub-probe.c (main): Likewise.
6216
6217 2012-02-03 Richard Laager <rlaager@wiktel.com>
6218
6219 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6220 failure.
6221 Put back lost PRINT_DRIVE.
6222
6223 2012-02-03 Richard Laager <rlaager@wiktel.com>
6224
6225 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6226 (grub_guess_root_devices): Replace strlen with sizeof.
6227 Avoid crash.
6228 (find_root_devices_from_poolname): Remove unused variable.
6229 Handle raidzN.
6230
6231 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 Support install on multi-device filesystems.
6234
6235 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6236 (grub_guess_root_devices): ...this. Return char **. All users updated.
6237 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6238 Removed.
6239 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6240 (find_root_devices_from_poolname): ... here.
6241 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6242 Support zfs-fuse.
6243 (grub_guess_root_device): Rename to ...
6244 (grub_guess_root_devices): ... this. Return char **. All users updated.
6245 * util/grub-install.in: Handle multi-device filesystems.
6246 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6247 argument. All users updated.
6248 Handle multi-device filesystems.
6249 Use 'delim' as separator.
6250 Remove device check to allow filesystems on file.
6251 (main): Support -0 argument. Handle multi-device.
6252 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6253 Fix a cross-device check while on it.
6254 (arguments): Remove root_dev.
6255 (argp_parser): Remove -r.
6256 (main): Remove root_dev.
6257
6258 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6261
6262 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6265 symbol.
6266 Reported by: NODA, Kai <nodakai>.
6267
6268 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 Fix ehci on amd64.
6271
6272 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6273 pointers.
6274 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6275 (grub_ehci_setup_qh): Likewise.
6276 (grub_ehci_find_qh): Likewise.
6277 (grub_ehci_transaction): Likewise.
6278 (grub_ehci_setup_transfer): Likewise.
6279 (grub_ehci_check_transfer): Likewise.
6280 (grub_ehci_portstatus): Likewise.
6281 (grub_ehci_detect_dev): Likewise.
6282 (grub_ehci_transfer_controller_data): New field td_last_phys.
6283 (grub_ehci_setup_transfer): Fill td_last_phys.
6284 (grub_ehci_check_transfer): Use td_last_phys.
6285
6286 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6287
6288 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6289 if no submenu is present.
6290
6291 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6292
6293 CBI support.
6294
6295 * include/grub/usb.h (grub_usbms_protocol_t): New values
6296 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6297 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6298 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6299 (grub_usbms_dev): Add subclass, protocol and intrpt.
6300 Remove in_maxsz and out_maxsz.
6301 (grub_usbms_reset): Rename to ...
6302 (grub_usbms_bo_reset): .. this.
6303 (grub_usbms_cbi_cmd): New function.
6304 (grub_usbms_cbi_reset): Likewise.
6305 (grub_usbms_reset): Likewise.
6306 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6307 (grub_usbms_transfer): Rename to ...
6308 (grub_usbms_transfer_bo): ... this.
6309 (grub_usbms_transfer_cbi): Likewise.
6310 (grub_usbms_transfer): Likewise.
6311
6312 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6313 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6316 the support for the CS5536 modification thereos and few bugfixes.
6317
6318 * grub-core/Makefile.core.def (ehci): New module.
6319 * grub-core/bus/usb/ehci.c: New file.
6320 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6321 port and hubaddr. All users updated.
6322 Save port and hubaddr into dev structure.
6323 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6324 define.
6325 * include/grub/pci.h (grub_dma_phys2virt): New function.
6326 (grub_dma_virt2phys): Likewise.
6327 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6328
6329 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6332 check as some mkfs implementations omit it.
6333
6334 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6337
6338 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6341 Add new member volname2.
6342 (grub_jfs_label): Use volname2 if available.
6343
6344 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6347 over last_mounted as seen in image generated by mkfs.nilfs2.
6348 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6349
6350 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6353 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6354 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6355
6356 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6359 over the sector.
6360
6361 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6364 subvolume name (by removing a bogus and useless check).
6365
6366 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6369 sizeof while on it.
6370
6371 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6374 (grub_scsi_read_capacity10): ... this.
6375 (grub_scsi_read_capacity16): New function.
6376 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6377 0xffffffff.
6378 Fix off-by-one error.
6379 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6380 64-bit unsigned.
6381 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6382 (grub_scsi_read_capacity10): ... this.
6383 (grub_scsi_read_capacity_data): Rename to ...
6384 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6385 (grub_scsi_read_capacity16): New struct.
6386 (grub_scsi_read_capacity16_data): Likewise.
6387 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6388 grub_scsi_cmd_read_capacity10.
6389 New command grub_scsi_cmd_read_capacity16.
6390
6391 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 SCSI >2TiB support.
6394
6395 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6396 (grub_scsi_write16): Likewise.
6397 (grub_scsi_read): Use read16 when necessary.
6398 (grub_scsi_write): Likewise.
6399 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6400 (grub_scsi_write16): Likewise.
6401 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6402
6403 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 SCSI write support (for usbms mainly).
6406
6407 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6408 a const pointer.
6409 (grub_scsi_write): Implement.
6410 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6411
6412 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6415 variable.
6416
6417 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6420
6421 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * po/POTFILES.in: Regenerate.
6424
6425 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6428 with grub_printf to avoid unnecessary fatal failure.
6429
6430 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6433 (INT_MAX): Likewise.
6434 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6435 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6436 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6437 (strcpy): Likewise.
6438 (strstr): Likewise.
6439 (strchr): Likewise.
6440 (strncpy): Likewise.
6441 (strcat): Likewise.
6442 (strncat): Likewise.
6443 (strcoll): Likewise.
6444 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6445 (GRUB_INT_MAX): Likewise.
6446
6447 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6450 unexpected error.
6451 (optimize_utf8): Likewise.
6452 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6453
6454 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/boot/i386/pc/lnxboot.S: Use
6457 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6458 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6459 location.
6460 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6461 definition.
6462 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6463
6464 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6467 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6468 now to avoid double free.
6469 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6470 hostdisk.
6471 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6472 * util/grub-probe.c (escape_of_path): Always return a new copy.
6473 (print_full_name): Escape path.
6474 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6475 Fix hints on abstractions.
6476
6477 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6480 Don't add "root" line if no compatibility hont is available.
6481 Suggested by: Seth Goldberg.
6482
6483 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6486 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6487 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6488 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6489
6490 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6493
6494 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * util/grub-pe2elf.c (ehdr): Make static.
6497 (shdr): Likewise.
6498 (num_sections): Likewise.
6499 (offset): Likewise.
6500
6501 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Eliminate ofpath limits and possible overflows.
6504
6505 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6506 (OF_PATH_MAX): Removed.
6507 (MAX_DISK_CAT): New const.
6508 (find_obppath): Use allocated rather than preallocated buffer.
6509 Return result. Argument of_path removed. All users updated.
6510 Add missing fdstat.
6511 (xrealpath): New function.
6512 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6513 Allocate rather than use preallocated buffer. All users updated.
6514 (__of_path_common): Use allocated rather than preallocatecd buffer.
6515 Return result. Argument of_path removed. All users updated.
6516 (vendor_is_ATA): Read only needed part form the file.
6517 (check_sas): Allocate depending on contents rather than fixed.
6518 (main) [STANDALONE]: Handle NULL result.
6519
6520 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6523
6524 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 Cryptodisk write support.
6527
6528 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6529 (grub_cryptodisk_decrypt): Moved logic to ...
6530 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6531 (grub_cryptodisk_write): Implement.
6532 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6533 (grub_util_fd_write): ... this. Make global.
6534 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6535
6536 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * include/grub/list.h (grub_list_remove): Don't crash if element is
6539 removed twice.
6540
6541 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 Rename ofconsole to console.
6544
6545 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6546 as sysnonym to console.
6547 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6548 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6549 Rename grub_ofconsole_ to grub_console_. All users updated
6550 (grub_console_term_output): Rename "ofconsole" to "console".
6551 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6552 as "console".
6553
6554 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6557 handling.
6558 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6559 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6560 GRUB_DISK_DEVICE_FILE_ID.
6561
6562 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6565 and improve performance.
6566
6567 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6570 missing ieee1275/ prefix on whole disk.
6571
6572 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6575 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6576
6577 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6580
6581 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 Merge common RAID and LVM logic to an abstract diskfilter.
6584 Add LDM support using the same framework.
6585
6586 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6587 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6588 (libgrubmods): Remove grub-core/disk/raid.c and
6589 grub-core/partmap/gpt.c.
6590 * grub-core/Makefile.core.def (ldm): New module.
6591 (raid): Renamed to diskfilter. All users updated.
6592 * grub-core/disk/raid.c: Moved to ...
6593 * grub-core/disk/diskfilter.c: ... here.
6594 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6595 (lv_num): New var.
6596 (find_array): Renamed to ...
6597 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6598 (grub_is_array_readable): Renamed to ...
6599 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6600 (insert_array): New argument id.
6601 (is_node_readable): New function.
6602 (scan_device): Rename to ...
6603 (scan_disk): .. this. Restrict to one disk.
6604 (scan_devices): New function.
6605 (grub_diskfilter_iterate): Support multi-LV.
6606 Skip invisible and nameless LVs.
6607 (grub_diskfilter_memberlist): Support multi-LV.
6608 (grub_diskfilter_read_node): New function.
6609 (grub_raid_read): Most of logic moved to ...
6610 (read_segment): ... here
6611 (read_lv): New function.
6612 (grub_diskfilter_get_vg_by_uuid): New function.
6613 (grub_diskfilter_make_raid): Likewise.
6614 * grub-core/disk/ldm.c: New file.
6615 * grub-core/disk/lvm.c (vg_list): Removed.
6616 (lv_count): Likewise.
6617 (scan_depth): Likewise.
6618 (is_lv_readable): Likewise.
6619 (grub_lvm_getvalue): Advance pointer past the number.
6620 (find_lv): Removed.
6621 (do_lvm_scan): Refactored into ...
6622 (grub_lvm_detect): ... this. Support raid.
6623 (grub_lvm_iterate): Removed.
6624 (grub_lvm_memberlist): Likewise.
6625 (grub_lvm_open): Likewise.
6626 (grub_lvm_close): Likewise.
6627 (read_lv): Likewise.
6628 (read_node): Likewise.
6629 (is_node_readable): Likewise.
6630 (is_lv_readable): Likewise.
6631 (grub_lvm_read): Likewise.
6632 (grub_lvm_write): Likewise.
6633 (grub_lvm_dev): Use diskfilter
6634 (GRUB_MOD_INIT): Likewise.
6635 (GRUB_MOD_FINI): Likewise.
6636 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6637 new interface.
6638 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6639 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6640 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6641 grub_diskfilter_read_node.
6642 Fix a bug with xor.
6643 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6644 grub_diskfilter_read_node.
6645 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6646 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6647 (grub_disk_dev_iterate): Move from here...
6648 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6649 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6650 Make global.
6651 (grub_hostdisk_find_partition_start): Likewise.
6652 (grub_hostdisk_os_dev_to_grub_drive): New function.
6653 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6654 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6655 * util/getroot.c (make_device_name): ... here.
6656 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6657 Move to ...
6658 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6659 * grub-core/kern/emu/hostdisk.c
6660 (convert_system_partition_to_system_disk): Move to ...
6661 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6662 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6663 * util/getroot.c (device_is_wholedisk): ... here.
6664 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6665 * util/getroot.c (find_system_device): ... here.
6666 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6667 Move to ...
6668 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6669 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6670 Move to ...
6671 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6672 Handle LDM.
6673 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6674 Move to ...
6675 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6676 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6677 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6678 DISKFILTER.
6679 * include/grub/raid.h: Renamed to ...
6680 * include/grub/diskfilter.h: ... this.
6681 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6682 (GRUB_RAID_LAYOUT_*): Make into array.
6683 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6684 (grub_diskfilter_vg): New struct.
6685 (grub_diskfilter_pv_id): Likewise.
6686 (grub_raid_member): Removed.
6687 (grub_raid_array): Likewise.
6688 (grub_diskfilter_pv): New struct.
6689 (grub_diskfilter_lv): Likewise.
6690 (grub_diskfilter_segment): Likewise.
6691 (grub_diskfilter_node): Likewise.
6692 (grub_diskfilter_get_vg_by_uuid): New proto.
6693 (grub_raid_register): Inline.
6694 (grub_diskfilter_unregister): Likewise.
6695 (grub_diskfilter_make_raid): New proto.
6696 (grub_diskfilter_vg_register): Likewise.
6697 (grub_diskfilter_read_node): Likewise.
6698 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6699 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6700 (grub_util_is_ldm): Likewise.
6701 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6702 (grub_hostdisk_find_partition_start): Likewise.
6703 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6704 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6705 New definition.
6706 (grub_gpt_partition_map_iterate): New proto.
6707 * include/grub/lvm.h (grub_lvm_vg): Removed.
6708 (grub_lvm_pv): Likewise.
6709 (grub_lvm_lv): Likewise.
6710 (grub_lvm_segment): Likewise.
6711 (grub_lvm_node): Likewise.
6712 * util/getroot.c [...]
6713 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6714 (probe_abstraction): Likewise.
6715 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6716 (main): Remove dead logic.
6717
6718 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 Simplify root device discover and don't fail when trying to open
6721 incorrect devices.
6722
6723 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6724 function.
6725 (get_diskname_from_path): Likewise.
6726 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6727 of iterating.
6728
6729 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6732
6733 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6736 pastthe end.
6737
6738 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * util/grub-install.in: Add missing \.
6741 Reported by: gentoofan
6742
6743 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6746 (direct_read): Use correct compressed size.
6747 (grub_squash_read_data): Likewise.
6748
6749 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * docs/grub.texi (Platform limitations): New section.
6752 (Platform-specific operations): Likewise.
6753 * docs/grub-dev.texi (Porting): Likewise.
6754
6755 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 IEEE1275 disk write support.
6758
6759 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6760 const void *.
6761 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6762 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6763 and seek loginc to ...
6764 (grub_ofdisk_prepare): ... here.
6765 (grub_ofdisk_write): Implement.
6766
6767 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 ARC disk write support.
6770
6771 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6772 (reopen): New argument writable. All users updated.
6773 Handle required access mode.
6774 (grub_arcdisk_write): Implement.
6775 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6776 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6777
6778 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6781 (read_sblock): Don't attempt to read superblocks outside the disk size.
6782
6783 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6786 first superblock to find the second one when possible.
6787
6788 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * util/grub-install.in: Fix an ARC bug.
6791 Print a warning if no platform-specific setup is available.
6792
6793 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 Use static allocation rather than scratch pointer in reed_solomon.
6796 It decreases its size significantly and avoids a variable in .text.
6797
6798 * grub-core/lib/reed_solomon.c (scratch): Removed.
6799 (chosenstat): New const or static array.
6800 (sigma): Likewise.
6801 (errpot): Likewise.
6802 (errpos): Likewise.
6803 (sy): Likewise.
6804 (mstat): Likewise.
6805 (errvals): Likewise.
6806 (eqstat): Likewise.
6807 (pol_evaluate): Replace x with log_x argument. All users updated.
6808 (syndroms): Removed.
6809 (gauss_solve): Use statically allocated arrays.
6810 (rs_recover): Likewise.
6811 Calculate syndroms directly.
6812 (decode_block): Use statically allocated arrays.
6813 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6814 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6815
6816 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Eliminate fixed limit on reed solomon decoder length.
6819
6820 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6821 rather than hardcoding the address.
6822 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6823 no_reed_solomon_length.
6824 Move gate_a20 to no-reed-solomon part.
6825 Don't force a particular size of no reed-solomon part.
6826 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6827 Removed.
6828 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6829 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6830
6831 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * grub-core/commands/wildcard.c (match_files): Handle filenames
6834 without explicit device.
6835 (wildcard_expand): Don't add explicit device if not already present.
6836 * tests/grub_script_echo1.in: Add a new expansion test.
6837
6838 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 Replace single-linked with double-linked lists. It results in more
6841 compact and more efficient code.
6842
6843 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6844 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6845 (grub_list_remove): Moved from here ...
6846 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6847 (grub_prio_list_insert): Set prev.
6848 * include/grub/list.h (grub_list): Add prev. All users updated.
6849
6850 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 Handle newer autotools. Add some missing quotes while on it.
6853
6854 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6855 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6856 (pkgdata_DATA): ... here.
6857 * Makefile.util.def (update-grub_lib): Removed.
6858 * conf/Makefile.common (pkglib_DATA): Removed.
6859 (pkglib_SCRIPTS): Likewise.
6860 (pkgdata_DATA): New variable.
6861 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6862 needed.
6863 Add missing quotes.
6864 Remove unused variable while on it.
6865 * tests/util/grub-shell.in: Likewise.
6866 * util/grub-install.in: Likewise.
6867 * util/grub-mkconfig.in: Likewise.
6868 * util/grub-mknetdir.in: Likewise.
6869 * util/grub-mkrescue.in: Likewise.
6870 * util/grub-mkstandalone.in: Likewise.
6871 * util/grub.d/00_header.in: Likewise.
6872 * util/grub.d/10_hurd.in: Likewise.
6873 * util/grub.d/10_illumos.in: Likewise.
6874 * util/grub.d/10_kfreebsd.in: Likewise.
6875 * util/grub.d/10_linux.in: Likewise.
6876 * util/grub.d/10_netbsd.in: Likewise.
6877 * util/grub.d/10_windows.in: Likewise.
6878 * util/grub.d/20_linux_xen.in: Likewise.
6879 * util/grub.d/30_os-prober.in: Likewise.
6880 * util/update-grub_lib.in: Removed.
6881
6882 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6883
6884 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6885 a workaround for intel problem.
6886
6887 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6888 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6889 2012-01-23 pfsmorigo
6890
6891 * util/grub-install.in: Support dd'in into PreP partition.
6892 * util/grub-probe.c (probe): Support discovering partition type.
6893 (main): Support -t msdos_parttype.
6894
6895 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6898 infinite recursion using counter.
6899 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6900 init to skip it if the magic check fails.
6901 (dec_stream_header): Init s->crc32.
6902
6903 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6904 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6905 2012-01-22 Richard Laager <rlaager@wiktel.com>
6906
6907 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6908 All users updated.
6909 (find_bestub): Determine correct size.
6910 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6911 (scan_disk): Align the size down.
6912 Call check pool before find_bestub to have ashift.
6913
6914 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6917 dprintf in no-malloc zone.
6918
6919 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6920
6921 * configure.ac: Add back in test for limits.h.
6922
6923 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 Support 4K-sector NTFS.
6926
6927 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6928 (grub_ntfs_data): Remove blocksize.
6929 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6930 Remove data argument. All users updated.
6931
6932 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6935 being in .text to avoid dprel references.
6936 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6937 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6938 (grub_arch_highmemsize): Likewise.
6939 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6940 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6941 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6942
6943 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6946
6947 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6948 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6949
6950 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6953 GRUB_UTIL.
6954 (grub_set_datetime_cmos): Likewise.
6955
6956 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Make XZ compression parameters dependent on target and not host CPU.
6959
6960 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6961 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6962
6963 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6966 set but not used variable.
6967
6968 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6971 created when no uuid support is compiled into mkfs.reiser.
6972
6973 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6976 (utf8_to_macroman): Do the opposite.
6977 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6978
6979 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * configure.ac: Refise build qemu_mips w/o unifont.
6982
6983 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 Eliminate grub_min/grub_max prone to overflow usage.
6986
6987 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6988 (poll_nonroot_hub): Likewise.
6989 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6990 (grub_affs_label): Likewise.
6991 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6992 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6993 (grub_hfs_label): Likewise.
6994 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6995 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6996 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6997 (zap_leaf_array_get): Likewise.
6998 (dnode_get_path): Likewise.
6999 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7000 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7001 * grub-core/script/execute.c (grub_script_break): Likewise.
7002 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7003 grub_max.
7004 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7005 * include/grub/misc.h (grub_min): Removed.
7006 (grub_max): Likewise.
7007
7008 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7009
7010 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7011 direct.inode = 0.
7012
7013 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7016
7017 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7020
7021 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7024 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7025
7026 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7029 rather than a hack for grub_strncasemap.
7030
7031 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 Support multiple initrds
7034 Note: part of this was accidently committed in r3739.
7035
7036 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7037 initrd.
7038 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7039 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7040 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7041 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7042 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7043
7044 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7047 disks with unknown size.
7048 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7049
7050 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 Remove defines pertaining to arbitrary limits not affecting GRUB
7053 anymore.
7054
7055 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7056 (EXT2_MAX_SYMLINKCNT): Likewise.
7057 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7058 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7059 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7060 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7061 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7062 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7063 (DN_MAX_OBJECT_SHIFT): Likewise.
7064 (DN_MAX_OFFSET_SHIFT): Likewise.
7065 (DN_MAX_OBJECT): Likewise.
7066 (DNODES_PER_LEVEL_SHIFT): Likewise.
7067 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7068 (SPA_MAXBLOCKSIZE): Likewise.
7069 (SPA_BLOCKSIZES): Likewise.
7070 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7071 (MZAP_MAX_BLKSZ): Likewise.
7072
7073 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7076 handle NULL appropriately.
7077 Remove MIN.
7078
7079 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Fix efiemu.
7082
7083 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7084 cpu/types.h.
7085 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7086 * configure.ac: Fix efiemu check.
7087
7088 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7091 grub_probe.
7092 Reported by: adamwill
7093
7094 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7095
7096 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7097
7098 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 Fix handling of wide characters in gfxterm.
7101
7102 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7103 (clear_char): Likewise.
7104 (paint_char): Skip code == NULL chars.
7105 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7106
7107 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/normal/charset.c: Move comment to right place.
7110
7111 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7114 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7115 (grub_affs_mount): Revert the correct version checking.
7116
7117 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * docs/grub.texi (Unicode): Mention several other unsupported features.
7120
7121 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7124 case statements as compile-time one.
7125 (direct_read): Prevent spurious warnings.
7126 (grub_squash_read_data): Likewise.
7127
7128 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 Various squash4 fixes and LZO and XZ support.
7131
7132 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7133 Add xzembed source files.
7134 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7135 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7136 (grub_squash_inode): New subtype long_dir.
7137 (SQUASH_TYPE_LONG_DIR): New inode type.
7138 (COMPRESSION): New enum.
7139 (XZBUFSIZ): New const.
7140 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7141 (read_chunk): Use data->decompress.
7142 (zlib_decompress): New function.
7143 (lzo_decompress): Likewise.
7144 (xz_decompress): Likewise.
7145 (squash_mount): Set new data fields.
7146 (grub_squash_iterate_dir): Handle long dir.
7147 (squash_unmount): Free xzdec and xzbuf.
7148 (grub_squash_open): Check ino type.
7149 (direct_read): Stylistic fixes. Use data->decompress.
7150 (grub_squash_read_data): Likewise.
7151 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7152 (get_byte): Likewise.
7153 (grub_zlib_disk_read): Removed.
7154 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7155 (GRUB_POSIX_BOOL_DEFINED): New define.
7156 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7157 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7158 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7159 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7160
7161 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 Don't override more informative errors.
7164
7165 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7166 * grub-core/font/font.c (open_section): Likewise.
7167 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7168 filename. Don't override errors.
7169 (grub_cmd_openbsd_ramdisk): Don't override errors.
7170 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7171 (grub_cmd_initrd): Likewise.
7172 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7173 (grub_cmd_initrd): Likewise.
7174 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7175 (grub_cmd_linux): Likewise.
7176 (grub_cmd_initrd): Likewise.
7177 (grub_cmd_payload): Likewise.
7178 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7179 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7180 (grub_cmd_module): Likewise.
7181 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7182 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7183 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7184 (grub_cmd_xnu_mkext): Likewise.
7185 (grub_cmd_xnu_ramdisk): Likewise.
7186 (grub_xnu_check_os_bundle_required): Likewise.
7187 (grub_xnu_load_kext_from_dir): Likewise.
7188 (grub_cmd_xnu_kextdir): Likewise.
7189 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7190
7191 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7194 as 1024 in block size field. Found on one of my test images.
7195 Small optimisation while on it.
7196
7197 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7200 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7201 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7202 performance fixes while on it.
7203 (grub_sfs_close): Fix memory leak while on it.
7204 (grub_sfs_label): Convert Latin1 to UTF-8.
7205
7206 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7209 space to avoid overflows.
7210 (grub_hfs_label): Convert from macroman to UTF-8.
7211
7212 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7215
7216 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7219
7220 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * unicode: Import Unicode 6.0 data.
7223
7224 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7227 outside of range.
7228
7229 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Avoid cutting in the middle of UTF-8 character.
7232
7233 * include/grub/charset.h (grub_getend): New function.
7234 * grub-core/script/function.c (grub_script_function_find): Use
7235 grub_getend.
7236 * grub-core/normal/completion.c (add_completion): Likewise.
7237
7238 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7241 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7242 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7243 (GRUB_UNICODE_TAG_END): Likewise.
7244 (GRUB_UNICODE_LAST_VALID): Likewise.
7245
7246 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7249 len and make it smaller. All users updated.
7250 * util/import_unicode.py: Put length and not end character.
7251 Check length.
7252
7253 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Make better Unicode-compliant and unify some UTF-8 code pathes.
7256
7257 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7258 valid character.
7259 (grub_is_valid_utf8): Use grub_utf8_process.
7260 Check resulting code range.
7261 (grub_utf8_to_ucs4): Use grub_utf8_process.
7262 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7263 valid character.
7264
7265 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7268
7269 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * docs/grub.texi (Filesystems): Mention AFS.
7272
7273 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * docs/grub.texi (Filesystems): Clarify restrictions.
7276 (Regexp): Mention non-Unicode regexp behaviour.
7277 (Other): Mention non-Unicode matching behaviour.
7278
7279 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 Make HFS implementation use MacRoman.
7282
7283 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7284 (macroman): New const array.
7285 (macroman_to_utf8): New function.
7286 (utf8_to_macroman): Likewise.
7287 (grub_hfs_find_dir): Use utf8_to_macroman.
7288 (grub_hfs_dir): Use macroman_to_utf8.
7289 Set case_insensitive.
7290
7291 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7294
7295 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 Integrate hints into autogeneration scripts.
7298
7299 * docs/grub.texi (Filesystems): Add a hostdisk example.
7300 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7301 (grub-probe): Add ofpath.
7302 * gentpl.py: Remove group nosparc64.
7303 * grub-core/commands/search.c (cache_entry): New struct.
7304 (cache): New var.
7305 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7306 * grub-core/commands/search_wrap.c (options): Add platform-specific
7307 hint options.
7308 (grub_cmd_search): Handle platform-specific hints.
7309 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7310 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7311 (grub_util_biosdisk_data): Likewise.
7312 (grub_util_biosdisk_open): Set device_map.
7313 (read_device_map): Handle "" as indication of no map.
7314 Set device_map.
7315 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7316 (grub_util_biosdisk_get_compatibility_hint): New function.
7317 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7318 * include/grub/emu/hostdisk.h
7319 (grub_util_biosdisk_get_compatibility_hint): New proto.
7320 * util/grub-install.in: Don't call grub-mkdevicemap.
7321 Add platform-specific hint to load.cfg.
7322 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7323 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7324 hints. Set root preliminary to compatibility hint, not to OS name.
7325 * util/grub-probe.c (PRINT_*): Add hints.
7326 (print): Make static.
7327 (escape_of_path): New function.
7328 (guess_bios_drive): Likewise.
7329 (guess_efi_drive): Likewise.
7330 (guess_baremetal_drive): Likewise.
7331 (print_full_name): Likewise.
7332 (probe): Handle hints.
7333 (main): Likewise.
7334 * util/ieee1275/devicemap.c: Removed.
7335 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7336 updated.
7337 (grub_util_devname_to_ofpath): Return NULL on failure.
7338
7339 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7340 resource leak.
7341 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7342
7343 * po/POTFILES.in: Regenerated.
7344
7345 Allow purely long options
7346
7347 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7348 (SHORT_ARG_USAGE): Likewise.
7349 (grub_arg_show_help): Compare opt with help_options.
7350 (parse_option): Receive opt as argument. If makes big simplificatons.
7351 All users updated
7352
7353 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7356 Restructure to avoid warning.
7357
7358 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * util/grub-install.in: Account for possible escaped comma in device
7361 name.
7362
7363 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7366 channel.
7367
7368 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7371 allocation and zero-setting.
7372 (grub_ieee1275_get_devname): Check that alias is complete.
7373
7374 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7377 unaligned segments.
7378
7379 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7382 prefix.
7383 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7384 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7385 Add ieee1275 prefix.
7386
7387 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * docs/grub.texi (Filesystems): Update.
7390
7391 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 Support odc, newc and bigendian cpio formats.
7394
7395 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7396 * grub-core/Makefile.core.def (newc): New module.
7397 (odc): Likewise.
7398 (cpio_be): Likewise.
7399 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7400 (MAGIC): Likewise.
7401 (MAGIC2): Likewise.
7402 (head) [MODE_ODC]: Adapt for the format.
7403 (head) [MODE_NEWC]: Likewise.
7404 (head) [!MODE_*]: Write fields of interest as arrays.
7405 (MAGIC_USTAR): Removed.
7406 (read_number) [MODE_NEWC]: Change to hex.
7407 (read_number) [!MODE_*]: Parse binary arrays.
7408 (grub_cpio_find_file): Factor out the code for better structure and
7409 always use read_number.
7410 (grub_cpio_mount): Use MAGIC and MAGIC2.
7411 (grub_cpio_dir): Exit on first hook non-0 return.
7412 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7413 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7414 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7415 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7416 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7417 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7418 * grub-core/fs/newc.c: New file.
7419 * grub-core/fs/odc.c: Likewise.
7420 * grub-core/fs/cpio_be.c: Likewise.
7421
7422 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 Fix handling of tar numbers occupying the whole field.
7425
7426 * grub-core/fs/cpio.c (read_number): New function.
7427 (grub_cpio_find_file): Use read_number instead of strtoull.
7428
7429 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7432 occupying the whole field size.
7433
7434 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7435
7436 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7437
7438 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7441
7442 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7443
7444 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7445 TARGET_IMG_LDFLAGS.
7446
7447 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7450 (mountinfo_entry): Increase the field size to take escaping into
7451 account.
7452 (find_root_device_from_libzfs): Add one byte to size of strings for
7453 security.
7454
7455 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7458 an assert.
7459 * util/grub-setup.c (setup): Likewise.
7460
7461 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7464 _LzmaDecodeA.
7465
7466 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * docs/grub.texi (Internationalisation): New section.
7469
7470 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * docs/grub.texi (Loopback booting): New section.
7473
7474 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
7475
7476 * util/grub-mkstandalone.in: Fix minor typo errors.
7477
7478 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7481
7482 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7483 net/icmp.c and net/icmp6.c.
7484 (http): New module.
7485 (priority_queue): Likewise.
7486 * grub-core/io/bufio.c: Rewritten.
7487 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7488 TYPE_WITH_CONFIGFILE_OPTION.
7489 (legacy_commands): Add bootp and dhcp.
7490 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7491 (grub_legacy_parse): Likewise.
7492 * grub-core/lib/priority_queue.c: New file.
7493 * grub-core/net/arp.c: Add missing license header.
7494 (arp_find_entry): Removed.
7495 (arp_find_entry): Likewise.
7496 (grub_net_arp_resolve): Rename to ...
7497 (grub_net_arp_send_request): ...this.
7498 (grub_net_arp_receive): New card argument.
7499 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7500 Set router and DNS server.
7501 (grub_net_configure_by_dhcp_ack): Handle routing information.
7502 (grub_cmd_bootp): Set checksum.
7503 (grub_bootp_init): Remove net_dhcp.
7504 * grub-core/net/dns.c: New file.
7505 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7506 completion.
7507 (get_card_packet): Handle allocation.
7508 (grub_efinet_findcards): Set mtu.
7509 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7510 (get_card_packet): Handle allocation.
7511 (emucard): Set mtu.
7512 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7513 (GRUB_MOD_INIT): Set mtu.
7514 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7515 mtu.
7516 (get_card_packet): Handle allocation.
7517 (grub_ofnet_findcards): Set mtu.
7518 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7519 assert.
7520 (grub_net_recv_ethernet_packet): Handle IPv6.
7521 * grub-core/net/http.c: New file.
7522 * grub-core/net/icmp.c: Likewise.
7523 * grub-core/net/icmp6.c: Likewise.
7524 * grub-core/net/ip.c (ip6addr): New type.
7525 (ip6hdr): Likewise.
7526 (reassemble): Likewise.
7527 (cmp): New function.
7528 (reassembles): New variable.
7529 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7530 (id): New variable.
7531 (send_fragmented): New function.
7532 (grub_net_send_ip_packet): Rename to ...
7533 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7534 Handle non-UDP.
7535 (grub_net_recv_ip_packets): Rename to ...
7536 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7537 (free_rsm): New function.
7538 (free_old_fragments): Likewise.
7539 (grub_net_recv_ip4_packets): New function.
7540 (grub_net_send_ip6_packet): Likewise.
7541 (grub_net_send_ip_packet): Likewise.
7542 (grub_net_recv_ip6_packets): Likewise.
7543 (grub_net_recv_ip_packets): Likewise.
7544 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7545 (LINK_LAYER_CACHE_SIZE): New const.
7546 (link_layer_find_entry): New function.
7547 (grub_net_link_layer_add_address): Likewise.
7548 (grub_net_link_layer_resolve_check): Likewise.
7549 (grub_net_link_layer_resolve): Likewise.
7550 (grub_net_ipv6_get_slaac): Likewise.
7551 (grub_net_ipv6_get_link_local): Likewise.
7552 (grub_cmd_ipv6_autoconf): Likewise.
7553 (parse_ip): Handle one number representation.
7554 (parse_ip6): New functoion.
7555 (match_net): Handle IPv6.
7556 (grub_net_resolve_address): Handle IPv6 and DNS.
7557 (grub_net_resolve_net_address): Handle IPv6.
7558 (route_cmp): New function.
7559 (grub_net_route_address): Find best route.
7560 (grub_net_addr_to_str): Handle IPv6.
7561 (grub_net_addr_cmp): New function.
7562 (grub_net_add_addr): Register local route.
7563 (print_net_address): Handle net address.
7564 (grub_net_poll_cards): Retransmit TCP.
7565 (grub_net_poll_cards_idle_real): Likewise.
7566 (have_ahead): New function.
7567 (grub_net_seek_real): Use underlying seek.
7568 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7569 * grub-core/net/tcp.c: New file.
7570 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7571 (cmp): New function.
7572 (ack): Likewise.
7573 (tftp_receive): Handle unordered input.
7574 (destroy_pq): New function.
7575 (tftp_close): Close pq.
7576 * grub-core/net/udp.c: Put missing license header.
7577 (grub_net_udp_socket): New function.
7578 (udp_socket_register): Likewise.
7579 (grub_net_udp_close): Likewise.
7580 (grub_net_recv_udp_packet): Check checksum.
7581 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7582 * include/grub/misc.h (grub_memchr): New function.
7583 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7584 (grub_net_card_driver): Return buf in recv.
7585 (grub_net_slaac_mac_list): New struct.
7586 (grub_network_level_protocol_id): Add ipv6.
7587 (grub_net_network_level_addr): Likewise.
7588 (grub_net_network_level_net_addr): Likewise.
7589 (grub_net_app_protocol): Add seek.
7590 (grub_net_socket): Removed.
7591 (grub_net_sockets): Likewise.
7592 (grub_net_socket_register): Likewise.
7593 (grub_net_socket_unregister): Likewise.
7594 (FOR_NET_SOCKETS): Likewise.
7595 (grub_net_add_addr): Add const.
7596 (GRUB_NET_BOOTP_*): New enum.
7597 (grub_net_addr_cmp): New proto.
7598 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7599 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7600 (grub_net_hwaddr_to_str): NEw proto.
7601 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7602 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7603 (grub_dns_init): New proto.
7604 (grub_dns_fini): Likewise.
7605 (grub_net_tcp_retransmit): Likewise.
7606 (grub_net_link_layer_add_address): Likewise.
7607 (grub_net_link_layer_resolve_check): Likewise.
7608 (grub_net_link_layer_resolve): Likewise.
7609 (grub_net_dns_lookup): Likewise.
7610 (grub_net_add_dns_server): Likewise.
7611 (grub_net_remove_dns_server): Likewise.
7612 (GRUB_NET_TRIES): New const.
7613 (GRUB_NET_INTERVAL): Likewise.
7614 * include/grub/net/arp.h: Mostly rewritten.
7615 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7616 * include/grub/net/ip.h: Mostly rewritten.
7617 * include/grub/net/netbuff.h: Indent.
7618 * include/grub/net/tcp.h: New file.
7619 * include/grub/net/udp.h: Mostly rewritten.
7620 * include/grub/priority_queue.h: New file.
7621 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7622 (grub_swap_bytes64_compile_time): Likewise.
7623 (grub_cpu_to_be16_compile_time): Likewise.
7624 (grub_cpu_to_be32_compile_time): Likewise.
7625 (grub_cpu_to_be64_compile_time): Likewise.
7626 (grub_be_to_cpu64_compile_time): Likewise.
7627
7628 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7631 UINT_TO_PTR with cast.
7632
7633 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7636 don't use them.
7637
7638 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7641 already there.
7642
7643 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7646 confusing ipxe.
7647
7648 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7651 Add missing const attribute.
7652 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7653 Likewise.
7654 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7655 Likewise.
7656
7657 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7660 misaligned access.
7661 (serpent_setkey): Likewise.
7662 (serpent_encrypt_internal): Likewise.
7663 (serpent_decrypt_internal): Likewise.
7664 (serpent_encrypt): Don't put an alignment-increasing cast.
7665 (serpent_decrypt): Likewise.
7666 (serpent_test): Likewise.
7667
7668 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7671
7672 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7675
7676 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7677 grub_addr_t casts.
7678 (PTR_TO_UINT64): Likewise.
7679 (PTR_TO_UINT32): Likewise.
7680
7681 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7684 because of stack.
7685 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7686 limit.
7687
7688 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7691 text_width > available width a bit more gracefully.
7692
7693 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7696 current address calculation.
7697
7698 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7701 stack.
7702 (encode_block): Likewise.
7703
7704 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7707 certainety.
7708
7709 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7712 non-RS part to avoid RS messing with GDT.
7713 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7714 Increase to suit in realmode routines.
7715
7716 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/kern/i386/realmode.S: Increase alignment.
7719 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7720
7721 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7724 be deterministic.
7725 (syndroms): Compute 0 syndrom.
7726 (rs_recover): Use 0 syndrom.
7727
7728 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7731
7732 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7735 brackets.
7736
7737 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7740 account.
7741 (get_top_pad): Likewise.
7742 (get_right_pad): Likewise.
7743 (get_bottom_pad): Likewise.
7744
7745 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7748
7749 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7752 attribute as the structure isn't guaranteed to be properly aligned.
7753 (grub_efi_pci_device_path): Likewise.
7754 (grub_efi_pccard_device_path): Likewise.
7755 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7756 specify the size of `memory_type'.
7757 (grub_efi_vendor_device_path): Likewise.
7758 (grub_efi_controller_device_path): Likewise.
7759 (grub_efi_acpi_device_path): Likewise.
7760 (grub_efi_expanded_acpi_device_path): Likewise.
7761 (grub_efi_atapi_device_path): Likewise.
7762 (grub_efi_scsi_device_path): Likewise.
7763 (grub_efi_fibre_channel_device_path): Likewise.
7764 (grub_efi_1394_device_path): Likewise.
7765 (grub_efi_usb_device_path): Likewise.
7766 (grub_efi_usb_class_device_path): Likewise.
7767 (grub_efi_i2o_device_path): Likewise.
7768 (grub_efi_mac_address_device_path): Likewise.
7769 (grub_efi_ipv4_device_path): Likewise.
7770 (grub_efi_ipv6_device_path): Likewise.
7771 (grub_efi_infiniband_device_path): Likewise.
7772 (grub_efi_uart_device_path): Likewise.
7773 (grub_efi_vendor_messaging_device_path): Likewise.
7774 (grub_efi_hard_drive_device_path): Likewise.
7775 (grub_efi_cdrom_device_path): Likewise.
7776 (grub_efi_vendor_media_device_path): Likewise.
7777 (grub_efi_file_path_device_path): Likewise.
7778 (grub_efi_protocol_device_path): Likewise.
7779 (grub_efi_piwg_device_path): Likewise.
7780 (grub_efi_bios_device_path): Likewise.
7781
7782 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7785 (grub_ucs4_to_utf8_alloc): Likewise.
7786 (grub_ucs4_to_utf8): Likewise.
7787 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7788 (grub_ucs4_to_utf8_alloc): Likewise.
7789
7790 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 AFFS never uses unicode.
7793
7794 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7795 (grub_latin1_to_utf8): New inline function.
7796 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7797
7798 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7801 overflow.
7802
7803 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7806 (grub_squash_dirent_header): Likewise.
7807 (read_chunk): Don't double swap.
7808 (grub_squash_iterate_dir): Fix swap sizes.
7809
7810 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7813
7814 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7817 (grub_hfs_iterate_dir): Likewise.
7818
7819 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 Fix video on platforms where unaligned access is forbidden.
7822 Make several optimisations while on it.
7823
7824 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7825 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7826 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7827 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7828 Disable.
7829 (grub_video_fbblit_replace_16bit_1bit):
7830 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7831 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7832 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7833 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7834 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7835 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7836 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7837 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7838 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7839 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7840 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7841 (grub_video_fbblit_replace_index_RGB888): Likewise.
7842 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7843 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7844 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7845 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7846 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7847 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7848 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7849 Disable.
7850 (grub_video_fbblit_blend_XXX565_1bit):
7851 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7852 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7853 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7854 void *.
7855 * grub-core/video/fb/video_fb.c (common_blitter)
7856 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7857 (grub_video_fb_create_render_target_from_pointer)
7858 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7859 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7860 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7861 definition.
7862 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7863
7864 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7867 HH22 and HM10 relocations.
7868
7869 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7872
7873 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7876 allocation succeeded.
7877
7878 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7881 argument a u8 pointer. All users updated.
7882 Handle unaligned buffers.
7883
7884 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7887 add_part to workaround compiler bug.
7888
7889 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7892
7893 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7896 Reserve alignment invariants.
7897 (grub_multiboot_load): Likewise.
7898 (retrieve_video_parameters): Likewise.
7899 (grub_multiboot_make_mbi): Likewise.
7900
7901 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7904 incorrect pointer.
7905
7906 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7909 (grub_pata_pio_write): Likewise.
7910
7911 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 Add noreturn attributes and remove unreachable code.
7914
7915 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7916 code.
7917 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7918 code. Mark as noreturn.
7919 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7920 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7921 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7922 unreachable code.
7923 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7924 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7925 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7926 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7927 * include/grub/kernel.h (grub_main): Mark as noreturn.
7928 * include/grub/reader.h (grub_rescue_run): Likewise.
7929
7930 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7933 redundant declaration.
7934
7935 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7938 redundant declaration.
7939 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7940
7941 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7944 to ensure alignment.
7945 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7946 alignment. Ensure tmp alignment.
7947 (grub_cmd_hdparm): Ensure buf alignment.
7948 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7949 to ensure alignment.
7950 (grub_ata_dumpinfo): Ensure text alignment.
7951 (grub_atapi_identify): Preserve alignment invariant.
7952 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7953
7954 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7957 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7958 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7959 * include/grub/misc.h (grub_reboot)
7960 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7961 (grub_halt) [__mips__]: Likewise.
7962
7963 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7966 Remove redundant declaration.
7967 (grub_mmap_get_post64): Likewise.
7968 (grub_mmap_get_upper): Likewise.
7969 (grub_mmap_get_lower): Likewise.
7970
7971 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7974 uint32_t * to ensure alignment.
7975 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7976
7977 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7980 uint16_t * to ensure alignment.
7981 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7982 alignment.
7983
7984 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7987 to ensure alignment.
7988 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7989
7990 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7993 Handle unaligned pointers.
7994 (u32at): Likewise.
7995 (u64at): Likewise.
7996 (fixup): Use byte access instead of v16at.
7997 (find_attr): Fix imporper usage of v32at.
7998 (read_data): Likewise.
7999 (list_file): Handle byte-swapping and unaligned strings.
8000 (grub_ntfs_label): Likewise.
8001
8002 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8005 as it's not necessarily aligned.
8006
8007 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8010 redundant declaration.
8011 (grub_serial_init): Likewise.
8012 (grub_terminfo_init): Likewise.
8013
8014 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8017 function.
8018 (ZAP_HASH_IDX): Likewise.
8019 (ZAP_LEAF_HASH_SHIFT): Likewise.
8020 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8021 (LEAF_HASH): Likewise.
8022 (ZAP_LEAF_NUMCHUNKS): Likewise.
8023 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8024 alignment invariants. Return pointer. All users updated.
8025 (ZAP_LEAF_ENTRY): Make into inline function.
8026 (NBBY): Removed.
8027 (xor): LIkewise.
8028 (xor_out): Use grub_crypto_xor.
8029 (dnode_get_path): Use grub_get_unaligned.
8030 (nvlist_find_value): Likewise.
8031 (grub_zfs_nvlist_lookup_uint64): Likewise.
8032 (grub_zfs_nvlist_lookup_string): Likewise.
8033 (get_nvlist_size): Likewise.
8034 (grub_zfs_open): Likewise.
8035 (fill_fs_info): Likewise.
8036 (grub_zfs_dir): Likewise.
8037 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8038 alignment invariants.
8039 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8040 necessarily aligned.
8041
8042 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8045
8046 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8049 arithmetic to conserve alignment invariants.
8050
8051 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8054 redundant declaration.
8055 (grub_efiemu_mm_obtain_request): Likewise.
8056 (grub_efiemu_prepare): Likewise.
8057
8058 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8061 to match types.
8062
8063 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8066 case of aunaligned recptr.
8067 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8068 alignment.
8069 (grub_hfsplus_btree_search): Handle unaligned index.
8070
8071 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8074 to get freetag and skip.
8075
8076 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8079 array.
8080 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8081 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8082
8083 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8086 name for checksum and fix allocation algorithm.
8087
8088 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * include/grub/types.h (grub_properly_aligned_t): New type.
8091 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8092 (grub_get_unaligned16): Add explicit casts.
8093 (grub_get_unaligned32): Likewise.
8094 (grub_get_unaligned64): Likewise.
8095 (grub_set_unaligned16): New function.
8096 (grub_set_unaligned32): Likewise.
8097
8098 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8101
8102 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8105 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8106 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8107
8108 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8111 conditionals.
8112
8113 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8116 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8117
8118 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 Unify and improve RAID and crypto xor.
8121
8122 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8123 changed to grub_crypto_xor
8124 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8125 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8126 Use bigger types when possible.
8127
8128 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/disk/raid.c (scan_devices): Fix condition.
8131
8132 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8135 Make name a const ptr.
8136
8137 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8140 first argument a const pointer.
8141 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8142 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8143 proto.
8144 (grub_children_iterate): Likewise.
8145 (grub_machine_mmap_iterate): Remove redundant declaration.
8146
8147 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8150 (grub_cmd_acpi) [!x86]: Disable EBDA.
8151
8152 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 Enable UTF8 in gnulib regexp.
8155
8156 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8157 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8158 (isupper): Use grub_isupper.
8159 (isascii): New inline function.
8160 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8161 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8162 * grub-core/normal/charset.c (grub_utf8_process): New function.
8163 (grub_utf8_to_utf16): Use grub_utf8_process.
8164 (grub_encode_utf8_character): New function.
8165 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8166 * include/grub/charset.h (grub_utf8_process): New declaration.
8167 (grub_encode_utf8_character): Likewise.
8168 * include/grub/misc.h (grub_islower): New inline function.
8169 (grub_isupper): Likewise.
8170 (grub_strchrsub): Moved down to fix the definitions.
8171
8172 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8175 specification.
8176
8177 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * include/grub/loader.h (grub_loader_register_preboot_hook):
8180 Use struct preboot * and not void * for handle. All users updated.
8181 (grub_loader_unregister_preboot_hook): Likewise.
8182
8183 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8186 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8187 UTF-16-BE. All users updated.
8188 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8189 (grub_hfsplus_iterate_dir): Likewise.
8190 (grub_hfsplus_label): Likewise.
8191
8192 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8195
8196 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Add missing const qualifiers.
8199
8200 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8201 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8202 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8203 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8204 (grub_lvm_check_flag): Likewise.
8205 * grub-core/efiemu/i386/coredetect.c
8206 (grub_efiemu_get_default_core_name): Likewise
8207 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8208 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8209 * grub-core/fs/ntfs.c (fixup): Likewise.
8210 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8211 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8212 (fzap_lookup): Likewise.
8213 (zap_lookup): Likewise.
8214 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8215 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8216 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8217 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8218 (grub_freebsd_add_meta_module): Likewise.
8219 (grub_cmd_freebsd_module): Likewise.
8220 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8221 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8222 (grub_xnu_writetree_get_size): Likewise.
8223 (grub_xnu_writetree_toheap_real): Likewise.
8224 (grub_xnu_find_key): Likewise.
8225 (grub_xnu_create_key): Likewise.
8226 (grub_xnu_create_value): Likewise.
8227 (grub_xnu_register_memory): Likewise.
8228 (grub_xnu_check_os_bundle_required): Likewise.
8229 (grub_xnu_scan_dir_for_kexts): Likewise.
8230 (grub_xnu_load_kext_from_dir): Likewise.
8231 * grub-core/normal/color.c (color_list): Likewise.
8232 * grub-core/normal/completion.c (current_word): Likewise.
8233 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8234 * grub-core/term/serial.c (grub_serial_find): Likewise.
8235 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8236 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8237 Likewise.
8238 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8239 (grub_freebsd_add_meta_module): Likewise.
8240 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8241 * include/grub/net.h (grub_net_card_driver): Likewise.
8242 (grub_net_card): Likewise.
8243 (grub_net_app_protocol): Likewise.
8244 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8245 * include/grub/serial.h (grub_serial_find): Likewise.
8246 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8247 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8248 (grub_xnu_create_value): Likewise.
8249 (grub_xnu_find_key): Likewise.
8250 (grub_xnu_scan_dir_for_kexts): Likewise.
8251 (grub_xnu_load_kext_from_dir): Likewise.
8252
8253 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8254 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8255 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8256 Moved from here ...
8257 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8258
8259 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8262
8263 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8266 (read_device): Fix size calculation.
8267
8268 2011-11-25 Robert Millan <rmh@gnu.org>
8269
8270 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8271 (find_root_device_from_libzfs): Add zpool output parser to be used
8272 as fallback when libzfs isn't available.
8273
8274 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8275
8276 * po/Makefile.in.in: Add missing escape-continuation.
8277
8278 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8281
8282 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8285
8286 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8289
8290 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8293
8294 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/lib/adler32.c: Add missing license specification.
8297 * grub-core/lib/crc64.c: Likewise.
8298 * grub-core/loader/i386/pc/plan9.c: Likewise.
8299 * grub-core/partmap/plan.c: Likewise.
8300
8301 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8302
8303 Add facility to debug GRUB with gdb under qemu.
8304
8305 * grub-core/gdb_grub.in: New file.
8306 * grub-core/gmodule.pl.in: Likewise.
8307 * grub-core/Makefile.core.def (gmodule.pl): New script.
8308 (gdb_grub): Likewise.
8309
8310 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * util/grub-mount.c (argp_parser): Accept relative pathes.
8313 * util/grub-fstest.c (argp_parser): Likewise.
8314
8315 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 Plan9 support.
8318
8319 * Makefile.util.def (libgrubmods): Add
8320 grub-core/partmap/plan.c.
8321 * docs/grub.texi: Notice Plan9 support.
8322 * grub-core/Makefile.core.def (plan9): New module.
8323 (part_plan): Likewise.
8324 * grub-core/loader/i386/pc/plan9.c: New file.
8325 * grub-core/partmap/plan.c: Likewise.
8326 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8327 define.
8328 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8329 * include/grub/mm.h (grub_extend_alloc): New inline function.
8330
8331 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Make Reed-Solomon faster by using power of generator representation of
8334 GF(256)*.
8335
8336 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8337 (gf_double_t): Likewise.
8338 (gf_invert): Removed.
8339 (gf_powx): New array.
8340 (gf_powx_inv): Likewise.
8341 (scratch): Move higher.
8342 (gf_reduce): Removed.
8343 (gf_mul): Use powx.
8344 (gf_invert): Likewise.
8345 (init_inverts): Replaced with ...
8346 (init_powx): ...this. All users updated.
8347 (pol_evaluate): Replace multiplications with additions.
8348 (rs_encode): Likewise.
8349 (gauss_eliminate): Call gf_invert.
8350 (grub_reed_solomon_add_redundancy): Call init_powx.
8351 (grub_reed_solomon_recover): Call init_powx unconditionally.
8352
8353 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8356
8357 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8360 disk->partiton for safety.
8361
8362 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8365 Fix a memory leak.
8366 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8367
8368 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8371
8372 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8375
8376 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 Fix spaces handling in proc/self/mountinfo.
8379
8380 * util/getroot.c (unescape): New function.
8381 (grub_find_root_device_from_mountinfo): Use unescape.
8382
8383 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 Support ZFS embedding.
8386
8387 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8388 (grub_zfs_fs): Register grub_zfs_embed.
8389
8390 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 Fix MIPS compilation.
8393
8394 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8395 * include/grub/offsets.h: Rename decompressor fields from
8396 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8397 * util/grub-mkimage.c (image_targets): Use new names.
8398
8399 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Defer multiboot device parsing until we're in compressed part.
8402
8403 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8404 bsd_part. setdevice has fallen into disuse.
8405 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8406 (bsd_part): Likewise.
8407 (boot_dev): New variable.
8408 (multiboot_trampoline): Don't parse multiboot device.
8409 Pass multiboot device in %edx.
8410 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8411 grub_boot_device.
8412 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8413 Likewise.
8414 * grub-core/kern/i386/pc/startup.S: Save edx.
8415 (grub_boot_drive): Removed.
8416 (grub_install_dos_part): Likewise.
8417 (grub_install_bsd_part): Likewise.
8418 (grub_boot_device): New variable.
8419 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8420 (grub_install_bsd_part): Likewise.
8421 (grub_boot_drive): Likewise.
8422 (grub_boot_device): New variable.
8423 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8424 Removed.
8425 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8426 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8427 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8428 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8429 * util/grub-install.in: Remove redundant condition.
8430
8431 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 Fix bug introduced by previous commit.
8434
8435 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8436
8437 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 Use decompressors framework on i386-pc. It increases core size
8440 by 46 bytes but improves compatibility and maintainability.
8441
8442 * grub-core/Makefile.core.def (lzma_decompress): New image.
8443 (kernel): Add i386_pc_ldflags.
8444 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8445 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8446 to real_to_prot, prot_to_real and device info.
8447 * include/grub/offsets.h: Renamed decompressor offsets.
8448 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8449 (image_target_desc): Remove raw_size and rename decompressor fields.
8450 (compress_kernel): Handle lzma.
8451 (generate_image): Handle decompressors on i386-pc.
8452
8453 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * configure.ac: Add -fno-asynchronous-unwind-tables.
8456
8457 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 Move assembly code to C by using intwrap. It increases core size
8460 by 88 bytes but improves compatibility and maintainability.
8461
8462 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8463 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8464 ... here. Translated to C.
8465 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8466 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8467 ... here. Translated to C.
8468 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8469 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8470 ... here. Translated to C.
8471 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8472 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8473 ... here. Translated to C.
8474 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8475 * grub-core/term/i386/pc/console.c (grub_console_cls):
8476 ... here. Translated to C.
8477 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8478 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8479 ... here. Translated to C.
8480 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8481 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8482 Translated to C.
8483 * grub-core/term/i386/pc/console.c (int10_9): New function.
8484 (grub_console_putchar): Likewise.
8485 * include/grub/i386/pc/console.h: Removed the not anymore shared
8486 functions.
8487
8488 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 Move grub_chainloader_real_boot out of the kernel.
8491
8492 * grub-core/Makefile.am: Remove machine/loader.h.
8493 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8494 Removed.
8495 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8496 variable.
8497 (grub_relocator16_keep_a20_enabled): Likewise.
8498 (grub_relocator16_boot): Fill new variables.
8499 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8500 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8501 relocator.
8502 (grub_chainloader_unload): Likewise.
8503 (grub_chainloader_cmd): Likewise.
8504 * include/grub/i386/pc/loader.h: Removed.
8505 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8506 and esi. All initialisers updated.
8507
8508 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8509 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
8510
8511 * Makefile.util.def (grub-mount): New util.
8512 * .bzrignore: Add grub-mount.
8513 * configure.ac: Check for fuse and enable grub-mount if available.
8514 * docs/man/grub-mount.h2m: New file.
8515 * util/grub-mount.c: Likewise.
8516
8517 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/commands/efi/fixvideo.c: Gettextize.
8520 * grub-core/commands/hashsum.c: Likewise.
8521 * grub-core/commands/i386/cmostest.c: Likewise.
8522 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8523 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8524 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8525 * grub-core/commands/lsmmap.c: Likewise.
8526 * grub-core/commands/menuentry.c: Likewise.
8527 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8528 * grub-core/commands/setpci.c: Likewise.
8529 * grub-core/loader/i386/bsd.c: Likewise.
8530 * grub-core/loader/i386/linux.c: Likewise.
8531 * util/getroot.c: Likewise.
8532 * util/grub-editenv.c: Likewise.
8533 * util/grub-fstest.c: Likewise.
8534 * util/grub-mkfont.c: Likewise.
8535 * util/grub-mkimage.c: Likewise.
8536 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8537 * util/grub-pe2elf.c: Likewise.
8538 * util/grub-probe.c: Likewise.
8539 * util/grub-setup.c: Likewise.
8540 * util/ieee1275/ofpath.c: Likewise.
8541 * util/misc.c: Likewise.
8542 * util/raid.c: Likewise.
8543
8544 2011-11-11 Robert Millan <rmh@gnu.org>
8545
8546 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8547 __attribute__((unused)) from `os_dev', which *is* being used.
8548
8549 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8552 forgotten define.
8553 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8554 GRUB_IA64_DL_GOT_ALIGN.
8555 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8556 GRUB_IA64_DL_TRAMP_ALIGN.
8557
8558 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 Replace grub_fatal with normal errors in i386 linux loader.
8561
8562 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8563 (allocate_pages): Check find_efi_mmap_size return value.
8564 (grub_e820_add_region): Return error.
8565 (grub_linux_boot): Check mmap return value.
8566
8567 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/commands/acpihalt.c: Gettextized.
8570 * grub-core/commands/cacheinfo.c: Likewise.
8571 * grub-core/commands/cmp.c: Likewise.
8572 * grub-core/commands/efi/loadbios.c: Likewise.
8573 * grub-core/commands/gptsync.c: Likewise.
8574 * grub-core/commands/ieee1275/suspend.c: Likewise.
8575 * grub-core/commands/legacycfg.c: Likewise.
8576 * grub-core/commands/memrw.c: Likewise.
8577 * grub-core/commands/minicmd.c: Likewise.
8578 * grub-core/commands/parttool.c: Likewise.
8579 * grub-core/commands/time.c: Likewise.
8580 * grub-core/commands/videoinfo.c: Likewise.
8581 * grub-core/disk/geli.c: Likewise.
8582 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8583 * grub-core/disk/luks.c: Likewise.
8584 * grub-core/disk/lvm.c: Likewise.
8585 * grub-core/font/font_cmd.c: Likewise.
8586 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8587 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8588 * grub-core/gfxmenu/view.c: Likewise.
8589 * grub-core/kern/emu/hostdisk.c: Likewise.
8590 * grub-core/kern/emu/main.c: Likewise.
8591 * grub-core/kern/emu/misc.c: Likewise.
8592 * grub-core/kern/emu/mm.c: Likewise.
8593 * grub-core/kern/mips/arc/init.c: Likewise.
8594 * grub-core/kern/mips/loongson/init.c: Likewise.
8595 * grub-core/kern/partition.c: Likewise.
8596 * grub-core/lib/i386/halt.c: Likewise.
8597 * grub-core/lib/mips/arc/reboot.c: Likewise.
8598 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8599 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8600 * grub-core/loader/i386/xnu.c: Likewise.
8601 * grub-core/loader/multiboot.c: Likewise.
8602 * grub-core/net/bootp.c: Likewise.
8603 * grub-core/net/net.c: Likewise.
8604 * grub-core/normal/term.c: Likewise.
8605 * grub-core/partmap/bsdlabel.c: Likewise.
8606 * grub-core/parttool/msdospart.c: Likewise.
8607 * grub-core/term/gfxterm.c: Likewise.
8608 * grub-core/term/terminfo.c: Likewise.
8609 * grub-core/video/i386/pc/vbe.c: Likewise.
8610 * util/grub-menulst2cfg.c: Likewise.
8611 * util/grub-mkdevicemap.c: Likewise.
8612 * util/grub-mklayout.c: Likewise.
8613 * util/grub-mkrelpath.c: Likewise.
8614 * util/grub-script-check.c: Likewise.
8615 * util/ieee1275/grub-ofpathname.c: Likewise.
8616 * util/resolve.c: Likewise.
8617
8618 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 Support %1$d syntax.
8621
8622 * tests/printf_unit_test.c: New file.
8623 * Makefile.util.def (printf_test): New test.
8624 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8625
8626 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8629 fix.
8630
8631 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8634 dprintf.
8635 * grub-core/font/font.c (grub_font_load): Likewise.
8636
8637 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * util/grub-macho2img.c: Add comment concerning gettext.
8640 * grub-core/lib/legacy_parse.c: Likewise.
8641
8642 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8645 (grub_xvasprintf): Likewise.
8646
8647 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 Add const keyword to grub_env_get and gettextize week days.
8650
8651 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8652 (grub_read_hook_datetime): Return const char *.
8653 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8654 updated.
8655 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8656 Mark for gettext.
8657 (grub_get_weekday_name): Return const char *. Call gettext.
8658 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8659 char * and len as the argument. All users updated.
8660 (grub_script_argv_split_append): Receive const char *.
8661 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8662 * include/grub/env.h (grub_env_get): Likewise.
8663 (grub_env_read_hook_t): Return const char *.
8664 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8665 (grub_script_argv_split_append): Likewise.
8666
8667 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8670
8671 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8674 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8675
8676 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8679 Fix prototype.
8680
8681 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 Fix mips compilation.
8684
8685 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8686 normal decoder.
8687 (hashes): Use in embed decoder as well (for sizes).
8688 (dec_stream_header): Fix embed decompressor logic.
8689 (dec_stream_footer): Likewise.
8690
8691 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8694 an error and not a fatal on unrecognised relocation types.
8695
8696 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8699 Issue error rather than printf on unknown arguments.
8700
8701 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8704 Make buf a const.
8705
8706 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8709 Fix module name.
8710
8711 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8714 leftover debug printf.
8715
8716 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8719
8720 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8723 A stylistic fix.
8724
8725 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8728
8729 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8730
8731 Allow all modules to perform serial IO
8732
8733 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8734 * include/grub/serial.h (grub_serial_port_configure): New inline
8735 function.
8736 (grub_serial_port_fetch): Likewise.
8737 (grub_serial_port_put): Likewise.
8738 (grub_serial_port_fini): Likewise.
8739 (grub_serial_find): New proto.
8740
8741 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 Put symlink at the end of the node and fix a potential
8744 memory corruption.
8745
8746 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8747 Make symlink into an array.
8748 (set_rockridge): Set have_symlink and alloc_dirents.
8749 (grub_iso9660_read_symlink): Use new layout.
8750 (grub_iso9660_iterate_dir): Fix memory corruption.
8751 Use new layout.
8752 (grub_iso9660_dir): Set have_symlink.
8753 (grub_iso9660_open): Likewise.
8754
8755 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Remove local keyword.
8758
8759 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8760 (version_test_gt): Likewise.
8761 (version_find_latest): Likewise.
8762 (gettext_printf): Likewise.
8763 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8764
8765 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8768
8769 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 Fix ZFS memory and resource leaks.
8772
8773 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8774 All users updated.
8775 Free type on exit.
8776 (fill_vdev_info): New parameter inserted. All users updated.
8777 (check_pool_label): Likewise.
8778 (scan_disk): Likewise.
8779 (scan_devices): Close non-inserted disks.
8780 (fzap_iterate): Free l.
8781 (unmount_device): Free children descripto memory.
8782
8783 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8786 argument (access out of bounds).
8787
8788 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8791 >= 6 drives.
8792
8793 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8796 Fix declaration.
8797
8798 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Fix several memory leaks.
8801
8802 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8803 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8804 (grub_cpio_dir): Likewise.
8805 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8806 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8807 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8808 (grub_romfs_label): Likewise.
8809 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8810 (squash_unmount): New function.
8811 (grub_squash_dir): Fix memory leak.
8812 (grub_squash_open): Likewise.
8813 (grub_squash_read): Likewise.
8814 (grub_squash_mtime): Likewise.
8815 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8816 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8817 * util/grub-fstest.c (fstest): Likewise.
8818
8819 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8822 avoid accessing beyond the array.
8823
8824 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8827
8828 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 Several AFFS fixes.
8831
8832 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8833 (GRUB_AFFS_FLAG_FFS): Removed.
8834 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8835 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8836 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8837 (grub_fshelp_node): Make block 32-bit.
8838 Add block_cache and last_block_cache.
8839 (grub_affs_read_block): Fill and use block cache.
8840 (grub_affs_read_file): Removed.
8841 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8842 boot block.
8843 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8844 safety.
8845 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8846 space.
8847 (grub_affs_close): Free block cache.
8848 (grub_affs_read): Use grub_fshelp_read_file directly.
8849
8850 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8853 with no error set.
8854
8855 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8858 used variable.
8859 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8860 Likewise.
8861
8862 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8865
8866 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8867 byteswap when needed.
8868
8869 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 Fix FreeBSD compilation.
8872
8873 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8874 to avoid circular dependency.
8875 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8876 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8877 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8878
8879 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Fix ZFS crypto error types.
8882
8883 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8884 (grub_gcm_decrypt): Likewise.
8885 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8886 from PBKDF2.
8887
8888 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 Illumos support.
8891
8892 * Makefile.util.def (10_illumos): New script.
8893 * configure.ac: Set COND_HOST_ILLUMOS.
8894 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8895 Support Illumos calls.
8896 (find_partition_start) [__sun__]: Likewise.
8897 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8898 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8899 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8900 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8901 device.
8902 * util/grub-probe.c (probe) [__sun__]: Do character check.
8903 * util/grub.d/10_illumos.in: New file.
8904
8905 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Support escaped commas in hostdisk.
8908
8909 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8910 (find_grub_drive): Use unescape_cmp.
8911 (make_device_name): Escape commas.
8912
8913 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8916
8917 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8920 variable.
8921
8922 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 Support trampoline jumps on powerpc.
8925
8926 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8927 __ia64__ path.
8928 (grub_dl_load_segments): Set mod->sz.
8929 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8930 segments.
8931 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8932 (jump): Likewise.
8933 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8934 function.
8935 (trampoline): New struct.
8936 (trampoline_template): New const.
8937 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8938 * include/grub/dl.h (grub_dl): Add sz element.
8939 [__powerpc__]: Follow __ia64__.
8940 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8941 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8942 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8943 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8944
8945 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 ZFS crypto support.
8948
8949 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8950 * grub-core/Makefile.core.def (zfscrypt): New module.
8951 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8952 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8953 it. All users updated.
8954 (grub_zfs_decrypt): New var.
8955 (grub_zfs_load_key): Likewise.
8956 (zio_checksum_functions): Add SHA256+MAC.
8957 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8958 (zio_read): Handle encrypted blocks.
8959 (zap_verify): Remove incorrect check.
8960 (fzap_iterate): Handle non-standard fzap.
8961 (zap_iterate): Likewise.
8962 (zap_iterate_u64): New function.
8963 (dnode_get_fullpath): Load keys.
8964 * grub-core/fs/zfs/zfscrypt.c: New file.
8965 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8966 (grub_crypto_ecb_encrypt): Make input const.
8967 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8968 (grub_crypto_ecb_encrypt): Make input const.
8969 (GRUB_CIPHER_AES): New macro.
8970 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8971 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8972 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8973 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8974 prefix. All users updated.
8975 (grub_zfs_add_key): New proto.
8976 (grub_zfs_decrypt): Likewise.
8977 (grub_zfs_load_key): Likewise.
8978 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8979 * util/grub-fstest.c (options): Add -K option.
8980 (argp_parser): Likewise.
8981
8982 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 Support zle compression on ZFS.
8985
8986 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8987 (decomp_table): Add zle.
8988 * include/grub/zfs/zio.h (zio_compress): Add zle.
8989
8990 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 Support BtrFS embedding.
8993
8994 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8995 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8996 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8997 * util/grub-setup.c (setup): Use fs embedding if available.
8998 Add additional sanity check.
8999
9000 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * util/grub-install.in: Fix condition for config_opt.
9003
9004 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 Support third redundancy strip on raidz3.
9007
9008 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9009 Return error on singularity. All users updated.
9010 (read_device): Don't stop on 3rd failure on raidz3.
9011
9012 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 Support case-insensitive ZFS subvolumes.
9015
9016 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9017 All users updated.
9018 (zap_hash): Likewise.
9019 (name_cmp): New function.
9020 (zap_leaf_array_equal): New parameter case_insensitive.
9021 All users updated.
9022 (zap_leaf_lookup): Likewise.
9023 (fzap_lookup): Likewise.
9024 (zap_lookup): Likewise.
9025 (dnode_get_path): New parameter case_insensitive. Retrieve case
9026 sensitiviness of a volume. All users updated.
9027 (dnode_get_fullpath): New parameter case_insensitive.
9028 All users updated.
9029 (grub_zfs_dir): Set info.case_insensitiveness.
9030
9031 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Support second redundancy strip on raidz(2,3).
9034
9035 * grub-core/fs/zfs/zfs.c (powx): New array.
9036 (powx_inv): Likewise.
9037 (poly): New const.
9038 (xor_out): New function.
9039 (gf_mul): Likewise.
9040 (recovery): Likewise.
9041 (read_device): Use second redundancy strip.
9042
9043 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 Use a power of generator representation of GF(256) multiplication group
9046 to save space time and complexity.
9047
9048 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9049 (raid6_table2): Likewise.
9050 (powx): New array.
9051 (powx_inv): Likewise.
9052 (poly): New const.
9053 (grub_raid_block_mul): Replace with ...
9054 (grub_raid_block_mulx): ...this.
9055 (grub_raid6_init_table): Rewritten.
9056 (grub_raid6_recover): Use power of generator representation.
9057
9058 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9061 for the right device.
9062
9063 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9066 expected by grub-mkimage and it's more clear since there is no implicit
9067 padding.
9068
9069 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9072 disk.
9073 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9074
9075 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9076
9077 * util/grub-mkrescue.in: Fix handling xorriso option.
9078
9079 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9082 NULL.
9083
9084 2011-11-03 crocket <crockabiscuit@gmail.com>
9085
9086 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9087
9088 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 XZ CRC64 and SHA256 support.
9091
9092 * Makefile.util.def (libgrubmods): Add crc64.c.
9093 * grub-core/Makefile.core.def (crc64): New module.
9094 * grub-core/lib/crc64.c: New file.
9095 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9096 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9097 Fix the type.
9098 (MAX_HASH_SIZE): New define.
9099 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9100 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9101 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9102 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9103 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9104 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9105 Handle non-crc32 hashes.
9106 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9107 (dec_stream_header): Handle non-crc32 hashes.
9108 (dec_stream_footer): Likewise.
9109 (dec_block_header): Likewise.
9110 (dec_main): Likewise.
9111 (xz_dec_init): Likewise.
9112 (xz_dec_reset): Likewise.
9113 (xz_dec_end): Likewise.
9114 * util/import_gcry.py: Add CRC64 line.
9115
9116 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9119 as well.
9120
9121 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 Make reiserfs label retrieval similar to other *_label functions.
9124
9125 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9126 (REISERFS_MAX_LABEL_LENGTH): Removed.
9127 (REISERFS_LABEL_OFFSET): Likewise.
9128 (grub_reiserfs_label): Rewritten.
9129
9130 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9133 field.
9134
9135 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9138
9139 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9142 drive failure on both raidz and raidz2.
9143
9144 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 Fix RAIDZ(2) for >= 5 devices.
9147
9148 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9149 asize argument. All users updated.
9150
9151 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 Fix RAIDZ(2).
9154
9155 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9156 (fill_vdev_info_real): Set ashift.
9157 (read_device): Rewrite RAIDZ part based on reverse engineering.
9158
9159 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9162 don't report potentially unavialiable fields in debug output.
9163 (find_path): Fix double-free and memory leak.
9164
9165 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Read label on UFS1.
9168
9169 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9170 (grub_ufs_fs): Always set .label.
9171
9172 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 Use shifts in UFS.
9175
9176 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9177 (grub_ufs_data): New field log2_blksz.
9178 (grub_ufs_read_file): Use shifts.
9179 (grub_ufs_mount): Check block size and logarithm it.
9180
9181 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9184 long symlinks.
9185
9186 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 Handle symlinks and long names on tar and cpio.
9189
9190 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9191 (ATTR_FILE): Likewise.
9192 (ATTR_DIR): Likewise.
9193 (ATTR_LNK): Likewise.
9194 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9195 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9196 L and K entries.
9197 (grub_cpio_mount): Zero-fill data.
9198 (handle_symlink): New function.
9199 (grub_cpio_dir): Handle symlinks.
9200 (grub_cpio_open): Likewise.
9201 (grub_cpio_close) [MODE_USTAR]: Free linkname.
9202
9203 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 Fix iso9660 filename limitations and fix memory leaks.
9206
9207 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9208 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9209
9210 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Fix JFS file name length limitations.
9213
9214 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9215 (grub_jfs_diropen): Fix maximum filename length.
9216 (grub_jfs_getent): Fix filename length.
9217 (grub_jfs_lookup_symlink): Fix size checks.
9218
9219 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9222 string.
9223
9224 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 Leverage BFS implementation to read AFS.
9227
9228 * Makefile.util.def (libgrubmods): Add afs.c.
9229 * grub-core/Makefile.core.def (afs): New module
9230 * grub-core/fs/afs.c: New file.
9231 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9232
9233 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
9236
9237 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/fs/bfs.c: Run indent.
9240
9241 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 BFS implementation based on the specification.
9244
9245 * grub-core/fs/bfs.c: New file.
9246 * Makefile.util.def (libgrubmods): Add bfs.c.
9247 * grub-core/Makefile.core.def (bfs): New module.
9248
9249 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * util/grub-fstest.c (cmd_cp): Clarify error message.
9252 (cmd_cmp): Likewise.
9253
9254 2011-10-30 Yves Blusseau <blusseau@zetam.org>
9255
9256 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9257 and befs_be.
9258
9259 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Remove afs and befs because of copyright problem.
9262
9263 * grub-core/fs/afs.c: Removed.
9264 * grub-core/fs/afs_be.c: Removed.
9265 * grub-core/fs/befs.c: Removed.
9266 * grub-core/fs/befs_be.c: Removed.
9267 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9268 * grub-core/Makefile.core.def (afs): Removed.
9269 (afs_be): Likewise.
9270 (befs): Likewise.
9271 (befs_be): Likewise.
9272
9273 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 Prefer rockridge over Joliet.
9276
9277 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9278 to ...
9279 (set_rockridge): ... here.
9280 (grub_iso9660_mount): Check rockridge on the primary label when
9281 discovering. Ignore Joliet if Rockridge is present.
9282
9283 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Use shifts in nilfs2.
9286
9287 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9288 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9289 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9290 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9291 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9292 (grub_nilfs2_entries_per_block): Replaced with ...
9293 (grub_nilfs2_log_entries_per_block_log): ... this.
9294 (grub_nilfs2_blocks_per_group): Replaced with ...
9295 (grub_nilfs2_blocks_per_group_log): ... this.
9296 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9297 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9298 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9299 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9300 (grub_nilfs2_palloc_entry_offset): Replaced ...
9301 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9302 (grub_nilfs2_dat_translate): Use shifts.
9303 (grub_nilfs2_read_inode): Likewise.
9304 (GRUB_MOD_INIT): Ensure that logs are correct.
9305
9306 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 Use shifts in minix filesystem.
9309
9310 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9311 (GRUB_MINIX_ZONE2SECT): Likewise.
9312 (grub_minix_data): Replace block_size with log_block_size.
9313 (grub_minix_read_file): Use shifts.
9314 (grub_minix_mount): Check block size and take a logarithm.
9315
9316 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 Use shifts in squash4.
9319
9320 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9321 (squash_mount): Check block size and take logarithm.
9322 (direct_read): Use shifts.
9323
9324 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Correct befs block counting logic.
9327
9328 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9329 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9330 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9331 (grub_afs_read_inode): Use block_shift.
9332 (RANGE_SHIFT): New definition.
9333 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9334 unexpected conditions, use shifts and appropriate types.
9335 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9336
9337 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * grub-core/disk/raid.c (scan_devices): Check partition.
9340 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9341
9342 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Support BFS (befs) UUID.
9345
9346 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9347 (grub_afs_small_data_element_header): New struct.
9348 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9349 (grub_afs_read_attribute) [MODE_BFS]: New function.
9350 (grub_afs_iterate_dir): Allocate for complete inode.
9351 (grub_afs_mount): Likewise.
9352 (grub_afs_uuid) [MODE_BFS]: New function.
9353 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9354
9355 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9358 (zfs_unmount): Fix memory leak.
9359
9360 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 Support NTFS reparse points.
9363
9364 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9365 (symlink_descriptor): New struct.
9366 (grub_ntfs_read_symlink): New function.
9367 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9368 (grub_ntfs_open): Likewise.
9369
9370 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9373
9374 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 fstest xnu_uuid subcommand.
9377
9378 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9379 grub-core/commands/xnu_uuid.c.
9380 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9381 (fstest): Handle xnu_uuid.
9382 (options): Document xnu_uuid.
9383 (argp_parser): Parse xnu_uuid.
9384
9385 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9388 -l argument. Add newline at the end if printing.
9389 (GRUB_MOD_INIT): Document -l.
9390
9391 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9394
9395 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 ZFS multi-device and version 33 support.
9398
9399 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9400 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9401 (grub_zfs_data): Add multidev-ice-related fields.
9402 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9403 (dva_get_offset): Make dva const.
9404 (zfs_fetch_nvlist): New function.
9405 (fill_vdev_info_real): Likewise.
9406 (fill_vdev_info): Likewise.
9407 (check_pool_label): Likewise.
9408 (scan_disk): Likewise.
9409 (scan_devices): Likewise.
9410 (read_device): Likewise.
9411 (read_dva): Likewise.
9412 (zio_read_gang): Use read_dva.
9413 (zio_read_data): Likewise.
9414 (zap_leaf_lookup): Add missing endian conversion.
9415 (zap_verify): Add missing endian conversion. All users updated.
9416 (fzap_lookup): Likewise.
9417 (fzap_iterate): Likewise.
9418 (dnode_get_path): Handle SA bonus.
9419 (nvlist_find_value): Make input const. All users updated.
9420 (unmount_device): New function.
9421 (zfs_unmount): Use unmount_device.
9422 (zfs_mount): Use scan_disk.
9423 (zfs_mtime): New function.
9424 (grub_zfs_open): Handle system attributes.
9425 (fill_fs_info): Likewise.
9426 (grub_zfs_dir): Likewise.
9427 (grub_zfs_fs): Add mtime.
9428 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9429 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9430 (SA_MTIME_OFFSET): Likewise.
9431 (SA_SYMLINK_OFFSET): Likewise.
9432 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9433 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9434 (fstest): Support zfsinfo.
9435 (argp_parser): Likewise.
9436
9437 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9440 error.
9441
9442 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 ZFS fixes.
9445
9446 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9447 sharing the same block. Iterate over correct number of indices.
9448 (dnode_get_path): Handle symlinks correctly.
9449
9450 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9453
9454 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 Read label on HFS+.
9457
9458 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9459 (grub_hfsplus_btree_search): Fix types.
9460 (grub_hfsplus_label): Implement.
9461
9462 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9465
9466 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9469
9470 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 Fix symlink handling on iso9660.
9473
9474 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9475 All users updated.
9476 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9477 (grub_iso9660_read_symlink): Moved most of code ...
9478 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9479
9480 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9483 Use union to avoid breaking strict-aliasing rules.
9484
9485 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 Support multi-extent iso files.
9488
9489 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9490 Add node.
9491 (grub_fshelp_node): Revamp. All users updated.
9492 (FLAG_*): New enum.
9493 (read_node): New function.
9494 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9495 All users updated.
9496 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9497 (get_node_size): New function.
9498 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9499 entries.
9500 Fix memory leak on . and ..
9501 (grub_iso9660_read): Use read_node.
9502 (grub_iso9660_close): Free node.
9503
9504 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 Fix tar 4G limit and handle paths containing dot.
9507
9508 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9509 (canonicalize): New function.
9510 (grub_cpio_find_file): Use canonicalize. Store offs in
9511 grub_disk_addr_t.
9512 (grub_cpio_dir): Use grub_disk_addr_t.
9513 (grub_cpio_open): Likewise.
9514
9515 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9518
9519 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9520 unused flags.
9521 (grub_squash_inode): Add long_file and block_size.
9522 (grub_squash_cache_inode): New struct.
9523 (grub_squash_dirent): Make types into enum.
9524 (SQUASH_TYPE_LONG_REGULAR): New type.
9525 (grub_squash_frag_desc): Add field size.
9526 (SQUASH_BLOCK_FLAGS): New enum.
9527 (grub_squash_data): Use grub_squash_cache_inode.
9528 (grub_fshelp_node): Make ino_chunk 64-bit.
9529 (read_chunk): Minor argument change. All users updated.
9530 (squash_mount): Use correct le_to_cpu.
9531 (grub_squash_open): Handle LONG_REGULAR.
9532 (direct_read): New function.
9533 (grub_squash_read_data): Handle blocks correctly.
9534
9535 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9538
9539 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9542
9543 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 Fix 2G limit on ZFS.
9546
9547 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9548 types.
9549 (uberblock_verify): Likewise.
9550 (dmu_read): Likewise.
9551 (grub_zfs_read): Likewise. Remove invalid cast.
9552
9553 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9556 (grub_jfs_blkno): Fix incorrect shift.
9557 (grub_jfs_read_file): Use more appropriate types.
9558
9559 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 Support triple indirect on minix2 and minix3.
9562
9563 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9564 Declare triple_indir_zone.
9565 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9566 indirect.
9567
9568 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 Minix FS fixes.
9571
9572 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9573 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9574 Rename ctime to mtime. All users updated.
9575 (grub_minix_get_file_block): Fix types and double indirect computations.
9576
9577 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9580 if no label is found.
9581 (grub_fat_iterate_dir): Fix file size type.
9582 (grub_fat_iterate_dir): Likewise.
9583
9584 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9587 save some space.
9588 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9589 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9590
9591 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9594
9595 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * util/import_gcry.py: Accept space between # and include.
9598
9599 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9602
9603 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9606
9607 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9608 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9609 yylex_strncpy.
9610 * grub-core/script/yylex.l: Add fine-grained #pragma.
9611
9612 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9615 New inline function.
9616 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9617 Likewise.
9618 (memset) [GRUB_UTIL]: Likewise.
9619 (memcmp) [GRUB_UTIL]: Likewise.
9620
9621 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9624 inline function rather than a define.
9625
9626 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * util/grub-setup.c: Add missing include.
9629
9630 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * util/ieee1275/grub-ofpathname.c: Add missing include.
9633
9634 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9637 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9638 Likewise.
9639
9640 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9643 grub_memcmp usage.
9644
9645 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * util/grub-install.in: Add datarootdir as per automake manual
9648 suggestion.
9649 * util/grub-mknetdir.in: Likewise.
9650
9651 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9654 suggestion.
9655 * util/grub.d/10_kfreebsd.in: Likewise.
9656 * util/grub.d/10_linux.in: Likewise.
9657 * util/grub.d/10_netbsd.in: Likewise.
9658 * util/grub.d/10_windows.in: Likewise.
9659 * util/grub.d/20_linux_xen.in: Likewise.
9660
9661 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 Remove redundant grub_kernel_image_size.
9664
9665 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9666 _edata and _start.
9667 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9668 the small code. It moves it only by few bytes but simplifies the code.
9669 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9670 _start.
9671 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9672 (grub_kernel_image_size): Removed.
9673 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9674 (grub_kernel_image_size): Removed.
9675 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9676 compiled with Apple toolchain.
9677 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9678 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9679 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9680 (grub_total_module_size): Likewise.
9681 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9682 Removed.
9683 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9684 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9685 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9686 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9687 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9688 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9689 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9690 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9691 Removed.
9692 (grub_total_module_size): Removed.
9693 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9694 (image_targets): Likewise.
9695 Set .compressed_size to no field on sparc.
9696 (generate_image): Remove kernel_image_size handling.
9697
9698 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9699
9700 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9701 NULL pointer dereference.
9702
9703 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9706 done with a dedicated section.
9707
9708 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9709 Ensure the correct position of boot_path.
9710 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9711 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9712 other fields.
9713 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9714 * include/grub/boot.h: Removed. All references removed.
9715 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9716 Removed.
9717 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9718
9719 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9722 name.
9723
9724 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9727
9728 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9731 Don't add the bogus brackets.
9732
9733 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 ExFAT support.
9736
9737 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9738 * grub-core/Makefile.core.def (exfat): New module.
9739 * grub-core/fs/exfat.c: New file.
9740 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9741 (GRUB_FAT_ATTR_*): Make into an enum.
9742 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9743 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9744 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9745 (GRUB_FAT_MAXFILE): Removed.
9746 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9747 (grub_current_fat_bpb_t): New type.
9748 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9749 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9750 (grub_fat_dir_node_t): New type.
9751 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9752 (fat_log2) [MODE_EXFAT]: Removed.
9753 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9754 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9755 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9756 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9757 (grub_fat_label) [MODE_EXFAT]: New function.
9758 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9759 reserved_first_sector to 0.
9760
9761 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Move grub_reboot out of the kernel.
9764
9765 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9766 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9767 * grub-core/lib/efi/reboot.c: ... here.
9768 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9769 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9770 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9771 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9772 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9773 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9774 * grub-core/lib/ieee1275/reboot.c: ... here.
9775 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9776 * grub-core/lib/mips/arc/reboot.c: ... here.
9777 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9778 * grub-core/lib/mips/loongson/reboot.c: ...here.
9779 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9780 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9781 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9782 * include/grub/i386/reboot.h: New file.
9783 * include/grub/mips/loongson/ec.h: Fix includes.
9784 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9785 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9786 * grub-core/lib/i386/reboot.c: New file.
9787
9788 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Make grub_prefix into module to fix the arbitrary limit and save
9791 some space.
9792
9793 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9794 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9795 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9796 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9797 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9798 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9799 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9800 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9801 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9802 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9803 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9804 * include/grub/ia64/efi/kernel.h: Removed.
9805 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9806 (grub_prefix): Removed.
9807 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9808 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9809 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9810 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9811 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9812 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9813 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9814 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9815 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9816 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9817 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9818 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9819 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9820 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9821 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9822 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9823 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9824 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9825 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9826 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9827 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9828 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9829 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9830 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9831 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9832 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9833 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9834 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9835 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9836 from module.
9837 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9838 prefix_end.
9839 (image_targets): Likewise.
9840 (generate_image): Put prefix as a module.
9841
9842 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 Replace grub_module_iterate with FOR_MODULES.
9845
9846 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9847 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9848 (grub_efi_modules_addr): ...this.
9849 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9850 (grub_efi_init): Set grub_modbase.
9851 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9852 (grub_modbase): New variable.
9853 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9854 (grub_modbase): New variable.
9855 (grub_machine_init): Set grub_modbase.
9856 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9857 (grub_modbase): New variable.
9858 (grub_machine_init): Set grub_modbase.
9859 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9860 (grub_modbase): New variable.
9861 (grub_machine_init): Set grub_modbase.
9862 * grub-core/kern/main.c (grub_module_iterate): Remove.
9863 (grub_modules_get_end): Use grub_modbase.
9864 (grub_load_modules): Use FOR_MODULES.
9865 (grub_load_config): Likewise.
9866 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9867 (grub_modbase): New variable.
9868 (grub_machine_init): Set grub_modbase.
9869 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9870 (grub_modbase): New variable.
9871 (grub_machine_init): Set grub_modbase.
9872 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9873 Removed.
9874 (grub_modbase): New variable.
9875 (grub_machine_init): Set grub_modbase.
9876 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9877 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9878 (grub_module_iterate): Likewise.
9879 (grub_modbase): New variable declaration.
9880 (FOR_MODULES): New macro.
9881
9882 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9885 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9886
9887 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 Fix few obvious type discrepancies.
9890
9891 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9892 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9893 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9894 variable.
9895 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9896 and connected types.
9897 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9898 offset.
9899 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9900 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9901 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9902 and connected types.
9903
9904 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 Fix python 3.x incompatibilities.
9907
9908 * gentpl.py: Put brackets around print strings.
9909 * util/import_gcry.py: Open explicitly as utf-8.
9910 Use in instead of has_key.
9911
9912 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9915 (GRUB_XFS_INO_AGBITS): Make into inline function.
9916 (GRUB_XFS_INO_INOINAG): Likewise.
9917 (GRUB_XFS_INO_AG): Likewise.
9918 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9919 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9920 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9921 (GRUB_XFS_EXTENT_SIZE): Likewise.
9922 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9923 (GRUB_XFS_NEXT_DIRENT): Likewise.
9924 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9925 (grub_xfs_read_file): Fix offset type.
9926
9927 2011-10-15 Robert Millan <rmh@gnu.org>
9928
9929 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9930
9931 2011-10-15 Robert Millan <rmh@gnu.org>
9932
9933 Fix build problem on FreeBSD and GNU/kFreeBSD.
9934
9935 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9936
9937 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9940
9941 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9942 types.
9943 (grub_hfsplus_btree_recoffset): Likewise.
9944 (grub_hfsplus_btree_recptr): Likewise.
9945 (grub_hfsplus_find_block): Likewise.
9946 (grub_hfsplus_btree_search): Likewise.
9947 (grub_hfsplus_read_block): Likewise.
9948 (grub_hfsplus_read_file): Likewise.
9949 (grub_hfsplus_mount): Likewise.
9950 (grub_hfsplus_btree_iterate_node): Likewise.
9951 (grub_hfsplus_btree_search): Likewise.
9952 (grub_hfsplus_iterate_dir): Likewise.
9953 (grub_hfsplus_read): A small code simplification.
9954
9955 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/kern/emu/hostdisk.c
9958 (convert_system_partition_to_system_disk): Don't assume that children
9959 of mapper nodes are mapper nodes.
9960
9961 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9964 * include/grub/misc.h (grub_isxdigit): New function.
9965 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9966 switched to grub_isxdigit.
9967 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9968 number starting with a letter.
9969
9970 2011-10-09 Robert Millan <rmh@gnu.org>
9971
9972 LVM support for FreeBSD and GNU/kFreeBSD.
9973
9974 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9975 GNU/kFreeBSD.
9976 (LVM_DEV_MAPPER_STRING): Move from here ...
9977 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9978 * util/getroot.c: Include `<grub/util/lvm.h>'.
9979 (grub_util_get_dev_abstraction): Enable
9980 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9981 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9982 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9983 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9984 support it.
9985 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9986 GNU/kFreeBSD.
9987 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9988 when LVM abstraction is required for ${GRUB_DEVICE}.
9989
9990 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9991
9992 Add support for LZO compression in GRUB:
9993 - import of minilzo library,
9994 - LZO decompression for btrfs,
9995 - lzop files decompression.
9996
9997 * grub-core/io/lzopio.c: New file.
9998 * grub-core/lib/adler32.c: Likewise.
9999 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10000 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10001 * grub-core/lib/minilzo/minilzo.c: Likewise.
10002 * grub-core/lib/minilzo/minilzo.h: Likewise.
10003 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10004 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10005 grub-core/lib/minilzo/minilzo.c to common.
10006 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10007 cflags in cppflags.
10008 * grub-core/Makefile.core.def (btrfs): Likewise.
10009 * grub-core/Makefile.core.def (lzopio): New module.
10010 (adler32): Likewise.
10011 * grub-core/fs/btrfs.c: Include minilzo.h.
10012 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10013 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10014 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10015 (grub_btrfs_lzo_decompress): New function.
10016 (grub_btrfs_extent_read): Add support for LZO compression type.
10017 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10018 (GRUB_USHRT_MAX): Likewise.
10019 (GRUB_UINT_MAX): Likewise.
10020 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10021 (UINT_MAX): Likewise.
10022 (CHAR_BIT): Likewise.
10023 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10024 grub-core/lib/posix_wrap/limits.h
10025 (UCHAR_MAX): Likewise.
10026 * include/grub/file.h (grub_file_filter_id): New compression filter
10027 GRUB_FILE_FILTER_LZOPIO.
10028 * include/grub/file.h (grub_file_filter_id): Set
10029 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10030 * include/grub/types.h (grub_get_unaligned16): New function.
10031 (grub_get_unaligned32): Likewise.
10032 (grub_get_unaligned64): Likewise.
10033 * util/import_gcry.py (cryptolist): Add adler32.
10034
10035 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10038 in perspective decreases the complexity of build system and fixes
10039 compilation right now.
10040
10041 2011-10-01 Ales Nesrsta <starous@volny.cz>
10042
10043 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10044 (fixed problem related to using UHCI with coreboot).
10045
10046 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10047
10048 * gentpl.py: Use Autogen macros so that the output template file
10049 (Makefile.tpl) size is reduced.
10050
10051 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
10052
10053 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10054 extra_dist.
10055
10056 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10057
10058 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10059 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10060
10061 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10062
10063 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10064 _fullpath.
10065
10066 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10067
10068 Remove extra declaration of sleep for mingw32.
10069
10070 * util/misc.c (sleep) [__MINGW32__]: Removed.
10071 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10072
10073 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10074
10075 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10076 type and packname.
10077 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10078 Resurrected.
10079 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10080 (grub_netbsd_btinfo_bootwedge): New struct.
10081 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10082 New function.
10083 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10084
10085 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10086
10087 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10088 loader.
10089
10090 2011-09-28 Andreas Born <futur.andy@googlemail.com>
10091
10092 Fix incorrect identifiers in bash-completion.
10093
10094 * util/bash-completion.d/grub-completion.bash.in
10095 (_grub_mkpasswd-pbkdf2): Rename to ...
10096 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10097 (_grub_script-check): Rename to ...
10098 (_grub_script_check): ... this. All users updated.
10099
10100 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10103 Return 0 if disk isn't biosdisk.
10104
10105 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10106
10107 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10108 on NetBSD.
10109 * Makefile.util.def (grub-fstest): Likewise.
10110
10111 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10112
10113 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10114 Get sector size from disk label.
10115
10116 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
10117
10118 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10119 */README* as well as README*.
10120 Reported by: Axel Beckert.
10121
10122 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10125 case of less than 256 MiB of RAM.
10126
10127 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/commands/wildcard.c (make_regex): Handle @.
10130
10131 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10134
10135 2011-08-21 Szymon Janc <szymon@janc.net.pl>
10136
10137 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10138 AC_LANG_CONFTEST macros.
10139
10140 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10141
10142 Add grub-fstest option to uncompress data for commands.
10143
10144 * util/grub-fstest.c (uncompress): New var.
10145 (options): New option -u.
10146
10147 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10148
10149 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10150 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10151
10152 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10153
10154 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10155 file type was not recognized correctly (not gzip or corrupted).
10156
10157 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10160 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10161
10162 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10165 loongson.
10166 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10167 video_radeon_fuloong2e.
10168 * grub-core/video/radeon_fuloong2e.c: New file.
10169 * include/grub/video.h (grub_video_id_t): Add new ID
10170 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10171
10172 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10175 define.
10176 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10177 that PRID matches the detected subplatform and reset the subplatform
10178 if it doesn't.
10179
10180 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10183
10184 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Fix PCI iterating on functions >= 4.
10187
10188 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10189 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10190 Removed.
10191 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10192 (grub_pci_read): Fix bitmask.
10193 (grub_pci_read_word): Likewise.
10194 (grub_pci_read_byte): Likewise.
10195 (grub_pci_write): Likewise.
10196 (grub_pci_write_word): Likewise.
10197 (grub_pci_write_byte): Likewise.
10198
10199 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10202 can still be specified in TARGET_CFLAGS)
10203
10204 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10207
10208 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10209 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10210 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10211 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10212 (FULOONG): Rename to ...
10213 (FULOONG2F): ... this. All users updated.
10214 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10215 (machtype_fuloong2f_str): ... this.
10216 (machtype_fuloong2e_str): New string.
10217 Check for machtype_fuloong2e_str.
10218 * grub-core/loader/mips/linux.c (loongson_machtypes)
10219 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10220 * grub-core/term/serial.c (loongson_defserial)
10221 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10222 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10223 loongson_defserial.
10224 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10225 Rename to ...
10226 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10227 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10228 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10229 to IMAGE_FULOONG2F_FLASH. All users updated.
10230 (image_targets): Rename images.
10231 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10232
10233 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10234
10235 Make enable of disk cache statistics code configurable.
10236
10237 * configure.ac: --enable-cache-stats added.
10238 * config.h.in (DISK_CACHE_STATS): New define.
10239 * grub-core/Makefile.core.def (cacheinfo): New command.
10240 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10241 * grub-core/commands/cacheinfo.c: New file.
10242 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10243 moved to cacheinfo.c.
10244 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10245 debug code.
10246 * include/grub/disk.h: Likewise.
10247
10248 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10249
10250 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10251 * grub-core/Makefile.am: Likewise.
10252
10253 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10256 non-zero pull.
10257
10258 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10261 All users updated.
10262 (grub_jfs_lookup_symlink): Use correct starting inode.
10263
10264 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * util/grub-setup.c (main): Add missing gcry initialisation.
10267
10268 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 Don't accept text modes on EFI when booting Linux.
10271
10272 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10273 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10274
10275 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
10276 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10279 use of "/path/.." as in grub-install for EFI as well as handling
10280 symlinks correctly.
10281 Fixes Debian bug #637768.
10282
10283 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10284
10285 * util/grub-probe.c: Remove duplicate #include.
10286
10287 2011-08-10 Robert Millan <rmh@gnu.org>
10288
10289 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10290
10291 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10292 function.
10293 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10294 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10295
10296 2011-08-03 Robert Millan <rmh@gnu.org>
10297
10298 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10299 la_array as packed.
10300 Reported by: Zachary Bedell
10301
10302 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10303
10304 * configure.ac: The Loongson port requires grub-mkfont due to its
10305 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10306 be built.
10307
10308 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10309
10310 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10311 processing arguments (otherwise help2man fails when GRUB has not yet
10312 been installed).
10313
10314 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 New script grub-mkstandalone.
10317
10318 * Makefile.util.def (grub-mkstandalone): New script.
10319 * docs/man/grub-mkstandalone.h2m: New file.
10320 * util/grub-mkstandalone.in: Likewise.
10321
10322 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 Support ATA disks with 4K sectors.
10325
10326 * include/grub/ata.h (grub_ata): New member log_sector_size.
10327 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10328 (grub_ata_identify): Read sector size.
10329 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10330
10331 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * util/grub-install.in: Don't use uhci outside of x86.
10334
10335 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * util/grub-mkrescue.in: Add missing quotes.
10338
10339 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10342 dereference.
10343
10344 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10347
10348 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * include/grub/video.h: add missing EXPORT_FUND on
10351 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10352
10353 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * include/grub/mips/kernel.h: Fix define conflict.
10356
10357 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10360 all four ways.
10361
10362 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
10363
10364 Preferred resolution detection for VBE.
10365
10366 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10367 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10368 the Flat Panel extension, in line with the X.org VESA driver.
10369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10370 New function.
10371 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10372 (grub_vbe_bios_read_edid): Likewise.
10373 (grub_vbe_get_preferred_mode): Likewise.
10374 (grub_video_vbe_setup): When the mode is "auto", try to get the
10375 preferred mode from VBE, and use the largest mode that is no larger
10376 than the preferred mode (some BIOSes expose a preferred mode that is
10377 not in their mode list!). If this fails, fall back to 640x480 as a
10378 safe conservative choice.
10379 (grub_video_vbe_get_edid): New function.
10380 (grub_video_vbe_adapter): Add get_edid.
10381 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10382 (struct grub_video_adapter): Add get_edid.
10383 (grub_video_edid_checksum): Add prototype.
10384 (grub_video_edid_preferred_mode): Likewise.
10385 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10386 structure.
10387
10388 * grub-core/commands/videoinfo.c (print_edid): New function.
10389 (grub_cmd_videoinfo): Print EDID if available.
10390
10391 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10392 is more appropriate on a wider range of platforms than 640x480.
10393 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10394 documentation.
10395
10396 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10399
10400 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * po/POTFILES.in: Regenerate.
10403
10404 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10407 incorrect memory usage.
10408
10409 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * util/grub-install.in: Source grub-mkconfig_lib.
10412
10413 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 Remove getroot.c from core on emu platform.
10416
10417 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10418 kern/emu/raid.c.
10419 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10420 useless.
10421 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10422 * util/getroot.c (get_win32_path): ... here.
10423 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10424 * util/getroot.c (fini_libzfs): ... here.
10425 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10426 * util/getroot.c (grub_get_libzfs_handle): ... here.
10427 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10428 Moved from here...
10429 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10430 * grub-core/kern/emu/misc.c
10431 (grub_make_system_path_relative_to_its_root): Moved from here...
10432 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10433 * grub-core/kern/emu/getroot.c: Moved from here ...
10434 * util/getroot.c: ... here. All users updated.
10435 * grub-core/kern/emu/raid.c: Moved from here ...
10436 * util/raid.c: ... here. All users updated.
10437
10438 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * po/POTFILES.in: Regenerate.
10441
10442 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 Fix compilation on GNU/Linux.
10445
10446 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10447 Disable geli.
10448 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10449 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10450 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10451
10452 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10453 2011-07-07 Michael Gorven <michael@gorven.za.net>
10454 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10455
10456 LUKS and GELI support.
10457
10458 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10459 grub-core/disk/luks.c, grub-core/disk/geli.c,
10460 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10461 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10462 grub-core/lib/arg.c.
10463 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10464 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10465 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10466 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10467 (grub-bin2h): Add libgcry.a.
10468 (grub-mkimage): Likewise.
10469 (grub-mkrelpath): Likewise.
10470 (grub-script-check): Likewise.
10471 (grub-editenv): Likewise.
10472 (grub-mkpasswd-pbkdf2): Likewise.
10473 (grub-pe2elf): Likewise.
10474 (grub-fstest): Likewise.
10475 (grub-mkfont): Likewise.
10476 (grub-mkdevicemap): Likewise.
10477 (grub-probe): Likewise.
10478 (grub-ofpath): Likewise.
10479 (grub-mklayout): Likewise.
10480 (example_unit_test): Likewise.
10481 (grub-menulst2cfg): Likewise.
10482 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10483 * grub-core/Makefile.core.def (cryptodisk): New module.
10484 (luks): Likewise.
10485 (geli): Likewise.
10486 * grub-core/disk/AFSplitter.c: New file.
10487 * grub-core/disk/cryptodisk.c: Likewise.
10488 * grub-core/disk/geli.c: Likewise.
10489 * grub-core/disk/luks.c: Likewise.
10490 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10491 grub_util_is_lvm.
10492 (grub_util_get_dm_abstraction): New function.
10493 (grub_util_follow_gpart_up): Likewise.
10494 (grub_util_get_geom_abstraction): Likewise.
10495 (grub_util_get_dev_abstraction): Use new functions.
10496 (grub_util_pull_device): Pull GELI and LUKS.
10497 (grub_util_get_grub_dev): Handle LUKS and GELI.
10498 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10499 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10500 (follow_geom_up): Removed.
10501 (grub_util_fd_seek): New function.
10502 (open_device): Use grub_util_fd_seek.
10503 (nread): Rename to ..
10504 (grub_util_fd_read): ... this. All users updated.
10505 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10506 (grub_crypto_cbc_decrypt): Likewise.
10507 (grub_crypto_hmac_write): Likewise.
10508 (grub_crypto_hmac_buffer): Likewise.
10509 (grub_password_get): Extend to util.
10510 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10511 New member modname.
10512 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10513 * include/grub/cryptodisk.h: New file.
10514 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10515 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10516 LUKS and GELI.
10517 (grub_util_follow_gpart_up): New proto.
10518 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10519 (grub_util_fd_read): Likewise.
10520 (grub_cryptodisk_cheat_mount): Likewise.
10521 (grub_util_cryptodisk_print_uuid): Likewise.
10522 (grub_util_get_fd_sectors): Likewise.
10523 * util/grub-fstest.c (mount_crypt): New var.
10524 (fstest): Mount crypto if requested.
10525 (options): New option -C.
10526 (argp_parser): Parse -C.
10527 (main): Init and fini gcry.
10528 * util/grub-install.in: Support cryptodisk install.
10529 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10530 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10531 cryptodisk.
10532 (prepare_grub_to_access_device): Likewise.
10533 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10534 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10535 (probe_cryptodisk_uuid): New function.
10536 (probe_abstraction): Likewise.
10537 (probe): Use new functions.
10538 * util/import_gcry.py: Create Makefile.utilgcry.def.
10539 Add modname member.
10540
10541 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 Lazy device scanning.
10544
10545 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10546 (grub-setup): Remove util/raid.c.
10547 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10548 * grub-core/disk/lvm.c (scan_depth): New variable.
10549 (grub_lvm_iterate): Rescan if necessary.
10550 (find_lv): New function based on grub_lvm_open.
10551 (grub_lvm_open): Use find_lv. Rescan on error.
10552 (is_node_readable): New function.
10553 (is_lv_readable): Likewise.
10554 (grub_lvm_scan_device): Skip already found disks.
10555 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10556 Stop if searched device is found and readable.
10557 * grub-core/disk/raid.c (inscnt): New variable.
10558 (scan_depth): Likewise.
10559 (scan_devices): New function based on grub_raid_register. Abort if
10560 looked for device is found.
10561 (grub_raid_iterate): Rescan if needed.
10562 (find_array): NEw function based on -grub_raid_open.
10563 (grub_raid_open): Use find_array and rescan.
10564 (insert_array): Set became_readable_at.
10565 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10566 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10567 New function.
10568 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10569 (grub_util_pull_device): New function.
10570 (grub_util_get_grub_dev): Call grub_util_pull_device.
10571 * util/raid.c: Moved to ..
10572 * grub-core/kern/emu/raid.c: ... here.
10573 (grub_util_raid_getmembers): New parameter "bootable".
10574 All users updated. Support 1.x.
10575 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10576 All users updated.
10577 * include/grub/disk.h (grub_disk_pull_t): New enum.
10578 (grub_disk_dev): Change iterate prototype.
10579 All users updated.
10580 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10581 New proto.
10582 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10583 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10584 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10585 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10586 All users updated.
10587 * include/grub/util/raid.h: Removed.
10588
10589 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * po/POTFILES.in: Regenerate.
10592
10593 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 Unify sparc init with other ieee1275.
10596
10597 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10598 instead of kern/sparc64/ieee1275/init.c.
10599 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10600 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10601 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10602 grub/machine/kernel.h.
10603 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10604 (grub_claim_heap) [__sparc__]: Use sparc version.
10605 (grub_machine_init): Moved args parsing to
10606 (grub_parse_cmdline): ...this.
10607 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10608 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10609 New definition.
10610 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10611
10612 Move BOOTP to separate file.
10613
10614 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10615 * grub-core/net/net.c: Move all BOOTP functions to
10616 * grub-core/net/bootp.c: ... here.
10617
10618 Use frame interface on PXE.
10619
10620 * grub-core/Makefile.core.def (pxecmd): Removed.
10621 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10622 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10623 * grub-core/i386/pc/pxe.c: Moved from here ...
10624 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10625 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10626 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10627
10628 EFI network support.
10629
10630 * grub-core/Makefile.core.def (efinet): New module.
10631 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10632 here...
10633 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10634 All users updated.
10635 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10636 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10637 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10638 * grub-core/net/drivers/efi/efinet.c: New file.
10639 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10640 (grub_efi_net_config): New extern var.
10641
10642 Various cleanups and bugfixes.
10643
10644 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10645 error.
10646 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10647 disk declared as partition.
10648 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10649 leak on failure.
10650 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10651 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10652 (grub_debug_zalloc): Likewise.
10653 (grub_debug_realloc): Likewise.
10654 (grub_debug_memalign): Likewise.
10655 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10656 Check that target is IPv4.
10657 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10658 local-mac-address as fallback.
10659 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10660 memory leak.
10661 * grub-core/net/ip.c (ipchksum): Rename to ...
10662 (grub_net_ip_chksum): ... this. All users updated.
10663 (grub_net_recv_ip_packets): Special handling for DHCP.
10664 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10665
10666 Unify prefix handling
10667
10668 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10669 (grub_machine_get_bootlocation): ... this.
10670 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10671 (grub_machine_get_bootlocation): ... this.
10672 (grub_prefix): New variable.
10673 (prefix): Removed.
10674 (root_dev): New variable.
10675 (dir): Likewise.
10676 (main): Use new variables.
10677 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10678 Revamped into ...
10679 (grub_machine_get_bootlocation): ... this.
10680 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10681 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10682 (grub_machine_get_bootlocation): ... this.
10683 (grub_machine_set_prefix): Removed.
10684 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10685 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10686 Revamped into ...
10687 (grub_machine_get_bootlocation): ... this.
10688 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10689 (grub_set_prefix_and_root): ... this. All users updated.
10690 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10691 Revamped into ...
10692 (grub_machine_get_bootlocation): ... this.
10693 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10694 (grub_machine_get_bootlocation): New proto.
10695 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10696
10697 Less intrusive and more reliable seek on network implementation.
10698
10699 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10700 (grub_file_seek): Don't call grub_file_net_seek.
10701 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10702 (grub_net_fs_read_real): .. this.
10703 (grub_net_seek_real): Use net->offset.
10704 (grub_net_fs_read): Seek if necessary.
10705
10706 Unify IEEE1275 netwotk config with the other platforms.
10707
10708 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10709 New variable.
10710 (grub_machine_get_bootlocation): Support network.
10711 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10712 Support type and device parsing.
10713 (grub_ieee1275_get_device_type): New function.
10714 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10715 into ...
10716 (grub_ieee1275_net_config_real): ... this.
10717 (grub_ofnet_probecards): Removed.
10718 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10719 * include/grub/ieee1275/ofnet.h: Removed.
10720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10721 extern var.
10722 (grub_ieee1275_get_device_type): New function.
10723
10724 Unify network device closing across platforms and make more robust.
10725
10726 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10727 grub_grubnet_fini.
10728 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10729 already.
10730 * grub-core/net/net.c (grub_net_network_level_interface_register):
10731 Update num_ifaces.
10732 (grub_net_card_unregister): Close all interfaces.
10733 (receive_packets): Don't poll if no iterfaces are registered.
10734 Open if necessary.
10735 (grub_net_fini_hw): New function.
10736 (grub_net_restore_hw): Likewise.
10737 (fini_hnd): New variable.
10738 (GRUB_MOD_INIT): Register preboot hook.
10739 (GRUB_MOD_FINI): Run and unregister preboot hook.
10740
10741 Poll network cards when idle.
10742
10743 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10744 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10745 * grub-core/net/net.c (receive_packets): Save last poll time.
10746 (grub_net_poll_cards_idle_real): New function.
10747 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10748 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10749 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10750
10751 Rename ofnet interfaces.
10752
10753 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10754 (grub_ofnet_findcards): Use ofnet_%s names.
10755
10756 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10757
10758 Cleanup socket opening.
10759
10760 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10761 (grub_net_fs_close): Likewise.
10762 (grub_net_fs_read_real): Use eof member.
10763 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10764 (+grub_net_udp_close): New inline function.
10765
10766 * include/grub/net/tftp.h: Moved to the top of ...
10767 * grub-core/net/tftp.c: ... here.
10768 * include/grub/net/ip.h: Moved mostly to the top of ...
10769 * grub-core/net/ip.c: ... here.
10770 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10771 * grub-core/net/ethernet.c: ... here.
10772
10773 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10774
10775 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10776 FS name.
10777
10778 * include/grub/net/ip.h (ipv4_ini): Removed.
10779 (ipv4_fini): Likewise.
10780
10781 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10782 (grub_net_send_ip_packets): Likewise.
10783
10784 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10787 grub_read_cmos prototype.
10788
10789 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 VGA text support in qemu-mips
10792
10793 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10794 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10795 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10796 text.
10797 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10798 * grub-core/kern/vga_init.c: ... this.
10799 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10800 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10801 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10802 Adjust.
10803 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10804 GRUB_MACHINE_PCI_IO_BASE.
10805
10806 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 MIPS qemu flash support.
10809
10810 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10811 magic.
10812 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10813 (grub_machine_init): Probe memory if its size isn't known.
10814 * util/grub-mkimage.c (image_targets): Add flash targets.
10815 (generate_image): Handle flash targets.
10816
10817 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 MIPS qemu at_keyboard support.
10820
10821 * gentpl.py (videoinkernel): Add qemu-mips.
10822 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10823 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10824 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10825 modules.
10826 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10827 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10828 * grub-core/term/serial.c (grub_serial_register)
10829 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10830
10831 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 CMOS support on sparc.
10834
10835 * gentpl.py (cmos): Add powerpc and sparc.
10836 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10837 powerpc and sparc.
10838 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10839 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10840 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10841 grub_set_datetime_cmos.
10842 * grub-core/lib/ieee1275/cmos.c: New file.
10843 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10844 (find_rtc): Set no_ieee1275_rtc on error.
10845 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10846 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10847 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10848 fail. Move value to argument. All users updated
10849 (grub_cmos_write): Likewise.
10850 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10851 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10852 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10853 grub_get_datetime_cmos and grub_set_datetime_cmos.
10854
10855 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10856
10857 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10858 sourcing grub-mkconfig_lib.
10859 * util/update-grub_lib.in: Likewise.
10860 * util/grub.d/00_header.in: Likewise.
10861 * util/grub.d/10_hurd.in: Likewise.
10862 * util/grub.d/10_kfreebsd.in: Likewise.
10863 * util/grub.d/10_linux.in: Likewise.
10864 * util/grub.d/10_netbsd.in: Likewise.
10865 * util/grub.d/10_windows.in: Likewise.
10866 * util/grub.d/20_linux_xen.in: Likewise.
10867 * util/grub.d/30_os-prober.in: Likewise.
10868
10869 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10870
10871 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10872 default_bg_color rather than black.
10873 (grub_gfxterm_fullscreen): Likewise.
10874 (grub_gfxterm_background_color_cmd): Save new background color in
10875 default_bg_color.
10876
10877 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10880
10881 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10884 mismerge.
10885
10886 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 Chainloading on coreboot support.
10889
10890 * grub-core/Makefile.core.def (chain): Add coreboot.
10891 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10892
10893 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10896 if it happens.
10897
10898 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 Implement time command.
10901
10902 * grub-core/Makefile.core.def (time): New module.
10903 * grub-core/commands/time.c: New file.
10904 * grub-core/script/parser.y: Remove "time" keyword.
10905 * grub-core/script/yylex.l: Likewise.
10906
10907 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10910
10911 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10914 when handling leftovers.
10915
10916 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10919 so that help2man doesn't fail.
10920
10921 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10924 type in pointers on sparc64.
10925 (get_card_packet): Likewise.
10926
10927 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10928
10929 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10930 with `*'.
10931 (grub_cmd_videoinfo): Fetch current video mode.
10932
10933 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10936 because of underlying system restrictions.
10937
10938 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10941 necessary.
10942
10943 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 Coreboot video support.
10946
10947 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10948 (vbe): Likewise.
10949 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10950 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10951 here ...
10952 * grub-core/kern/i386/int.S: ... here.
10953 * grub-core/video/i386/pc/vbe.c: Updated includes.
10954 * grub-core/video/i386/pc/vga.c: Likewise.
10955 * include/grub/i386/coreboot/memory.h
10956 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10957 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10958 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10959 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10960 Disable interrupts.
10961 * include/grub/i386/pc/vga.h: Removed. All users updated.
10962
10963 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10966 definitions for dprintf.
10967 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10968
10969 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10972 prototype.
10973 (get_card_packet): Likewise.
10974
10975 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10976
10977 Display the path of the file when file is not found
10978
10979 * grub-core/fs/fat.c: Display the filename when file is not found.
10980 * grub-core/fs/fshelp.c: Likewise.
10981 * grub-core/fs/hfs.c: Likewise.
10982 * grub-core/fs/jfs.c: Likewise.
10983 * grub-core/fs/minix.c: Likewise.
10984 * grub-core/fs/ufs.c: Likewise.
10985 * grub-core/fs/btrfs.c: Likewise.
10986 * grub-core/commands/i386/pc/play.c: Likewise.
10987
10988 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10989
10990 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10991 pointer checks before calling grub_free().
10992 * grub-core/commands/wildcard.c (match_devices): Likewise.
10993 * grub-core/commands/wildcard.c (match_files): Likewise.
10994 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10995 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10996 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10997 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10998 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10999 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11000 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11001 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11002 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11003
11004 2011-06-25 Patrick <p55@mailinator.com>
11005
11006 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11007
11008 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11011 (grub_pxe_send): Likewise.
11012 (GRUB_MOD_INIT): Fix types.
11013
11014 2011-06-24 Szymon Janc <szymon@janc.net.pl>
11015
11016 * grub-core/io/xzio.c: Fix code style issues
11017
11018 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11019 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
11020
11021 Network infrastructure.
11022 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11023
11024 * include/grub/net/arp.h: New file.
11025 * include/grub/net/device.h: Likewise.
11026 * include/grub/net/ethernet.h: Likewise.
11027 * include/grub/net/ip.h: Likewise.
11028 * include/grub/net/netbuff.h: Likewise.
11029 * include/grub/net/tftp.h: Likewise.
11030 * include/grub/net/udp.h: Likewise.
11031 * include/grub/ieee1275/ofnet.h: Likewise.
11032 * include/grub/emu/export.h: Likewise.
11033 * include/grub/net.h: Likewise.
11034 * grub-core/net/arp.c: Likewise.
11035 * grub-core/net/ethernet.c: Likewise.
11036 * grub-core/net/ip.c: Likewise.
11037 * grub-core/net/udp.c: Likewise.
11038 * grub-core/net/tftp.c: Likewise.
11039 * grub-core/net/netbuff.c: Likewise.
11040 * grub-core/net/net.c: Likewise.
11041 * grub-core/net/drivers/emu/emunet.c: Likewise.
11042 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11043 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11044 export.h.
11045 * grub-core/Makefile.core.def (net): New module.
11046 (tftp): Likewise.
11047 (ofnet): Likewise.
11048 (emunet): Likewise.
11049 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11050 network protocols.
11051 * grub-core/kern/device.c (grub_net_open) : New variable.
11052 (grub_device_open): Handle network device.
11053 (grub_device_close): Likewise.
11054 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11055 (grub_grubnet_fini): Likewise.
11056 (grub_file_seek): Seek in network device.
11057 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11058 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11059 network root.
11060 (grub_machine_fini): Call grub_grubnet_fini.
11061 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11062 network.
11063 (grub_ieee1275_get_aliasdevname): New function.
11064 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11065 Add unofficial Solaris network info.
11066 (grub_multiboot_make_mbi): Likewise.
11067 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11068 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11069 * include/grub/device.h (grub_fs): Removed.
11070 * include/grub/err.h (grub_err_t): Add network-related values.
11071 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11072 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11073 (grub_ieee1275_get_aliasdevname): New proto.
11074 * include/grub/net.h: Rewritten.
11075
11076 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11079 names.
11080
11081 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11084 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11085 it truncates the output.
11086 Reported by: Ximin Luo.
11087
11088 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11091
11092 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11095 partmap before abstraction.
11096
11097 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11098
11099 * util/grub-mkconfig_lib.in: Add missing quotes.
11100
11101 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11104 old method if mountinfo would return /dev/root and /dev/root doesn't
11105 exist.
11106
11107 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 ZFS zlib support
11110
11111 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11112 (decomp_table): Add zlib entries.
11113 (zio_read): USe 8 bits for compression function rather than 3.
11114 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11115
11116 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/disk/ahci.c: Add missing license statements.
11119 * grub-core/fs/romfs.c: Likewise.
11120 * grub-core/lib/ia64/setjmp.S: Likewise.
11121 * grub-core/loader/i386/pc/freedos.c: Likewise.
11122 * grub-core/loader/ia64/efi/linux.c: Likewise.
11123 * grub-core/video/colors.c: Likewise.
11124 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11125
11126 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 AHCI support.
11129
11130 * grub-core/Makefile.core.def (ata_pthru): Removed.
11131 (ahci): New module.
11132 (pata): Likewise.
11133 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11134 on unload.
11135 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11136 readwrite.
11137 (grub_hdparm_do_check_powermode_cmd): Likewise.
11138 (grub_hdparm_do_smart_cmd): Likewise.
11139 (grub_hdparm_set_val_cmd): Likewise.
11140 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11141 * grub-core/disk/ahci.c: New file.
11142 * grub-core/disk/ata.c: Factor out the low-level part into ...
11143 * grub-core/disk/pata.c: ... here.
11144 * grub-core/disk/ata_pthru.c: Contents moved to ...
11145 * grub-core/disk/pata.c: ... here.
11146 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11147 (grub_scsi_iterate): Use grub_scsi_names.
11148 (grub_scsi_open): Likewise.
11149 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11150 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11151 (grub_ata_regs_t): New struct.
11152 (grub_disk_ata_pass_through_parms): Likewise.
11153 (grub_ata_device): Renamed to ...
11154 (grub_ata): ... this.
11155 (grub_ata_dev): New struct.
11156 Removed all low-level inline functions.
11157 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11158 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11159 iterate hooks and open. All users updated.
11160 * util/grub-install.in: Handle AHCI disk module.
11161
11162 2011-06-23 Szymon Janc <szymon@janc.net.pl>
11163
11164 Add support for DRI and RSTn markers in JPEG files.
11165
11166 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11167 (JPEG_MARKER_RST0): Likewise.
11168 (JPEG_MARKER_RST1): Likewise.
11169 (JPEG_MARKER_RST2): Likewise.
11170 (JPEG_MARKER_RST3): Likewise.
11171 (JPEG_MARKER_RST4): Likewise.
11172 (JPEG_MARKER_RST5): Likewise.
11173 (JPEG_MARKER_RST6): Likewise.
11174 (JPEG_MARKER_RST7): Likewise.
11175 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11176 (grub_jpeg_decode_dri): New function.
11177 (grub_jpeg_decode_sos): Move image data related part into
11178 grub_jpeg_decode_data function.
11179 (grub_jpeg_decode_data): New function.
11180 (grub_jpeg_reset): New function.
11181 (grub_jpeg_decode_jpeg): Handle new markers.
11182
11183 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * util/ieee1275/ofpath.c (check_sas): Close fd.
11186 (main): Free of_path.
11187 Reported by: David Volgyes <dvolgyes>.
11188
11189 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11192 Reported by: David Volgyes <dvolgyes>.
11193
11194 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11197 file after stat.
11198 Reported by: David Volgyes <dvolgyes>.
11199
11200 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11203
11204 Reported by: David Volgyes <dvolgyes>.
11205
11206 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11209 Prevent memory leak.
11210
11211 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11214 (main): Close file.
11215 Reported by: David Volgyes <dvolgyes>.
11216
11217 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11220 to continue if allocation is failed.
11221
11222 Reported by: David Volgyes <dvolgyes>.
11223
11224 2011-06-23 David Volgyes <dvolgyes>
11225
11226 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11227 dereference.
11228
11229 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 Fix spurious warning.
11232
11233 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11234 (acorn_partition_map_find): Use .bin member.
11235
11236 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11239 /dev/root as a valid device.
11240
11241 2011-06-23 Jim Meyering <meyering@redhat.com>
11242
11243 Avoid NULL deref in grub_device_open.
11244
11245 * grub-core/kern/device.c (grub_device_open): Don't dereference
11246 a NULL pointer upon failed grub_env_get.
11247
11248 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 Support non-512B sectors and agglomerate reads.
11251
11252 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11253 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11254 (disk_io_guid): Removed.
11255 (make_devices): Locate solely by BlockIO.
11256 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11257 (grub_efidisk_read): Use read_blocks.
11258 (grub_efidisk_write): Use write_blocks.
11259 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11260 log_sector_size.
11261 (get_safe_sectors): Handle non-512B sectors.
11262 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11263 sectors.
11264 (grub_biosdisk_write): Handle non-512B sectors.
11265 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11266 (grub_scsi_read): Remove special non-512B block handling (now handled
11267 one level up).
11268 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11269 and do sanity checks.
11270 (grub_disk_adjust_range): Handle non-512B sectors.
11271 (transform_sector): New function.
11272 (grub_disk_read_small): Likewise.
11273 (grub_disk_read): Rewritten.
11274 (grub_disk_write): Handle non-512B sectors.
11275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11276 log_sector_size.
11277 (open_device): Use log_sector_size.
11278 (grub_util_biosdisk_read): Likewise.
11279 (grub_util_biosdisk_write): Likewise.
11280 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11281 non-512B sectors.
11282 (pc_partition_map_embed): Likewise.
11283 * include/grub/disk.h (grub_disk): New field log_sector_size.
11284 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11285 (GRUB_DISK_CACHE_BITS): Increased to 6.
11286 * util/grub-fstest.c (fstest): New command testload.
11287 (argp_parser): Likewise.
11288
11289 2011-06-16 Robert Millan <rmh@gnu.org>
11290
11291 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11292 `ata' driver on kernel of FreeBSD 9.
11293
11294 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11295 (get_ataraid_disk_name): New functions.
11296 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11297 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11298 get_ataraid_disk_name() and get_ada_disk_name().
11299
11300 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
11301
11302 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11303 input format.
11304
11305 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
11306
11307 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11308 `ftp.gnu.org' for `alpha.gnu.org'.
11309
11310 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11311
11312 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11313 partitions under /dev/disk/by-id/.
11314
11315 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11316
11317 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11318 after ten consecutive open failures. Scanning all the way up to
11319 10000 is excessive and can cause serious performance problems in
11320 some configurations.
11321 Fixes Ubuntu bug #787461.
11322
11323 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11326 opening new one.
11327
11328 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
11329 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 Don't stat devices unless we have to.
11332
11333 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11334 dir == /dev/mapper.
11335 (grub_guess_root_device): Use already known os_dev if possible.
11336 * grub-core/kern/emu/hostdisk.c
11337 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11338 if device is known to be a dm one.
11339
11340 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
11341
11342 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11343 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11344 Reported by: Pawel Tecza.
11345
11346 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11349 (lsefisystab): Likewise.
11350 (lssal): Likewise.
11351 (lsefimmap): Likewise.
11352 (hdparm): Enable on qemu-mips.
11353 (setjmp): Add ia64 nodist.
11354 (serial): Simplify tags.
11355
11356 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11357
11358 * Makefile.util.def (grub-ofpathname): Install manual page.
11359
11360 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11361
11362 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11363
11364 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11365
11366 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11367
11368 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11371 into dprintf.
11372
11373 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 Use full 64-bit division.
11376
11377 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11378 (grub_divmod64): ... this.
11379 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11380 version.
11381
11382 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11383
11384 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11385 `source'.
11386
11387 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11388
11389 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11390 to avoid accidents when debugging with 'sh -x'.
11391 * grub-core/gensyminfo.sh.in: Likewise.
11392 * tests/example_scripted_test.in: Likewise.
11393 * tests/grub_cmd_regexp.in: Likewise.
11394 * tests/grub_script_blanklines.in: Likewise.
11395 * tests/grub_script_dollar.in: Likewise.
11396 * tests/grub_script_expansion.in: Likewise.
11397 * tests/grub_script_final_semicolon.in: Likewise.
11398 * tests/partmap_test.in: Likewise.
11399 * tests/util/grub-shell-tester.in: Likewise.
11400 * tests/util/grub-shell.in: Likewise.
11401
11402 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11403
11404 Move gfxmenu color handling to video, so that gfxterm can use it
11405 too.
11406
11407 * grub-core/gfxmenu/named_colors.c: Move to ...
11408 * grub-core/video/colors.c: ... here. Rename
11409 grub_gui_get_named_color to grub_video_get_named_color.
11410 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11411 * grub-core/video/colors.c (my_isxdigit): ... here.
11412 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11413 Move to ...
11414 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11415 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11416 to ...
11417 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11418
11419 * include/grub/gui.h (grub_gui_color_t): Move to ...
11420 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11421 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11422 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11423 * include/grub/gui.h (grub_gui_map_color): Move to ...
11424 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11425 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11426 to ...
11427 * include/grub/video.h (grub_video_get_named_color): ... here.
11428 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11429 * include/grub/video.h (grub_video_parse_color): ... here.
11430
11431 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11432 video/colors.c.
11433 (gfxmenu): Remove gfxmenu/named_colors.c.
11434 (video) [videomodules]: Add video/colors.c.
11435
11436 Add a background_color command.
11437
11438 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11439 function.
11440 (GRUB_MOD_INIT): Register background_color command.
11441 (GRUB_MOD_FINI): Unregister background_color command.
11442 (redraw_screen_rect): Allow blend/replace of text layer to be
11443 controlled independently from whether there is a background bitmap.
11444 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11445 changing bitmap.
11446
11447 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 Patch BPB in ntldr and chainloader --bpb.
11450
11451 * grub-core/fs/fat.c: Include grub/fat.h.
11452 (grub_fat_bpb): Moved to ...
11453 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11454 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11455 grub/ntfs.h.
11456 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11457 Moved from here...
11458 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11459 here.
11460 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11461 New function.
11462 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11463 (GRUB_MOD_INIT): Show --bpb.
11464 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11465 * grub-core/normal/main.c (features): New variable.
11466 (GRUB_MOD_INIT): Set feature_* variables.
11467 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11468 proto.
11469 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11470
11471 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11474 for cleanness.
11475
11476 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 FreeDOS direct loading support.
11479
11480 * docs/grub.texi (Supported OS): Add FreeDOS.
11481 * grub-core/Makefile.core.def (freedos): New module.
11482 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11483 variable.
11484 (grub_relocator16_boot): Handle %ebx.
11485 * grub-core/lib/i386/relocator16.S: Likewise.
11486 * grub-core/loader/i386/pc/freedos.c: New file.
11487
11488 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 Long Linux command line support.
11491
11492 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11493 (maximal_cmdline_size): New variable.
11494 (allocate_pages): Use maximal_cmdline_size.
11495 (grub_cmd_linux): Set and use maximal_cmdline_size.
11496 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11497 (allocate_pages): Use maximal_cmdline_size.
11498 (grub_cmd_linux): Set and use maximal_cmdline_size.
11499 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11500 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11501 and cmdline_size.
11502
11503 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11504 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11505
11506 Improve devmapper support
11507
11508 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11509 (grub_util_is_lvm): New function.
11510 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11511 than lvm if not dmraid.
11512 Handle mapped md nodes.
11513 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11514 (grub_util_device_is_mapped): ... this. Make always available. All users
11515 updated.
11516 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11517 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11518 dmraid nodes.
11519 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11520
11521 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11524
11525 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11526 * grub-core/modinfo.sh.in: New file.
11527 * grub-core/Makefile.core.def (modinfo.sh): New script.
11528 * util/grub-mknetdir.in: Use modinfo.sh.
11529 * util/grub-mkrescue.in: Likewise.
11530
11531 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11534 Fix potential usage of Elf32 instead of Elf64 when compiling on
11535 32-bit architecture. Add endianness macros while on it.
11536
11537 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 Use mipsel- rather than mips- in directories involving mipsel ports to
11540 allow both endiannesses coexist.
11541
11542 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11543 mips. All conditions adjusted.
11544 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11545 variable.
11546 * util/grub-install.in: Adjust conditions to take renaming into account.
11547 * util/grub-mkimage.c (image_targets): Likewise. New target
11548 mips-qemu_mips-elf for bigendian mips.
11549
11550 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 Avoid unnecessary copying on MIPS.
11553
11554 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11555 early if src == dest.
11556 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11557 compression is none.
11558
11559 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 Reduce memory footprint on SGI by putting modules before the kernel
11562 as opposed to after.
11563
11564 * grub-core/Makefile.core.def (kernel): Increase linking address.
11565 (none_decompress): Likewise.
11566 (xz_decompress): Likewise.
11567 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11568 address.
11569 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11570 layout change.
11571 (grub_arch_modules_addr): New function.
11572 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11573 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11574 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11575 here.
11576 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11577 (grub_total_modules_size): ... this. Make global.
11578 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11579 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11580 New definition.
11581 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11582 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11583 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11584 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11585 * util/grub-mkimage.c (image_target_desc): New flag
11586 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11587 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11588 (generate_image): Handle images with modules before kernel.
11589
11590 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Prevent potential loss of memory map by overwrite on qemu-mips.
11593
11594 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11595 Save ram size in $s4.
11596 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11597 All users changed to grub_arch_memsize.
11598 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11599 Loongson.
11600 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11601 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11602 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11603 external variable.
11604
11605 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11606
11607 * .bzrignore: Remove grub-dumpbios.
11608
11609 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11610
11611 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11612 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11613 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11614 existing options which append).
11615 * docs/grub.texi (Simple configuration): Document new options.
11616 Reported by: Ian Jackson. Fixes Debian bug #617538.
11617
11618 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11619
11620 * util/grub-fstest.c (cmd_cat): New function.
11621 (fstest): Handle CMD_CAT.
11622 (options): Add cat.
11623 (argp_parser): Handle cat.
11624
11625 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11626
11627 * Makefile.util.def (grub-bin2h): Don't install.
11628 * docs/man/grub-bin2h.h2m: Remove.
11629
11630 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11633 place.
11634
11635 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 Reenable qemu-mips port.
11638
11639 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11640 Fix small arc bug while on it.
11641 * gentpl.py: Handle qemu_mips.
11642 * grub-core/Makefile.am: Likewise.
11643 * grub-core/Makefile.core.def: Likewise.
11644 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11645 inappropriate includes.
11646 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11647 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11648 * grub-core/kern/main.c (grub_modules_get_end)
11649 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11650 * grub-core/kern/mips/qemu-mips: Moved to ..
11651 * grub-core/kern/mips/qemu_mips: ... this.
11652 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11653 (grub_machine_init): Call terminfo_init and serial_init.
11654 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11655 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11656 New variable.
11657 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11658 parameter passing.
11659 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11660 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11661 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11662 * include/grub/mips/qemu_mips/cmos.h: New file.
11663 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11664 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11665 Removed.
11666 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11667 Use correct mips-style address.
11668 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11669 (GRUB_TICKS_PER_SECOND): Removed.
11670 (grub_get_rtc): Likewise.
11671 (grub_cpu_idle): Likewise.
11672 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11673 New definition.
11674 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11675 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11676 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11677 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11678 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11679 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11680 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11681 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11682
11683 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 SGI ARCS port.
11686
11687 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11688 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11689 platforms.
11690 * configure.ac: New target mips-arc.
11691 * gentpl.py: Likewise.
11692 * grub-core/Makefile.am: Likewise.
11693 * grub-core/Makefile.core.def: Likewise.
11694 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11695 (none_decompress): Likewise.
11696 (lsdev): New module.
11697 (datetime): Use lib/arc/datetime.c on ARC.
11698 (part_dvh): New module.
11699 * grub-core/commands/arc/lsdev.c: New file.
11700 * grub-core/disk/arc/arcdisk.c: Likewise.
11701 * grub-core/kern/mips/arc/init.c: Likewise.
11702 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11703 aligned addresses.
11704 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11705 support.
11706 (grub_arch_dl_relocate_symbols): Likewise.
11707 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11708 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11709 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11710 platforms.
11711 * grub-core/lib/arc/datetime.c: New file.
11712 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11713 pci.h on non-loongson.
11714 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11715 (grub_linux_boot): Set unused registers to 0.
11716 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11717 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11718 * grub-core/mmap/mips/uppermem.c: ...here.
11719 * grub-core/partmap/dvh.c: New file.
11720 * grub-core/term/arc/console.c: Likewise.
11721 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11722 (grub_terminfo_set_current): Add terminal "arc".
11723 (grub_terminfo_readkey): Support ARC sequences.
11724 * include/grub/arc/arc.h: New file.
11725 * include/grub/arc/console.h: Likewise.
11726 * include/grub/disk.h (grub_disk_dev_id): Add
11727 GRUB_DISK_DEVICE_ARCDISK_ID.
11728 * include/grub/mips/arc/kernel.h: New file.
11729 * include/grub/mips/arc/memory.h: Likewise.
11730 * include/grub/mips/arc/time.h: Likewise.
11731 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11732 * include/grub/mips/kernel.h (grub_halt): ... here.
11733 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11734 here...
11735 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11736 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11737 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11738 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11739 proto.
11740 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11741 from here ...
11742 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11743 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11744 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11745 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11746 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11747 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11748 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11749 (grub_phys_addr_t): Moved from here ...
11750 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11751 (grub_vtop): Moved from here ...
11752 * include/grub/mips/memory.h (grub_vtop): ... here.
11753 (grub_map_memory): Moved from here ...
11754 * include/grub/mips/memory.h (grub_map_memory): ... here.
11755 (grub_unmap_memory): Moved from here ...
11756 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11757 (grub_machine_mmap_iterate): Moved from here ...
11758 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11759 (grub_mmap_get_lower): Moved from here ...
11760 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11761 (grub_mmap_get_upper): Moved from here ...
11762 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11763 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11764 here ...
11765 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11766 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11767 here ...
11768 * include/grub/mips/time.h (grub_get_rtc): ... here.
11769 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11770 here ...
11771 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11772 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11773 here ...
11774 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11775 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11776 definition.
11777 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11778 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11779 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11780 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11781 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11782 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11783 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11784 (GRUB_MACHINE_LINK_ADDR): Likewise.
11785 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11786 to 6.
11787 * util/grub-install.in: Run dvhtool on ARC.
11788 * util/grub-mkimage.c (image_targets): Add mips-arc.
11789 (generate_image): Handle ECOFF output for mips-arc.
11790
11791 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11794 blocks.
11795
11796 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11799 after enabling port.
11800
11801 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 Skip incorrect USB devices.
11804
11805 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11806 configcnt == 0.
11807 * include/grub/usb.h (grub_usb_err_t): New enum value
11808 GRUB_USB_ERR_BADDEVICE.
11809
11810 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 Fuloong video init support.
11813
11814 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11815 well.
11816 (grub_vga_read_arx): New function.
11817 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11818 definition.
11819 (framebuffer): New members io, mmioptr and mmiobase.
11820 (read_sis_cmd): New function.
11821 (write_sis_cmd): Likewise.
11822 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11823 rather than 640x400.
11824 * grub-core/video/sis315_init.c: New file.
11825
11826 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11829 non-loongson.
11830 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11831 to grub_dl_register_symbol.
11832
11833 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Fix compilation errors.
11836
11837 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11838 potentially unused.
11839 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11840 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11841 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11842 to loongson machines.
11843
11844 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 Several FS mtime support.
11847
11848 * grub-core/fs/affs.c (grub_affs_time): New struct.
11849 (grub_affs_file): New field mtime.
11850 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11851 type. Removed 'size'. New field 'di'. All users updated.
11852 (grub_affs_mount): Simplify checsum checking.
11853 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11854 (grub_affs_dir): Handle mtime.
11855 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11856 (grub_cpio_dir): Likewise.
11857 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11858 (grub_hfs_filerec): New field mtime.
11859 (grub_hfs_dir): Handle mtime.
11860 (grub_hfs_mtime): New function.
11861 (grub_hfs_fs): Register grub_hfs_mtime.
11862 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11863 (grub_iso9660_dir): New field mtime.
11864 (grub_fshelp_node): New field dirent.
11865 (iso9660_to_unixtime): New function.
11866 (iso9660_to_unixtime2): Likewise.
11867 (grub_iso9660_read_symlink): Use node->dirent.
11868 (grub_iso9660_iterate_dir): Likewise.
11869 (grub_iso9660_dir): Set mtime.
11870 (grub_iso9660_mtime): New function.
11871 (grub_iso9660_fs): Register grub_iso9660_mtime.
11872 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11873 (grub_jfs_inode): New fields atime, ctime and mtime.
11874 (grub_jfs_dir): Set mtime.
11875 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11876 * grub-core/fs/ntfs.c (list_file): Set mtime.
11877 (grub_ntfs_dir): Likewise.
11878 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11879 (grub_reiserfs_iterate_dir): Set mtime.
11880 (grub_reiserfs_dir): Likewise.
11881 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11882 (grub_fshelp_node): Likewise.
11883 (grub_sfs_iterate_dir): Set mtime.
11884 (grub_sfs_dir): Likewise.
11885 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11886 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11887 (grub_xfs_inode): New fields atime, mtime, ctime.
11888 (grub_xfs_dir): Set mtime.
11889 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11890 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11891 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11892
11893 Support UDF symlinks.
11894
11895 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11896 (grub_ufs_read_symlink): New function. All users updated.
11897
11898 Check amiga partmap checksum.
11899
11900 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11901 (grub_amiga_partition): Likewise.
11902 (amiga_partition_map_checksum): New function.
11903 (amiga_partition_map_iterate): Check checksum.
11904
11905 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 ROMFS support.
11908
11909 * Makefile.util.def (libgrubmods.a): Add romfs.
11910 * grub-core/Makefile.core.def (romfs): New module.
11911 * grub-core/fs/romfs.c: New file.
11912
11913 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 Squashfs v4 support.
11916
11917 * Makefile.util.def (libgrubmods.a): Add squash4.
11918 * grub-core/Makefile.core.def (squash4): New module.
11919 * grub-core/fs/squash4.c: New file.
11920 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11921 disk_input_start, disk_input.
11922 (get_byte): Handle disk_input.
11923 (grub_zlib_disk_read): New function.
11924 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11925
11926 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11927 2011-05-15 Feiran Zheng <famcool@gmail.com>
11928
11929 * Makefile.util.def (libgrubmods.a): Add minix3.
11930 * grub-core/Makefile.core.def (minix3): New module.
11931 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11932 (GRUB_MINIX_BSIZE): Removed.
11933 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11934 (grub_minix_ino_t): New type.
11935 (grub_minix_le_to_cpu_ino): New macro.
11936 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11937 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11938 (grub_minix_data): New field block_size.
11939 (grub_minix_read_file): Handle 64-bit correctly.
11940 * grub-core/fs/minix3.c: New file.
11941
11942 2011-05-15 Tristan Gingold <gingold@free.fr>
11943 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11944 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 IA64 support.
11947
11948 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11949 * configure.ac: Add ia64-efi target.
11950 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11951 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11952 * gentpl.py: Add ia64_efi platform.
11953 Rename x86_efi to efi and Add ia64-efi. All users updated.
11954 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11955 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11956 Remove kern/generic/rtc_get_time_ms.c on EFI.
11957 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11958 kern/ia64/dl_helper.c on ia64-efi.
11959 Add kern/emu/cache.c on emu.
11960 (linux): Use on loader/ia64/efi/linux.c on ia64.
11961 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11962 whether symbol is a function.
11963 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11964 (grub_symbol): New field 'isfunc'.
11965 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11966 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11967 (grub_dl_load_segments): Place all sections into the same region.
11968 [__ia64__]: Create trampolines and got.
11969 [GRUB_MACHINE_EMU]: Call mprotect.
11970 (grub_dl_resolve_symbols): Resolve symbol type as well.
11971 [__ia64__]: Create function descriptors.
11972 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11973 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11974 (grub_get_rtc): New function.
11975 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11976 * grub-core/kern/emu/cache.S: Renamed to ...
11977 * grub-core/kern/emu/cache_s.S: ... this.
11978 [__ia64__]: Add a nop.
11979 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11980 [__ia64__]: New function.
11981 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11982 * grub-core/kern/ia64/dl.c: New file.
11983 * grub-core/kern/ia64/dl_helper.c: Likewise.
11984 * grub-core/kern/ia64/efi/init.c: New file.
11985 * grub-core/kern/ia64/efi/startup.S: Likewise.
11986 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11987 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11988 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11989 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11990 * grub-core/loader/ia64/efi/linux.c: New file.
11991 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11992 (GRUB_MOD_DEP): Likewise.
11993 (grub_dl) [__ia64__]: New fields got and tramp.
11994 (grub_dl): New field 'base'.
11995 (grub_dl_register_symbol): New argument isfunc. All users updated.
11996 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11997 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11998 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11999 (grub_ia64_dl_get_tramp_got_size): New proto.
12000 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12001 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12002 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12003 * include/grub/efi/api.h: Skip call wrappers on ia64.
12004 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12005 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12006 * include/grub/elf.h (ELF_ST_INFO): New definition.
12007 * include/grub/ia64/efi/kernel.h: New file.
12008 * include/grub/ia64/efi/memory.h: Likewise.
12009 * include/grub/ia64/efi/time.h: Likewise.
12010 * include/grub/ia64/kernel.h: Likewise.
12011 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12012 * include/grub/ia64/time.h: New file.
12013 * include/grub/ia64/types.h: Likewise.
12014 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12015 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12016 New protos.
12017 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12018 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12019 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12020 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12021 All users updated.
12022 (EFI64_HEADER_SIZE): New definition. All users updated.
12023 (image_targets): Add ia64-efi.
12024 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12025 jumpers_addr. All users updated.
12026 Create function descriptors.
12027 (count_funcs): New function.
12028 (unaligned_uint32): New struct.
12029 (MASK20): New definition.
12030 (MASK19): Likewise.
12031 (MASKF21): Likewise.
12032 (add_value_to_slot_20b): New function.
12033 (add_value_to_slot_21_real): Likewise.
12034 (add_value_to_slot_21): Likewise.
12035 (ia64_kernel_trampoline): New struct.
12036 (nopm): New variable.
12037 (jump): Likewise.
12038 (make_trampoline): New function.
12039 (relocate_addresses): Handle ia64.
12040 (make_reloc_section): Likewise.
12041 (load_image): Likewise.
12042
12043 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12046 warning. Move variables before code while on it.
12047
12048 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 Fuloong support.
12051
12052 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12053 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12054 * grub-core/boot/mips/loongson/fuloong.S: New file.
12055 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12056 Explicitly init CS5536.
12057 [FULOONG]: Don't use serial until CS5536 is available.
12058 Set GPIO based on dumps.
12059 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12060 [FULOONG]: Handle GPIO and memory controller differences.
12061 Parse machine type in $a2.
12062 * grub-core/boot/mips/startup_raw.S: Determine and save the
12063 architecture.
12064 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12065 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12066 init on architecture type.
12067 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12068 SIS315E. Don't init at_keyboard on fuloong.
12069 (grub_halt): Support Fuloong.
12070 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12071 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12072 (loongson_machtypes): New array.
12073 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12074 type.
12075 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12076 config. All users updated. Handle CS5536 serial.
12077 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12078 default port on machine type. Register serial as inactive.
12079 * grub-core/video/sis315pro.c: New file.
12080 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12081 definition.
12082 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12083 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12084 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12085 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12086 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12087 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12088 to ...
12089 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12090 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12091 definition.
12092 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12093 (grub_arch_machine): New extern var.
12094 * include/grub/mips/loongson/serial.h
12095 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12096 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12097 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12098 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12099 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12100 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12101 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12102 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12103 * include/grub/term.h (grub_term_register_input_inactive): New inline
12104 function.
12105 (grub_term_register_output_inactive): Likewise.
12106 * include/grub/video.h (grub_video_driver_id): New value
12107 GRUB_VIDEO_DRIVER_SIS315PRO.
12108 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12109 New field "names". All users updated.
12110 New field value IMAGE_FULOONG_FLASH.
12111 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12112
12113 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12114
12115 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12116 and add some clarification.
12117
12118 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12121 platforms if kernel is compressed.
12122
12123 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12126 unused modules since currently referrence counter isn't reliable and
12127 there isn't much memory to recover there anyway.
12128
12129 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12132 rather than resetting it to allow modules to reference themselves
12133 in init.
12134
12135 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12138 counter on dependencies since grub_dl_unref already handles this.
12139
12140 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12143 on error if not already done.
12144
12145 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 Fix few potential memory misusage.
12148
12149 * grub-core/font/font.c (load_font_index): Don't free char_index to
12150 avoid double free.
12151 (grub_font_load): Zero-fill font at alloc for safety.
12152 Close file on error.
12153 (free_font): Free bmp_idx.
12154
12155 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * docs/grub.texi (Installation): Fix several outdated claims.
12158
12159 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 Handle module_license on windows.
12162
12163 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12164 sections shifted.
12165 (insert_string): Make argument const char * instead of char *.
12166 (write_section_data): Handle long section names.
12167 Handle module_license.
12168
12169 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12172 handle class-free menuentries.
12173 (grub_normal_add_menu_entry): Add a check to be sure.
12174
12175 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12178 PgUp and PgDown.
12179
12180 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * configure.ac: Bump version to 1.99.
12183
12184 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 Give ATA device a bit more time on first try in order to allow disks
12187 to spin up.
12188
12189 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12190 if dev->present is 1. Reset dev->present on failure.
12191 (grub_ata_device_initialize): Set dev->present to 1.
12192 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12193 (grub_ata_device): New member 'present'.
12194
12195 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * util/grub-mkimage.c (generate_image): Update hash.
12198
12199 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 Flush caches on DMA memory.
12202
12203 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12204 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12205 (grub_dma_free): Likewise.
12206 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12207
12208 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12211 to avoid asm treating ld and sd as macros.
12212
12213 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12216 decompressor.
12217
12218 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12221 grub_decompress_core since later would fail if grub_decompress_core
12222 is too far.
12223
12224 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12227 R_MIPS_JALR since it's used by newer compiler.
12228
12229 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12232
12233 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12236 file_path to 0 for surety.
12237 (grub_chainloader_boot): Set exit_data to NULL.
12238 Unset the loader once done.
12239 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12240
12241 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12244 unknown key into a dprintf.
12245
12246 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12249 on first non-existant partition.
12250
12251 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12254 openning fails.
12255 Reported by: Mark Korenberg.
12256
12257 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12260 overflow.
12261
12262 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12265 before closing to ensure that it will be readable by grub-setup.
12266
12267 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12270 (devpath_1): Use MAKE_PIWG_PATH.
12271 (devpath_2): Likewise.
12272 (devpath_3): Likewise.
12273 (devpath_4): Likewise.
12274 (devpath_5): Likewise.
12275 (devpath_6): Likewise.
12276
12277 The appleldr.mod was checked that to be binary identical to previous
12278 version.
12279
12280 2011-05-05 Zach <mikezackles>
12281
12282 Support 2010 Macbooks.
12283
12284 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12285 (devs): Add devpath_6.
12286
12287 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12290 /dev/random. /dev/urandom is good enough for our purposes (salting).
12291
12292 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12295
12296 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12299 hexadecimal.
12300
12301 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12304 and not 0 on failure.
12305
12306 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12307
12308 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12309 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12310 disk; otherwise grub_fs_probe will not fall back to the next
12311 filesystem.
12312 (grub_pxefs_open): Likewise, for consistency.
12313 Reported and tested by: Ezekiel Grave.
12314
12315 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12316
12317 * tests/partmap_test.in: Don't hardcode path to parted.
12318 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12319
12320 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
12321
12322 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12323 of `ls' to find out which devices are available.
12324
12325 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12328 than source address for efi mmap buffer.
12329
12330 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12333 wrong action on non-detecting the magic.
12334
12335 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12338 already supplied by another part of the module (fixes compilation on
12339 FreeBSD).
12340
12341 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12344 match the one used by mdadm.
12345
12346 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12347
12348 * po/README: Add instructions for creating po/LINGUAS.
12349
12350 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12351
12352 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12353 #551428.
12354
12355 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12356 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12357 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12358 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12359 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12360 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12361 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12362 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12363 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12364 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12365 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12366 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12367 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12368 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12369 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12370 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12371 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12372 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12373 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12374 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12375 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12376 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12377
12378 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12379
12380 * grub-core/kern/emu/getroot.c
12381 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12382 test that was incorrectly reintroduced in r3214.
12383 Reported by: Ian Dall. Fixes Savannah bug #33133.
12384
12385 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12386
12387 Fix stack pointer handling in 16-bit relocator.
12388
12389 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12390 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12391 Fixes Ubuntu bug #683904.
12392
12393 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * configure.ac: Bump version to 1.99~rc2.
12396
12397 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12400 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12401 * grub-core/lib/x86_64/setjmp.S: Likewise.
12402 * grub-core/lib/mips/setjmp.S: Likewise.
12403 * grub-core/lib/powerpc/setjmp.S: Likewise.
12404 * grub-core/lib/sparc64/setjmp.S: Likewise.
12405
12406 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12409 * grub-core/lib/efi/datetime.c: Likewise.
12410
12411 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12414 New function.
12415 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12416 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12417 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12418
12419 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12422 bitmap.
12423 (grub_gfxterm_term_init): Likewise.
12424
12425 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 Take into account the decorations the computing menu entry width.
12428
12429 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12430 (grub_gfxmenu_create_box): Register get_border_width.
12431 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12432 if available.
12433 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12434 get_border_width.
12435
12436 2011-04-18 Endres Puschner <code@e7p.de>
12437
12438 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12439 Don't skip first class.
12440
12441 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12444 chunks.
12445 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12446
12447 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 Complete 64-bit division support.
12450
12451 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12452 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12453 * include/grub/misc.h (grub_divmod64): Rename to ...
12454 (grub_divmod64_full): ... this.
12455 (grub_divmod64): New inline function.
12456
12457 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12460
12461 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12464 performing the necessary test.
12465
12466 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12469 (kfreebsd.elf): Likewise.
12470 (pc-chainloader.elf): Likewise.
12471 (ntldr.elf): Likewise.
12472
12473 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 Identify RAID by its UUID rather than (guessed) name.
12476
12477 * grub-core/disk/raid.c (ascii2hex): New function.
12478 (grub_raid_open): Accept mduuid/%s specification.
12479 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12480 (get_mdadm_uuid): ... this.
12481 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12482
12483 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12486 to negative size.
12487
12488 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
12489
12490 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12491 btrfs subvolume.
12492 * util/grub.d/20_linux_xen.in: Likewise.
12493
12494 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
12495
12496 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12497 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12498
12499 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12500 Build a list of relevant visible mounts using the mnt_id and
12501 parent_mnt_id fields, and then scan that list at the end.
12502
12503 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12504
12505 * docs/grub.texi (normal): New section.
12506 (normal_exit): New section.
12507 (Embedded configuration): Add reference to normal.
12508 (GRUB only offers a rescue shell): Likewise.
12509 * docs/grub-dev.texi (Error Handling): Fix typo.
12510
12511 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12512
12513 * NEWS: Drop obsolete entry about probe-only btrfs support.
12514
12515 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * util/import_gcry.py: Fix typo.
12518
12519 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * NEWS: Add btrfs support.
12522
12523 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12524 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12525
12526 BtrFS support. Written by me (Vladimir) with important bugfixes and
12527 even more important testing by Colin.
12528
12529 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12530 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12531 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12532 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12533 mem_input_off and mem_input. All users updated to accept in-RAM input.
12534 (gzio_seek): New function.
12535 (test_zlib_header): Likewise.
12536 (grub_gzio_read): Likewise.
12537 (grub_zlib_decompress): Likewise.
12538 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12539 Accept partial and non-virtual mounts.
12540 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12541 avoid receiving /dev/dm-X as device.
12542 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12543 Handle bind and partial mounts.
12544 * grub-core/lib/crc.c: New file.
12545 * include/grub/deflate.h: Likewise.
12546 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12547 proto.
12548 * include/grub/lib/crc.h: New file.
12549
12550 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 Implement automatic module license checking according to new GNU
12553 guidelines.
12554
12555 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12556 (grub_dl_load_core): Use grub_dl_check_license.
12557 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12558 (GRUB_MOD_LICENSE): Likewise.
12559 (GRUB_MOD_DUAL_LICENSE): Likewise.
12560 All modules updated.
12561
12562 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12563
12564 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12565 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12566 loaders.
12567 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12568
12569 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12572
12573 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12576 failed.
12577
12578 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12581 parenthesis in the middle of the filename.
12582
12583 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12586 rather than trying to put initrd way too high.
12587 Reported by: Ryan Lortie <desrt@desrt.ca>
12588
12589 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12592 improperly removed string.
12593
12594 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12597 is_disk.
12598 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12599 (open_device) Likewise.
12600 (grub_util_biosdisk_close): Likewise.
12601 Reported by: Mark Korenberg.
12602
12603 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12604
12605 * util/grub-mkconfig_lib.in: Add missing quotes.
12606
12607 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
12608
12609 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12610 is NULL.
12611
12612 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 Dynamically count the number of lines for the lower banner.
12615
12616 * grub-core/normal/menu_entry.c (per_term_screen): New member
12617 num_entries.
12618 (print_down): Use num_entries.
12619 (update_screen): Likewise.
12620 (grub_menu_entry_run): Set num_entries.
12621 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12622 num_entries.
12623 (grub_print_message_indented): Move real part to ...
12624 (grub_print_message_indented_real): ... here. Additional argument
12625 dry_run.
12626 (draw_border): Additional argument num_entries.
12627 (print_message): Additional argument dry_run.
12628 (print_entries): Receive menu viewer data.
12629 (grub_menu_init_page): New argment num_entries.
12630 (menu_text_set_chosen_entry): Use num_entries.
12631 (grub_menu_try_text): Likewise.
12632 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12633 All users updated.
12634 (grub_ucs4_count_lines): New function.
12635 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12636 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12637 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12638 (grub_term_border_height): Likewise.
12639 (grub_term_num_entries): Likewise.
12640
12641 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12644 Remove now unused string.
12645
12646 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12647
12648 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12649 build system.
12650 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12651
12652 (Comment): Fix typo.
12653 (Getting started): General copy-editing.
12654 (Typical Development Experience): Likewise.
12655 (Error Handling): Likewise.
12656 (Video API): Likewise.
12657
12658 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12659
12660 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12661 throughout.
12662
12663 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12666 directory.
12667
12668 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12669
12670 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12671 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12672 "development".
12673
12674 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12677 grub_strcpy since the lines aren't necessarily 0-terminated.
12678
12679 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12682 root on legacy.
12683
12684 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12687 (GRUB_MOD_INIT): DEVICE isn't optional.
12688
12689 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12692 word on new line if it's too long anyway. Fixes a hang.
12693
12694 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12697 const.
12698 * util/grub-setup.c (main): Reuse md device name if available.
12699 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12700 not GRUB name as argument.
12701 Based on patch by: Florian Wagner <fwagner>.
12702
12703 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12706 Place mbi on low memory for better compatibility.
12707
12708 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12711
12712 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12713 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12714
12715 * autogen.sh: Ensure that collate and ctype locale is C.
12716 * conf/Makefile.common: Likewise.
12717
12718 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/normal/menu.c: Add missing include.
12721
12722 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12725
12726 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12727
12728 * util/grub-mkconfig.in: Ignore emacsen backup.
12729
12730 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12733 on open.
12734 (grub_util_biosdisk_close): Likewise.
12735
12736 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12739 const attribute and use grub_isdigit.
12740
12741 2011-04-06 Andrey <dev_null@ukr.net>
12742
12743 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12744 gcc warning.
12745
12746 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12749 useful grub_dprintf's.
12750
12751 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12754
12755 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12758
12759 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Output errors if theme loading failed.
12762
12763 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12764 grub_gfxterm_fullscreen on error paths to ...
12765 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12766 theme loading error.
12767
12768 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12771 space for older compilers.
12772 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12773
12774 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12777 and report them as not RAID members since they are useless for GRUB.
12778 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12779
12780 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 Increase LVM implementation robustness in order not to crash on
12783 configurations like pvmove. Previously code assumed that in some places
12784 only lvs or only pvs are used whereas it seems that they are used
12785 interchangeably.
12786
12787 * grub-core/disk/lvm.c (read_node): New function.
12788 (read_lv): Use read_node.
12789 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12790 Match volumes only at the end when all lvs are found. Take both
12791 pvs (first) and lvs (second) into account.
12792 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12793 mirror_* into node_*. All users updated.
12794 (grub_lvm_stripe): Merge this ...
12795 (grub_lvm_mirror): ... and this ...
12796 (grub_lvm_node): ... into this. All users updated.
12797
12798 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12801 of function to allow further scanning for LVMs.
12802
12803 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12806 on failed seek as it breaks open fd reusage.
12807
12808 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * util/grub-install.in: Add a recommendation to use --recheck before
12811 reporting bugs.
12812
12813 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12816 are obtained.
12817
12818 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 GRUB developper manual based on existing Internals section and
12821 contributions by the various authors with active copyright assignment.
12822
12823 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12824 * docs/font_char_metrics.png: New file.
12825 * docs/font_char_metrics.txt: Likewise.
12826 * docs/grub-dev.texi: Likewise.
12827 * docs/grub.texi (Internals): Move from here ...
12828 * docs/grub-dev.texi: ... here.
12829
12830 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12831
12832 Store the loopback device as data on loopback grub_disk structures,
12833 rather than the file it points to. This fixes use of freed memory
12834 if an existing loopback device is replaced.
12835
12836 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12837 disk->data, not dev->file.
12838 (grub_loopback_read): Adjust file assignment to match.
12839 Fixes Ubuntu bug #742967.
12840
12841 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12842
12843 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12844 when replacing an existing device.
12845
12846 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12849 memory corruptions.
12850
12851 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12852 unsigned.
12853 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12854 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12855 (grub_jfs_read_inode): Likewise.
12856 (grub_jfs_opendir): Likewise. Remove now useless casts.
12857 (grub_jfs_getent): Likewise.
12858 Make ino a grub_uint32_t rather than int.
12859 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12860 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12861 division and module with bit operations.
12862 (grub_jfs_find_file): Make ino a grub_uint32_t.
12863 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12864
12865 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12866
12867 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12868 warning. (This was in fact always initialised before use, but GCC
12869 wasn't smart enough to prove that.)
12870 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12871
12872 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12875 stack alignment.
12876 (efi_wrap_1): Likewise.
12877 (efi_wrap_2): Likewise.
12878 (efi_wrap_3): Likewise.
12879 (efi_wrap_4): Likewise.
12880 (efi_wrap_5): Likewise.
12881 (efi_wrap_6): Likewise.
12882 (efi_wrap_10): Likewise.
12883 Based on information by: Red Hat/Peter Jones.
12884
12885 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12886
12887 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12888 set-but-not-used variable.
12889
12890 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12891
12892 * docs/grub.texi (Simple configuration): Be more explicit about
12893 GRUB_DEFAULT, and add an example.
12894 Reported by: Leslie Rhorer.
12895
12896 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12897
12898 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12899 shell".
12900
12901 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12902
12903 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12904 * util/grub.d/20_linux_xen.in: Likewise.
12905
12906 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * util/grub.d/10_linux.in: Try alternative config filenames where
12909 we parse config file.
12910 * util/grub.d/20_linux_xen.in: Likewise.
12911
12912 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12913
12914 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12915 * util/grub.d/20_linux_xen.in: Likewise.
12916
12917 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/disk/raid.c (insert_array): Add few potentially
12920 useful grub_util_info.
12921 (grub_raid_register): Likewise.
12922
12923 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12926 Preserve partition number in mdadm code path.
12927
12928 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12931 few potentially useful grub_util_info.
12932
12933 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12936
12937 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12938
12939 * docs/grub.texi (default): Use @example rather than nested
12940 itemized lists to avoid breaking gendocs.
12941
12942 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12943
12944 * docs/grub.texi (Future): Update.
12945
12946 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12947
12948 * docs/grub.texi (Environment): New chapter.
12949 (Changes from GRUB Legacy): Link to "Environment block" section for
12950 details of limitations.
12951 (Simple configuration): Likewise. Link to documentation of gfxmode
12952 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12953 respectively.
12954 (Shell-like scripting): Note that normal variables are stored in the
12955 environment.
12956 (gettext): Link to documentation of lang and locale_dir.
12957 (list_env): New section.
12958 (load_env): New section.
12959 (save_env): New section.
12960
12961 (Reporting bugs): Fix typo.
12962
12963 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12966 the example.
12967
12968 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * grub-core/term/at_keyboard.c (set_scancodes)
12971 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12972
12973 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12974
12975 * docs/grub.texi (Menu-specific commands): Remove some semantics
12976 that were true in GRUB Legacy but not in GRUB 2.
12977 (submenu): New section.
12978 (false): New section.
12979 (read): New section.
12980 (true): New section.
12981
12982 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12983
12984 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12985
12986 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12987
12988 * docs/grub.texi (Simple configuration): Explain some of the
12989 current limitations of grub-mkconfig.
12990 Reported by: Leslie Rhorer.
12991
12992 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 Old macs search for boot.efi rather than for bootia32.efi.
12995
12996 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12997 * util/grub-mkrescue.in: Likewise.
12998 Suggested by: Peter Jones.
12999
13000 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13003
13004 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13007 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13008 (grub_lvm_mirror): New struct.
13009 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13010 (grub_lvm_iterate): Iterate only visible volumes.
13011 (grub_lvm_read): Factor out to ..
13012 (read_lv): ... this. Support mirrors.
13013 (grub_lvm_read): New wrapper function.
13014 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13015 stripped or mirrored.
13016
13017 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13020
13021 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13022
13023 * docs/grub.texi (loopback): New section.
13024
13025 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13026
13027 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13028 removed -p option.
13029
13030 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13031
13032 * docs/grub.texi (BIOS installation): New section, partly based on
13033 previous text in other sections.
13034 (Installing GRUB using grub-install): Replace BIOS discussion with a
13035 cross-reference.
13036 (Images): Likewise.
13037
13038 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13041 [HAVE_DIOCGDINFO]: Add safety checks.
13042
13043 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13046 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13047
13048 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13049
13050 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13051 real_sb->size is zero (e.g. RAID-0), get the disk size from
13052 real_sb->data_size instead.
13053 Fixes Ubuntu bug #743136.
13054
13055 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13058 printf clauses for printing size and start.
13059
13060 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13063 Reported and tested by: Timothy Nikkel.
13064
13065 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13068 (dirty_region_add_real): ... this.
13069 (dirty_region_add): Don't discard margin refresh when performing
13070 scheduled repaint.
13071
13072 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/lib/relocator.c (allocate_regstart)
13075 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13076 terminals are capabple of malloc-free operation.
13077 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13078 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13079
13080 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13081
13082 * util/grub-setup.c: Copy the partition table zone if floppy support
13083 is disabled, even if no partition table is found.
13084
13085 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13086 during POST if an invalid partition table is contained in the PBR
13087 of the active partition when GRUB is installed to a partition.
13088
13089 2011-03-28 Colin Watson <cjwatson@debian.org>
13090
13091 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13092 comment.
13093
13094 2011-03-28 Colin Watson <cjwatson@debian.org>
13095
13096 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13097 to be specific about what kind of RAID device we're scanning for.
13098
13099 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13100
13101 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13102 return freed string.
13103
13104 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13107
13108 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13109
13110 Use libgeom on FreeBSD to detect partitions.
13111
13112 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13113 (grub-mkrelpath): Likewise.
13114 (grub-script-check): Likewise.
13115 (grub-editenv): Likewise.
13116 (grub-mkpasswd-pbkdf2): Likewise.
13117 (grub-fstest): Likewise.
13118 (grub-mkfont): Likewise.
13119 (grub-mkdevicemap): Likewise.
13120 (grub-probe): Likewise.
13121 (grub-setup): Likewise.
13122 (grub-ofpathname): Likewise.
13123 (grub-mklayout): Likewise.
13124 (example_unit_test): Likewise.
13125 (grub-menulst2cfg): Likewise.
13126 * grub-core/Makefile.core.def (grub-emu): Likewise.
13127 (grub-emu-lite): Likewise.
13128 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13129 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13130 define HAVE_DIOCGDINFO.
13131 (follow_geom_up) [FreeBSD]: New function.
13132 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13133 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13134 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13135 unconditionally of HAVE_DIOCGDINFO.
13136
13137 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 Fix FreeBSD compilation problem.
13140
13141 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13142 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13143
13144 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13147 Switch back to page zero before loading a kernel, since some kernel
13148 drivers expect that.
13149 Thanks to: Felix Kuehling.
13150
13151 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13154 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13155 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13156
13157 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13160 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13161
13162 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13165 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13166 malloc is disabled.
13167
13168 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13171 for modules headers when counting the needed allocation size.
13172
13173 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13176 if no ASCII character is found to prevent crash.
13177
13178 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13179
13180 * grub-core/video/bitmap.c (match_extension): Ignore case.
13181
13182 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13185
13186 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * grub-core/script/parser.y: Declare "time" as valid argument.
13189
13190 2011-03-23 Peter Jones <pjones@redhat.com>
13191
13192 Fix incorrect assert failure reporting.
13193
13194 * grub-core/tests/example_functional_test.c (example_test): Add
13195 a failure comment.
13196 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13197 (failure_start): ...this. Check that malloc succeeded.
13198 Don't call xvasprintf. Return failure struct.
13199 (failure_append_vtext): New function.
13200 (failure_append_text): Likewise.
13201 (add_failure): Likewise.
13202 (grub_test_assert_helper): Likewise.
13203 * include/grub/test.h (grub_test_assert_helper): New declaration.
13204 (grub_test_assert): Macro rewritten.
13205
13206 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13209
13210 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13213
13214 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13217 into GRUB-style one.
13218
13219 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13222 error and not grub_errno.
13223 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13224
13225 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13228 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13229
13230 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * grub-core/efiemu/i386/pc/cfgtables.c
13233 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13234 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13235 (grub_xnu_unlock): Likewise.
13236 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13237
13238 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13241 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13242 * grub-core/commands/hashsum.c (aliases): Likewise.
13243 * grub-core/commands/setpci.c (pci_registers): Likewise.
13244 * grub-core/disk/usbms.c (attach_hook): Likewise.
13245 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13246 (zio_checksum_table): Likewise.
13247 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13248 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13249 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13250 * grub-core/lib/relocator.c (leftovers): Likewise.
13251 (extra_blocks): Likewise.
13252 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13253 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13254 (modules_last): Likewise.
13255 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13256 (devices): Likewise.
13257 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13258 (modules_last): Likewise.
13259 * grub-core/normal/auth.c (users): Likewise.
13260 * grub-core/normal/context.c (initial_menu): Likewise.
13261 (current_menu): Likewise.
13262 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13263 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13264 (grub_serial_terminfo_input_template): Likewise.
13265 (grub_serial_terminfo_output_template): Likewise.
13266 (grub_serial_terminfo_input): Likewise.
13267 (grub_serial_terminfo_output): Likewise.
13268 (registered): Likewise.
13269 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13270
13271 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13274 grub_video_mode_type_t.
13275 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13276 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13277 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13278
13279 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * util/grub-install.in: Correct the x86-64 name as x86_64.
13282
13283 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
13284
13285 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13286 initial chunk read from the kernel always includes GRUB's multiboot
13287 header, which is now outside the first sector.
13288
13289 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13290
13291 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13292 cached mmap_size, so that this works correctly when called multiple
13293 times.
13294 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13295
13296 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13297
13298 * docs/grub.texi (Simple configuration): Tidy up formatting.
13299
13300 2011-03-07 Szymon Janc <szymon@janc.net.pl>
13301
13302 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13303 Set-but-not-used variable removed.
13304
13305 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 Workaround yet another IEEE1275 bug.
13308
13309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13310 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13311 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13312 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13313 is set.
13314 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13315 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13316
13317 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13320 error.
13321
13322 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
13323
13324 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13325 empty, since in that case we can only generate either nothing or a
13326 syntactically invalid configuration file.
13327 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13328
13329 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13330
13331 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13332 (Making a GRUB bootable CD-ROM): Likewise.
13333 (Invoking grub-mkrescue): New section.
13334 Reported by: Yann Dirson. Fixes Debian bug #612585.
13335
13336 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13337
13338 * util/grub-install.in: Remove unnecessary brackets from tr
13339 arguments.
13340 * util/grub.d/10_hurd.in: Likewise.
13341 * util/grub.d/10_kfreebsd.in: Likewise.
13342 * util/grub.d/10_linux.in: Likewise.
13343 * util/grub.d/20_linux_xen.in: Likewise.
13344 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13345
13346 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
13347
13348 * include/grub/file.h (not_easly_seekable): Rename to ...
13349 (not_easily_seekable): ... this. Update all users.
13350
13351 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
13352
13353 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13354 grub-mkrescue.
13355
13356 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * util/grub-mkimage.c (generate_image): Refuse to create the images
13359 bigger than the actual flash (512K) in Loongson machines. 512K is also
13360 the biggest chip supported by them.
13361
13362 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13365
13366 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
13367
13368 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13369 super_offset field.
13370
13371 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 * util/grub-install.in: Ignore install device on platforms
13374 where it doesn't make sense. Always use UUIDs except on pc, efi and
13375 sparc64.
13376 Reported by: Daniel Kahn Gillmor.
13377
13378 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13381
13382 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13385 (iterate_real): Don't rely on partition being non-NULL.
13386
13387 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13390 supported platforms. Put a compile time assert for this rather than
13391 generate a warning with 32-bit shift.
13392
13393 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13396 logical expression more readable.
13397
13398 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13399
13400 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13401 even if some elements have a name.
13402 Reported by: Alexander GQ Gerasiov.
13403
13404 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13405
13406 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13407 path unreadable if `grub-probe -t abstraction' fails, for example if
13408 memberlist fails on an LVM volume group.
13409 Reported by: Darius Jahandarie.
13410
13411 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13412
13413 * docs/grub.texi (Simple configuration): Document
13414 GRUB_PRELOAD_MODULES.
13415
13416 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
13417
13418 * .bzrignore: Remove nonexistent grub-pbkdf2.
13419
13420 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * configure.ac: Bump version to 1.99~rc1.
13423
13424 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13427 for safety.
13428
13429 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13432 module.
13433
13434 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13437
13438 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13441 diskdevid.
13442
13443 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 Fix compilation on cygwin.
13446
13447 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13448 -R .drectve on cygwin.
13449 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13450 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13451 (COND_CYGWIN): New condition.
13452 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13453 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13454 not @TARGET_OBJ2ELF@.
13455 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13456 type to determine whether aux is to be used.
13457
13458 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13461 realpath'ed device string.
13462 Handle floppy (somewhat).
13463 Issue error in unknown case rather than garbage.
13464 Reported by: Axel Beckert.
13465
13466 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * util/grub.d/00_header.in (load_video): Handle the case when no video
13469 drivers available.
13470 Thanks to: Axel Beckert.
13471
13472 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13475 variable. Fixes problem on big endian platforms.
13476
13477 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13480 It doesn't work well there.
13481
13482 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13485 warning.
13486 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13487 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13488 counter.
13489
13490 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 Use alias->path rather than buggy "canon".
13493
13494 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13495 (ofdisk_hash_add): New argument curcan. All users updated.
13496
13497 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13498
13499 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13500
13501 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13504 loadmask before doing any calculations. Use correct type for offset.
13505 (grub_linux_load64): Likewise.
13506
13507 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13508
13509 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13510 with NULL.
13511 (console_grub_equivalences_unshift): Likewise.
13512 Reported by: Daniel Dehennin.
13513
13514 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13517 (set_env_limn_ro): Likewise.
13518 (GRUB_MOD_INIT): Likewise.
13519 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13520 ARRAY_SIZE while on it.
13521 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13522 * grub-core/normal/context.c (grub_env_export): Move from here ...
13523 * grub-core/kern/env.c (grub_env_export): ... here.
13524 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13525 prefix.
13526 * grub-core/kern/main.c (grub_main): Export root and prefix.
13527 * include/grub/env.h (grub_env_export): Export.
13528 Reported by: Seth Goldberg.
13529
13530 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13533 Take into account space used by ELF sections and multiboot palette.
13534 Reported by: Grégoire Sutre.
13535
13536 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * BUGS: New file.
13539
13540 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 Pass more appropriate video id to Linux.
13543
13544 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13545 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13546 fill have_vga.
13547 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13548 shift params->lfb_size.
13549 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13550
13551 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13554
13555 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13558 separator and pass bootpath/devid even if only one of them is available.
13559 Reported by: Seth Goldberg.
13560
13561 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13564 implementations bug on them.
13565
13566 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13567 memory.
13568 (filter_memory_map): Likewise.
13569
13570 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13573 Reported by: nebuchadnezzar.
13574
13575 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13578 Reported by: nebuchadnezzar.
13579
13580 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 Submenu default support.
13583
13584 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13585 auto_boot. All users updated.
13586 Declared static.
13587 Handle chosen and default with submenus.
13588 (grub_menu_execute_with_fallback): Declared static.
13589 Don't notify failure if autobooted. Upper level does it.
13590 (menuentry_eq): New function.
13591 (get_entry_number): Use menuentry_eq.
13592 (show_menu): New parameter "autobooted". All users updated.
13593 (grub_show_menu): Likewise.
13594 * include/grub/normal.h (grub_show_menu): Likewise.
13595 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13596 (grub_menu_execute_with_fallback): Likewise.
13597
13598 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 * util/grub-mklayout.c (usage): Update help text.
13601
13602 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13605
13606 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * util/grub-menulst2cfg.c (main): Trim the line.
13609
13610 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13613 (grub_machine_init): Don't check amount of low memory as reportedly
13614 INT 12h can be broken and if low memory is too low we wouldn't have
13615 gotten into grub_machine_init anyway.
13616
13617 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13620 (grub_machine_mmap_iterate): Take low memory into account
13621
13622 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13625 badfs.
13626 Reported by: TiCPU.
13627
13628 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13631 members errors.
13632
13633 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13634
13635 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13636 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13637
13638 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13639
13640 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13641 openbsd and netbsd types being in part_bsd module.
13642
13643 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13646 (_FILE_OFFSET_BITS): Likewise.
13647 Reported by: Seth Goldberg.
13648
13649 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13650
13651 * configure.ac: Check for libdevmapper header.
13652
13653 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13656 avoid aliasing.
13657 (fzap_lookup): Likewise.
13658 (dnode_get): Likewise.
13659 (make_mdn): Likewise.
13660 (zfs_mount): Likewise.
13661 (fzap_iterate): Use temporary pointer to avoid aliasing.
13662 (grub_zfs_read): Likewise.
13663 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13664 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13665 pointers to avoid aliasing.
13666 (grub_cmd_xnu_kernel64): Likewise.
13667 (grub_xnu_load_driver): Likewise.
13668
13669 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13672 aliasing warning.
13673 (grub_cmd_terminal_output): Likewise.
13674 Reported and tested by: Grégoire Sutre.
13675
13676 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13679 warning.
13680 Reported and tested by: Grégoire Sutre.
13681
13682 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * configure.ac: Do CPU substitution even if it's specified explicitly.
13685 Reported and tested by: Alain Greppin.
13686
13687 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13690 Reported and tested by: Alain Greppin.
13691
13692 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 Satisfy some bison versions need for inttypes.h.
13695
13696 * grub-core/lib/posix_wrap/inttypes.h: New file.
13697 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13698 (int16_t): Likewise.
13699 (int32_t): Likewise.
13700 (int64_t): Likewise.
13701 Reported and tested by: Alain Greppin.
13702
13703 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13706 Silence spurious warning.
13707 Reported and tested by: Alain Greppin.
13708
13709 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13710
13711 * docs/grub.texi (Support automatic decompression): Update with xz
13712 decompression support.
13713
13714 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13715
13716 Improve loaders' kernel command line handling.
13717
13718 * grub-core/lib/cmdline.c: New file.
13719 * include/grub/lib/cmdline.h: Likewise.
13720 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13721 grub_create_loader_cmdline to create kernel command line.
13722 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13723 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13724 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13725 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13726 (linux): Add lib/cmdline.c on common.
13727
13728 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13731 inopos might be unaligned.
13732
13733 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13736 endian transformations.
13737 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13738 Based on report by: Doug Nazar.
13739
13740 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13741
13742 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13743 array->members[i].start_sector.
13744 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13745
13746 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13749 Reported and tested by: Grégoire Sutre.
13750
13751 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13752
13753 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13754 avoid causing test failures by clearing the screen.
13755
13756 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13757
13758 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13759 Fix prefix check to handle the case where dir ends with a slash
13760 (most significantly, "/" itself).
13761 Reported by: Michael Vogt.
13762
13763 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Run terminfo_cls on initing terminfo output to clear the screen and
13766 move the cursor to (0,0).
13767
13768 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13769 Call grub_terminfo_output_init.
13770 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13771 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13772 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13773
13774 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13777 only when needed.
13778
13779 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13782 CTRL.
13783
13784 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 The E820 type 5 is BADRAM, not EXEC_CODE.
13787
13788 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13789 (GRUB_E820_BADRAM): New define.
13790 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13791 into reserved. Propagate BADRAM.
13792 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13793 (GRUB_E820_BADRAM): New define.
13794
13795 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13798 Ignore the memory post-4G.
13799 (grub_relocator_firmware_alloc_region): Additional debug statement.
13800
13801 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13804 names.
13805 Reported by: David Pravec.
13806
13807 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13810 BIOSes.
13811
13812 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13815 Prevent overflow.
13816 (grub_reed_solomon_recover): Likewise.
13817
13818 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13819
13820 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13821
13822 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13825 variable.
13826
13827 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13828
13829 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13830 descriptions of extract_legacy_entries_source and
13831 extract_legacy_entries_configfile.
13832 Reported by: Seung Soo, Ha.
13833
13834 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13835
13836 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13837 on devices that do not implement function 0.
13838
13839 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13840
13841 * grub-core/fs/hfsplus.c: Make parent unsigned.
13842 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13843 overflows.
13844 (grub_hfsplus_cmp_extkey): Likewise
13845
13846 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 * util/grub-install.in: Correctly use bootloader_id and not
13849 GRUB_DISTRIBUTOR on efibootmgr line.
13850
13851 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13854
13855 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13856
13857 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13858 Xen and reorder menu item wording to make it clearer that this entry
13859 will launch Xen. Print separate messages when loading Xen and
13860 Linux.
13861
13862 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13865 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13866 loop in case of incorrect amiga partmap.
13867
13868 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13871 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13872 Reported by:EHeM.
13873
13874 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13877 spurious warning.
13878 Reported by: crocket
13879
13880 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13883 Preload EFIemu.
13884 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13885
13886 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13889 is loaded
13890 (grub_cmd_xnu_kextdir): Likewise.
13891 (grub_cmd_xnu_splash): Likewise.
13892
13893 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 Avoid using Reed-Solomon with 0 redundancy.
13896
13897 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13898 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13899 or 0 redundancy.
13900 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13901 (grub_reed_solomon_recover): Likewise.
13902
13903 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 Don't use disk subsystem in freebsd_boot.
13906
13907 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13908 (freebsd_biosdev): Likewise.
13909 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13910 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13911
13912 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 Handling of files of unknown size is currently limited. They can't be
13915 used e.g. for initrd or modules. Moreover gzip handling of not
13916 easily seekable files is buggy. Disable unknown file size for now. May
13917 be inefficient but works.
13918
13919 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13920 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13921
13922 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13923
13924 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13925 floppy probe.
13926
13927 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13928
13929 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13930
13931 2010-12-25 Shea Levy <shlevy>
13932
13933 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13934
13935 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13938 Windows Server 2008.
13939 Reported by: Devin Giddings.
13940
13941 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13944 writing an error message because of async power management.
13945 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13946 (grub_reboot): Likewise.
13947
13948 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13949
13950 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13951 keep unit tests from failing when they shouldn't.
13952
13953 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13954
13955 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13956 previous patch increased the size of the RS code by 20 bytes (at
13957 least with gcc-4.4), so increase this by 20 bytes to match.
13958 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13959
13960 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13961
13962 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13963 scratch area. Make sure to initialise chosen in standalone mode as
13964 well as non-standalone.
13965 Reported by: Robert Hooker and Andy Whitcroft.
13966 Tested by: Andy Whitcroft.
13967
13968 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13969
13970 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13971 constructing a new unescaped string and passing it to grub_xputs in
13972 one go, rather than passing characters to grub_printf one at a time.
13973
13974 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13975
13976 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13977 initialising utf16.
13978
13979 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13980
13981 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13982 comment. Add an extra layer of quotation, requiring the output of
13983 this function to be used in a printf format string.
13984 (gettext_printf): New function.
13985 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13986 Extract translatable strings from here-documents and use a temporary
13987 variable instead, so that xgettext can find them.
13988 * util/grub.d/10_kfreebsd.in: Likewise.
13989 * util/grub.d/10_linux.in: Likewise.
13990 * util/grub.d/20_linux_xen.in: Likewise.
13991
13992 * po/grub.d.sed: New file.
13993 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13994 arguments. Set c-format flags on all strings extracted from
13995 util/grub.d/ (xgettext refuses to include these itself for strings
13996 it extracted from a shell file, but these really are c-format).
13997
13998 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14001 Avoid next pointing to nowhere.
14002
14003 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14006 rather than assuming than rootblock is exactly in the middle.
14007 (grub_affs_label): Likewise.
14008
14009 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14012 reserved_first_sector to 0.
14013 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14014 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14015 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14016
14017 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Fix handling of UTF-16 UDF labels.
14020
14021 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14022 (read_string): .. here.
14023 (grub_udf_label): Use read_string.
14024
14025 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14026
14027 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14028 editor under argument scope.
14029 Reported by: Jordan Uggla
14030
14031 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14034
14035 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
14036
14037 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14038 line, and other keys scroll an entire page (previous handling was
14039 for \r and \n to scroll a page and other keys to scroll two lines).
14040
14041 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14044 Set ptrdest to correct get_physical_target_address rather than
14045 incorrect get_virtual_current_address.
14046
14047 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14048
14049 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14050 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14051
14052 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14053
14054 * .bzrignore: Ignore grub-core/rs_decoder.S.
14055
14056 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14057
14058 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14059 .mo/.mo.gz opening sequence to ...
14060 (grub_mofile_open_lang): ... here.
14061 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14062 * util/grub.d/00_header.in (grub_lang): Include country part of
14063 locale.
14064 Reported by: Mario Limonciello.
14065
14066 2010-12-09 Robert Millan <rmh@gnu.org>
14067
14068 * NEWS: Document addition of ZFS support.
14069
14070 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
14071
14072 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14073 rather than `/ 2', as the latter requires -Wa,--divide which would
14074 require bumping our minimum binutils version.
14075
14076 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14077
14078 * util/grub-script-check.c (main): Print script line number on
14079 error.
14080
14081 2010-12-01 Robert Millan <rmh@gnu.org>
14082
14083 * grub-core/fs/zfs/zfs.c: New file.
14084 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14085 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14086 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14087 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14088
14089 * include/grub/zfs/dmu.h: Likewise.
14090 * include/grub/zfs/dmu_objset.h: Likewise.
14091 * include/grub/zfs/dnode.h: Likewise.
14092 * include/grub/zfs/dsl_dataset.h: Likewise.
14093 * include/grub/zfs/dsl_dir.h: Likewise.
14094 * include/grub/zfs/sa_impl.h: Likewise.
14095 * include/grub/zfs/spa.h: Likewise.
14096 * include/grub/zfs/uberblock_impl.h: Likewise.
14097 * include/grub/zfs/vdev_impl.h: Likewise.
14098 * include/grub/zfs/zap_impl.h: Likewise.
14099 * include/grub/zfs/zap_leaf.h: Likewise.
14100 * include/grub/zfs/zfs.h: Likewise.
14101 * include/grub/zfs/zfs_acl.h: Likewise.
14102 * include/grub/zfs/zfs_znode.h: Likewise.
14103 * include/grub/zfs/zil.h: Likewise.
14104 * include/grub/zfs/zio.h: Likewise.
14105 * include/grub/zfs/zio_checksum.h: Likewise.
14106
14107 * Makefile.util.def: Build ZFS into libgrubmods.
14108 * grub-core/Makefile.core.def: Build zfs.mod.
14109
14110 2010-11-30 Szymon Janc <szymon@janc.net.pl>
14111
14112 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14113 variable.
14114 * grub-core/commands/wildcard.c (match_files): Likewise.
14115
14116 2010-11-30 Robert Millan <rmh@gnu.org>
14117
14118 * grub-core/loader/i386/bsd.c
14119 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14120 whether kernel is loaded using grub_loader_is_loaded(), rather
14121 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14122 certain error conditions.
14123
14124 2010-11-30 Robert Millan <rmh@gnu.org>
14125
14126 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14127 (grub_cmd_echo): Call grub_refresh() after printing a message.
14128
14129 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 Avoid using tricks for initialising endian variables.
14132
14133 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14134 Make const.
14135 (GRUB_MOD_INIT): Don't byte-swap.
14136 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14137 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14138 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14139 (grub_swap_bytes32_compile_time): Likewise.
14140 (grub_cpu_to_le32_compile_time): Likewise.
14141 (grub_cpu_to_le16_compile_time): Likewise.
14142
14143 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * util/grub-setup.c (setup): Stop recommending --force. People who
14146 understand the dangers of blocklists are able to find this option
14147 anyway and the ones who don't shouldn't use it anyway.
14148
14149 2010-11-26 Robert Millan <rmh@gnu.org>
14150
14151 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14152 Update all users.
14153
14154 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
14155
14156 Fix LVM-on-RAID probing.
14157
14158 * util/grub-probe.c (probe): Remember which disk was detected as
14159 RAID (perhaps an LVM physical volume). Use that disk's raidname
14160 rather than that of the top-level disk.
14161
14162 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
14163
14164 Fix cmdline argument quotes for setparams command of menuentry
14165 definitions.
14166
14167 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14168 quotes for arguments.
14169 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
14170 grub_strchrsub function instead.
14171
14172 * include/grub/misc.h (grub_strchrsub): New function.
14173
14174 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14175
14176 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14177 effort by skipping "." and ".." entries up-front.
14178 Suggested by: Michael Lazarev.
14179
14180 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14181
14182 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14183 ldflags to ldadd, to fix link line ordering.
14184 (none_decompress): Likewise.
14185
14186 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14187
14188 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14189 platforms.
14190 (grub-emu-lite): Remove kern/emu/cache.S.
14191
14192 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14193
14194 * util/deviceiter.c (compare_devices): If the by-id link for a
14195 device couldn't be resolved, fall back to sorting by the by-id link
14196 rather than segfaulting.
14197 Reported and tested by: Daniel Mierswa.
14198
14199 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14200
14201 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14202 ldflags, to fix link line ordering.
14203
14204 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14205
14206 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14207 linkers are picky about this.
14208
14209 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14210
14211 * grub-core/Makefile.am (command.lst): Adjust sed expression
14212 ordering so that extended and priority commands aren't treated as
14213 ordinary commands.
14214
14215 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14216
14217 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14218 Remove byte-swapping function calls, which are not valid in
14219 structure initialisers.
14220 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14221 non-const.
14222 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14223 grub_gpt_partition_type_bios_boot.
14224
14225 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14226
14227 Fix test program build on GNU/kFreeBSD.
14228
14229 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14230 $(LIBNVPAIR)' library dependencies.
14231
14232 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14233
14234 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14235
14236 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14237
14238 * util/grub-install.in: Remove excessive quoting that broke
14239 installations to RAID devices.
14240
14241 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14244 bootloader version instead of 0.
14245
14246 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14249 warning.
14250
14251 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14254 retrieve the metadat sector if size isn't known.
14255 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14256
14257 2010-11-18 Robert Millan <rmh@gnu.org>
14258
14259 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14260 with grub_memcmp().
14261
14262 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14265 arrow.
14266 Reported by: Jordan Uggla.
14267
14268 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 Make better UTF compliant.
14271
14272 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14273 sequences as incorrect.
14274 (grub_is_valid_utf8): Likewise.
14275 (grub_utf8_to_ucs4): Likewise.
14276 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14277 (grub_ucs4_to_utf8_alloc): Likewise.
14278 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14279
14280 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 Make legacy_source behave like source.
14283
14284 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14285 grub_show_menu.
14286 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14287
14288 2010-11-16 Colin Watson <cjwatson@debian.org>
14289
14290 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14291 (-Wunused implies -Wunused-parameter, but not vice versa).
14292
14293 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
14294
14295 * configure.ac: Make error messages less confusing by testing for
14296 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14297 accepted, but produces a diagnostic if something else is wrong).
14298
14299 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14302 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14303 (now unused).
14304 (grub_keyboard_controller_init)
14305 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14306 read the initial state since controller isn't inited yet.
14307
14308 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14311 allocate_regbeg may need to create new chunk header.
14312
14313 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 Fix quoting in legacy parser.
14316
14317 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14318 single quotes.
14319 (grub_legacy_parse): Likewise.
14320 Reported by: Jordan Uggla.
14321 Tested by: Jordan Uggla.
14322
14323 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 Don't add -lgcc on i386 and x86_64.
14326
14327 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14328 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14329 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14330
14331 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * configure.ac: Add -Wno-trampolines when supported.
14334
14335 2010-11-14 Modestas Vainius <modax@debian.org>
14336
14337 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14338 fakeraid.
14339
14340 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14341
14342 Add generic logical block size support for UDF.
14343
14344 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14345 (GRUB_UDF_BLKSZ): Removed.
14346 (struct grub_udf_data): New field "lbshift" to hold the logical block
14347 size of the file system in log2 format. All users updated.
14348 (sblocklist): Change type to unsigned.
14349 (grub_udf_mount): Change type of "sblklist" to unsigned.
14350 Move AVDP search before VRS recognition, because the latter requires
14351 knowledge of the logical block size, which is detected during the
14352 former.
14353 Detect and validate logical block size during AVDP search, adding
14354 support for block sizes 512, 1024 and 4096.
14355 Make VRS recognition independent of block size.
14356
14357 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14358
14359 Properly handle deleted files on UDF.
14360
14361 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14362 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14363 set.
14364
14365 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14366
14367 Support reading files larger than 2 GiB.
14368
14369 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14370 "offset" to grub_off_t.
14371 (grub_udf_read_file): Likewise for parameter "pos".
14372
14373 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14376 unavailable.
14377 (Simple configuration): Refer to Changes from GRUB Legacy about
14378 save_env availability.
14379
14380 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * util/grub-install.in: Ignore empty partition table detection
14383 instead of trying to include part_ module.
14384
14385 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14388 LVM on RAID support.
14389
14390 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 Properly define WORDS_BIGENDIAN in wrapped environments.
14393
14394 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14395 definition.
14396 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14397
14398 Reported by: Manoel Rebelo Abranches.
14399 Tested by: Manoel Rebelo Abranches.
14400
14401 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 * util/grub-mkconfig.in: Fix quoting.
14404
14405 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 Support big ext2 files.
14408
14409 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14410 (grub_ext2_read_block): Support triple indirect blocks.
14411 (grub_ext2_read_file): Use 64-bit types and read size_high.
14412 (grub_ext2_open): Read size_high.
14413 Reported by: Ximin Luo.
14414 Tested by: Manoel Rebelo Abranches.
14415
14416 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * util/grub-install.in: Handle filenames containing spaces.
14419 Reported by: Jordan Uggla.
14420 Tested by: Jordan Uggla.
14421
14422 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * util/grub-mkconfig.in (grub_script_check): New variable.
14425 Use grub_script_check instead of grub-script-check.
14426 Reported by: Barry Jackson.
14427
14428 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * docs/grub.texi (menu): Correct the order.
14431 Reported by: D. Hugh Redelmeier.
14432
14433 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14436 jump.
14437
14438 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14439
14440 * include/grub/elfload.h (grub_elf32_size): New parameter.
14441 All users updated.
14442 Return maximum segments alignment.
14443 (grub_elf64_size): Likewise.
14444 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14445 Return maximum segments alignment.
14446 (grub_elf64_size): Likewise.
14447 * grub-core/loader/powerpc/ieee1275/linux.c:
14448 (grub_linux_claimmap_iterate): New function. Uses the
14449 "available" property in the "memory" node for memory allocation
14450 for kernel in the PowerPC loader.
14451 (grub_linux_load32): Correctly find linux entry point offset.
14452 (grub_linux_load64): Likewise.
14453
14454 2010-11-07 Robert Millan <rmh@gnu.org>
14455
14456 On mips-yeeloong, build with -march=loongson2f when this flag is
14457 available (GCC >= 4.4).
14458 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14459 `-march=mips3'.
14460 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14461 or otherwise add -march=mips3.
14462
14463 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14464
14465 Suppress shell expansion on echo '*' and echo "*" like cases.
14466 Reported by: Jordan Uggla.
14467
14468 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14469 string arguments before shell expansion.
14470 * tests/grub_cmd_echo.in: New testcases.
14471
14472 2010-11-07 Robert Millan <rmh@gnu.org>
14473
14474 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14475 transition.
14476
14477 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 * grub-core/kern/emu/hostdisk.c
14480 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14481
14482 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14485 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14486 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14487
14488 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14491
14492 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * util/grub-install.in: Replace useless recomendation to pass
14495 --modules with a recomendation to report a bug.
14496
14497 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 Properly register serial terminfo.
14500 Reported by: Jordan Uggla
14501
14502 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14503 const.
14504 (grub_serial_terminfo_output_template): Likewise.
14505 (grub_cmd_serial): Register "serial" with terminfo.
14506 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14507 grub_serial_terminfo_output.
14508
14509 2010-11-05 Robert Millan <rmh@gnu.org>
14510
14511 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14512 needed).
14513
14514 2010-11-05 Robert Millan <rmh@gnu.org>
14515
14516 On Yeeloong, pass machine type information to Linux.
14517
14518 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14519 (LOONGSON_MACHTYPE): New macro, set to
14520 "machtype=lemote-yeeloong-2f-8.9inches".
14521 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14522 additional argument to Linux.
14523
14524 2010-11-04 Robert Millan <rmh@gnu.org>
14525
14526 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14527 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14528 (its SATA disks are detected as slaveless IDE master drives on
14529 kFreeBSD).
14530 Reported by Carsten Aulbert.
14531
14532 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
14533
14534 * util/bin2h.c (main): Fix spelling error in generated output.
14535
14536 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14537
14538 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14539
14540 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14543 vga= option is supplied.
14544
14545 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14548 * util/grub.d/10_kfreebsd.in: Likewise.
14549 * util/grub.d/10_linux.in: Likewise.
14550 * util/grub.d/20_linux_xen.in: Likewise.
14551
14552 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14555 argument as an argument to no-argument option.
14556
14557 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * util/grub.d/10_linux.in: Add missing load_video with explicit
14560 GRUB_GFXPAYLOAD_LINUX.
14561
14562 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14565
14566 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14569 elements with invlid index.
14570 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14571 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14572 members.
14573 * include/grub/raid.h (grub_raid_member): New struct.
14574 (grub_raid_array): Transform devices and start_sector into usage of
14575 grub_raid_member. All users updated
14576 (allocated_devs): New member.
14577
14578 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14581 is modified
14582
14583 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14584
14585 NetBSD build fix for getline function conflict from gnulib.
14586
14587 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14588 components that depend on gnulib headers.
14589 (libgrubmods.a): Renamed from earlier libgrub.a.
14590 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14591
14592 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14595 install rather than creating a broken install.
14596
14597 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * util/grub-setup.c (argp): Remove misleading example of installing to
14600 a partition.
14601
14602 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 * util/grub-setup.c (setup): Clarify the error message.
14605
14606 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14609
14610 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 * grub-core/kern/emu/misc.c
14613 (grub_make_system_path_relative_to_its_root)
14614 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14615
14616 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/kern/emu/misc.c
14619 (grub_make_system_path_relative_to_its_root): Revert r2882.
14620
14621 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14624 useless field head. All users updated.
14625 (free_subchunk): Correct handling of IN_REGION subchunk.
14626
14627 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
14628
14629 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14630 (Supported kernels): Likewise.
14631
14632 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14633
14634 Make mktemp invocations portable.
14635
14636 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14637 exit if mktemp fails.
14638 * tests/grub_script_blockarg.in: Likewise.
14639 * tests/partmap_test.in: Likewise.
14640 * tests/util/grub-shell-tester.in: Likewise.
14641 * tests/util/grub-shell.in: Likewise.
14642 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14643 * Makefile.am: Likewise, and chain shell commands with `&&'
14644 instead of ';'.
14645 * util/grub-mkrescue.in: Use the same explicit template as above, and
14646 exit if mktemp fails.
14647
14648 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14649
14650 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14651 Linux kernel, reported by Dennis Schridde.
14652
14653 2010-10-17 Szymon Janc <szymon@janc.net.pl>
14654
14655 * grub-core/normal/auth.c (grub_auth_check_authentication):
14656 Set-but-not-used variable removed.
14657
14658 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14661 32-bit linux protocol.
14662
14663 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14666 cursor shape for sanity.
14667
14668 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * docs/grub.texi (Installation): Document buggy BIOS install.
14671
14672 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14673
14674 * docs/grub.texi (Installation): Indent.
14675
14676 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * util/grub-setup.c (setup): New parameter allow_floppy.
14679 (arguments): New member allow_floppy.
14680 (argp_parser): Handle --allow-floppy.
14681 (main): Pass allow_floppy.
14682 * util/grub-install.in: New option --allow-floppy passed though to
14683 grub-setup.
14684
14685 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * util/grub-install.in: Handle partitionless disks.
14688
14689 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * util/grub-setup.c (setup): Don't clean blocklists before readability
14692 verfification.
14693
14694 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * docs/grub.texi (Installation): Document embedding zone. Remove
14697 obsolete grub-install example.
14698
14699 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14700
14701 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14702 Set-but-not-used variable ifdef'ed.
14703 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14704 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14705 variable removed.
14706 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14707 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14708 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14709 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14710 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14711 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14712 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14713 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14714 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14715 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14716 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14717 Likewise.
14718
14719 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14722 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14723 enum value.
14724
14725 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14728 synonym to _S5_. Needed for some DSDTs.
14729
14730 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Userspace ACPI parser debugging.
14733
14734 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14735 headers and add relevant defines. Don't include standard headers.
14736 (main) [GRUB_DSDT_TEST]: New function.
14737 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14738 Don't declare functions.
14739
14740 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 Remove dead grub_efi_mm_fini.
14743
14744 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14745 (ALLOCATED_PAGES_SIZE): Likewise.
14746 (MAX_ALLOCATED_PAGES): Likewise.
14747 (allocated_pages): Likewise.
14748 (grub_efi_allocate_pages): Don't record allocated pages.
14749 (grub_efi_free_pages): Likewise.
14750 (grub_efi_mm_init): Likewise.
14751 (grub_efi_mm_fini): Removed.
14752
14753 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14756 (grub_efi_mm_init): Take into account the memory map size increase.
14757
14758 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14761 (serial_hw_put): Wait based on real time rather than port reads. Don't
14762 roken ports.
14763 * include/grub/serial.h (grub_serial_port): New field broken.
14764
14765 2010-10-16 Robert Millan <rmh@gnu.org>
14766
14767 * grub-core/kern/emu/misc.c
14768 (grub_make_system_path_relative_to_its_root): Fix premature return
14769 when processing non-root ZFS filesystems.
14770 Reported by Sergio Talens-Oliag.
14771
14772 2010-10-15 Robert Millan <rmh@gnu.org>
14773
14774 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14775 guarantee compressed ones are processed first.
14776
14777 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14780 grub_efiemu_autocore.
14781
14782 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14785 rather than 0x1b.
14786 (grub_console_getkey): Use correct jae opcode rather than ja.
14787
14788 2010-10-12 Robert Millan <rmh@gnu.org>
14789
14790 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14791 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14792 variable. All references updated.
14793
14794 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14795
14796 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 Correctly distinguish mdraid flavours.
14799
14800 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14801 (insert_array): New argument raid.
14802 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14803 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14804 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14805
14806 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14809 handling of special keys.
14810
14811 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14812
14813 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14814 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14815
14816 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14817
14818 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14819 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14820 users updated.
14821 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14822 Use right endpoint when querying descriptor.
14823
14824 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 Clear out 0x80 color bit on EFI.
14827 Tested by: decoder
14828 Reported by: decoder and meta tech.
14829
14830 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14831 (grub_console_setcolorstate): Clear out 0x80 bit.
14832 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14833 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14834 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14835
14836 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14839 Set to "auto".
14840
14841 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14844 mo_file after freeing.
14845
14846 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14849
14850 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14853 flags.
14854
14855 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14858 usage.
14859
14860 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14863
14864 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14865 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14866 and terminfo.h when needed.
14867 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14868 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14869 (terminfo): Enable only on terminfokernel.
14870 (extcmd): Likewise.
14871 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14872 * include/grub/lib/arg.h: Likewise.
14873 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14874 incorrect usage of ->.
14875
14876 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14879 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14880
14881 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 Fix coreboot compilation.
14884
14885 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14886 Take VBE info into account even if only text is supported.
14887 (fill_vbe_info): Take into account the case when only VGA text
14888 is supported.
14889 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14890 on coreboot, multiboot and qemu.
14891
14892 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14895 debug messages.
14896 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14897
14898 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14901 parameters.
14902
14903 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14906 if they were BSD-style.
14907
14908 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * grub-core/boot/i386/pc/lnxboot.S: Replace
14911 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14912 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14913
14914 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 Write embedding zone using Reed-Solomon.
14917
14918 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14919 * grub-core/Makefile.am (rs_decoder.S): New target.
14920 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14921 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14922 (multiboot): Move to RS part.
14923 (post_reed_solomon): New label.
14924 (grub_boot_drive): Move to non-RS part since it's modified in memory
14925 on boot.
14926 Include rs_decoder.S.
14927 * grub-core/lib/reed_solomon.c: New file.
14928 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14929 New definition.
14930 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14931 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14932 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14933 * include/grub/partition.h (grub_partition_map): Change prototype of
14934 embed to allow returning additional sectors.
14935 * include/grub/reed_solomon.h: New file.
14936 * util/grub-setup.c (setup): Handle Reed-Solomon.
14937
14938 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14939
14940 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14941 i386 and x86-64 definedness tests.
14942
14943 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14944
14945 Fix generation of kernel_syms.lst
14946
14947 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14948 ASM_PREFIX
14949
14950 2010-09-26 Robert Millan <rmh@gnu.org>
14951
14952 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14953
14954 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14955 the pool is an array of devices, iterate through it and return the
14956 first device that passes a stat() test (instead of blindly returning
14957 the first one).
14958
14959 2010-09-26 Robert Millan <rmh@gnu.org>
14960
14961 Build fixes for GNU/kFreeBSD.
14962
14963 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14964 to programs that require ZFS conversion.
14965 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14966 kernels that don't have FLOPPY_MAJOR.
14967
14968 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14969
14970 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14971
14972 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14973
14974 Fix grub-emu build.
14975
14976 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14977 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14978 mdraid09 and mdraid1x.
14979
14980 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14981
14982 Re-enable grub-extras.
14983
14984 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14985 avoid confusing Automake. Run autogen only twice, once for the top
14986 level and once for grub-core. Add Makefile.util.def and
14987 Makefile.core.def from extra modules to the appropriate autogen
14988 invocations. If Makefile.common exists in an extra module, include
14989 it in both Makefile.util.am and grub-core/Makefile.core.am;
14990 similarly, include any Makefile.util.common file in Makefile.util.am
14991 and any Makefile.core.common file in grub-core/Makefile.core.am.
14992 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14993 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14994 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14995 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14996
14997 * gentpl.py (gvar_add): Turn GVARS into a set.
14998 (global_variable_initializers): Sort global variables on output.
14999 (vars_init): New function.
15000 (first_time): Likewise.
15001 (library): Ensure that non-global variable initialisations are
15002 emitted before the first time we emit code for a library block.
15003 Append to variables rather than setting them. Only emit
15004 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15005 each conditional path.
15006 (program): installdir() emits an Autogen macro, so must be passed to
15007 var_add rather than gvar_add.
15008 (data): Likewise.
15009 (script): Likewise.
15010 (rules): New function, centralising handling for different target
15011 types. Set up Guile association lists for first_time and vars_init,
15012 and send most output to a diversion so that variable initialisations
15013 can be emitted first.
15014 (module_rules): Use new rules function.
15015 (kernel_rules): Likewise.
15016 (image_rules): Likewise.
15017 (library_rules): Likewise.
15018 (program_rules): Likewise.
15019 (script_rules): Likewise.
15020 (data_rules): Likewise.
15021
15022 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15023
15024 * .bzrignore: Add contrib and grub-core/contrib. Remove
15025 grub-core/Makefile.gcry.am.
15026
15027 2010-09-24 Yves Blusseau <blusseau@zetam.org>
15028
15029 * grub-core/lib/LzFind.c: Add missing include.
15030 * grub-core/lib/LzmaEnc.c: Likewise.
15031 * grub-core/script/lexer.c: Likewise.
15032 * grub-core/script/yylex.l: Likewise.
15033 * util/grub-macho2img.c: Likewise.
15034 * util/grub-menulst2cfg.c: Likewise.
15035 * util/grub-mklayout.c: Likewise.
15036 * util/grub-mkpasswd-pbkdf2.c
15037 * util/grub-mkrelpath.c: Likewise.
15038 * util/resolve.c: Likewise.
15039
15040 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15041
15042 * Makefile.util.def (example_unit_test): Add
15043 grub-core/gnulib/libgnu.a.
15044
15045 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15046
15047 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15048
15049 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 Support xz compression on yeeloong.
15052
15053 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15054 * configure.ac: Check for LZMA.
15055 * grub-core/Makefile.core.def (xz_decompress): New target.
15056 (none_decompress): Likewise.
15057 * grub-core/boot/decompressor/minilib.c: New file.
15058 * grub-core/boot/decompressor/none.c: Likewise.
15059 * grub-core/boot/decompressor/xz.c: Likewise.
15060 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15061 * grub-core/kern/mips/cache_flush.S: Likewise.
15062 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15063 * grub-core/kern/mips/startup.S: Move first stage to ...
15064 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15065 nomacro.
15066 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15067 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15068 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15069 Allocate statically.
15070 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15071 Allocate statically or use scratch. Don't check CRC32.
15072 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15073 Allocate statically. Don't check CRC32.
15074 * include/grub/decompressor.h: New file.
15075 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15076 Removed.
15077 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15078 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15079 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15080 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15081 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15082 * util/grub-mkimage.c (grub_compression_t): New type.
15083 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15084 (image_target_desc): New field default_compression.
15085 (image_targets): Adjust yeeloong targets.
15086 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15087 (compress_kernel): New parameter comp.
15088 (generate_image): Likewise. Handle new compression case.
15089 (options): New option --compression
15090 (help): Likewise.
15091 (main): Handle new option.
15092
15093 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15094
15095 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15096
15097 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
15098
15099 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15100 typo in __i386__ conditional.
15101
15102 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15105 include.
15106
15107 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 Implement EFI and ACPI multiboot2 extensions.
15110
15111 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15112 new tags as supported.
15113 (acpiv2_size): New function.
15114 (grub_multiboot_get_mbi_size): Take new tags into account.
15115 (grub_multiboot_make_mbi): Add new tags.
15116 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
15117
15118 2010-09-21 Aleš Nesrsta <starous@volny.cz>
15119
15120 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15121 Added missing configuration of USB device.
15122
15123 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15124
15125 * grub-core/normal/menu_entry.c (run): Make sure we always return
15126 a value.
15127
15128 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15129
15130 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15131 NumberOfPages is UINT64 according to the UEFI specification, not
15132 UINTN. Fix printf format.
15133
15134 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15137 `err' to grub_usb_err_t.
15138 Reported and tested by: KESHAV P.R.
15139
15140 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15141
15142 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15143 tpart non-const, so that we can assign to it. (Since this is a
15144 typedef, the constness refers to the pointer rather than what it
15145 points to.)
15146
15147 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15148
15149 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15150 $(top_srcdir)/grub-core/gnulib as well as
15151 $(top_builddir)/grub-core/gnulib.
15152 Reported by: KESHAV P.R.
15153
15154 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15155
15156 * util/grub-install.in: Fix the bootloader ID option to be
15157 consistently --bootloader-id, not --bootloader_id.
15158 Reported by: KESHAV P.R.
15159
15160 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15161
15162 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15163 check hash checksum." consistently translatable.
15164
15165 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15166
15167 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15168 $(top_builddir).
15169
15170 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15173 (GRUB_MOD_INIT): Register sha1sum command.
15174 (GRUB_MOD_FINI): Unregister sha1sum command.
15175
15176 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15177
15178 Keep boot and grub directory names in sync with utils scripts
15179
15180 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15181 * config.h.in: Add previous macros.
15182 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15183 * util/grub-install.in: Use $bootdir and $grubdir variables.
15184
15185 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15188 convert partition names to disk names if the new `convert' parameter
15189 is set.
15190 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15191 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15192 disk in its own right. This can happen with Xen disk images.
15193
15194 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15195
15196 * util/grub-editenv.c: Update strings to avoid warnings when generating
15197 grub.pot file.
15198 * util/grub-setup.c: Likewise.
15199
15200 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 * configure.ac: Change version to 1.99~beta0.
15203
15204 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15207 Add BADRAM.
15208 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15209 Likewise.
15210 * include/multiboot.h: Resynced with specification.
15211 * include/multiboot2.h: Likewise.
15212
15213 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15214
15215 Fix po directory handling.
15216
15217 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15218 * grub-core/gnulib/Makefile.am: Import gettext module.
15219 * m4/gnulib-cache.m4: Likewise.
15220 * m4/gnulib-comp.m4: Likewise.
15221 * m4/gettext.m4: New file, from gnulib.
15222 * m4/glibc2.m4: Likewise.
15223 * m4/iconv.m4: Likewise.
15224 * m4/intdiv0.m4: Likewise.
15225 * m4/intl.m4: Likewise.
15226 * m4/intldir.m4: Likewise.
15227 * m4/intlmacosx.m4: Likewise.
15228 * m4/intmax.m4: Likewise.
15229 * m4/inttypes-pri.m4: Likewise.
15230 * m4/lcmessage.m4: Likewise.
15231 * m4/lib-ld.m4: Likewise.
15232 * m4/lib-link.m4: Likewise.
15233 * m4/lib-prefix.m4: Likewise.
15234 * m4/lock.m4: Likewise.
15235 * m4/nls.m4: Likewise.
15236 * m4/po.m4: Likewise.
15237 * m4/printf-posix.m4: Likewise.
15238 * m4/progtest.m4: Likewise.
15239 * m4/threadlib.m4: Likewise.
15240 * m4/uintmax_t.m4: Likewise.
15241 * m4/visibility.m4: Likewise.
15242 * po/Makefile.am: Remove.
15243 * po/Makefile.in.in: New file, from gettext.
15244 ($(DOMAIN).pot-update): Support POTFILES-shell.
15245 * po/Makevars: New file.
15246 * po/POTFILES-shell: Rename to ...
15247 * po/POTFILES-shell.in: ... this. Update.
15248 * po/POTFILES: Rename to ...
15249 * po/POTFILES.in: ... this. Update.
15250 * po/Rules-quot: New file, from gettext.
15251 * po/boldquot.sed: Likewise.
15252 * po/en@boldquot.header: Likewise.
15253 * po/en@quot.header: Likewise.
15254 * po/insert-header.sin: Likewise.
15255 * po/quot.sed: Likewise.
15256 * po/remove-potcdate.sin: Likewise.
15257
15258 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15261
15262 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * util/grub.d/20_linux_xen.in: Use submenus.
15265
15266 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Support submenus.
15269
15270 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15271 parameter submenu. All users updated.
15272 * grub-core/normal/main.c (free_menu): Rename to ...
15273 (grub_normal_free_menu): ... this. Made global.
15274 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15275 if requested.
15276 * grub-core/normal/menu_entry.c (screen): New field submenu.
15277 (make_screen): Set submenu.
15278 (run): Open new context if requested.
15279 * include/grub/menu.h (grub_menu_entry): New field submenu.
15280 * include/grub/normal.h (grub_normal_free_menu): New proto.
15281
15282 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 Menu entries extractor.
15285
15286 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15287 variants.
15288 (GRUB_MOD_INIT): Register new variants.
15289 (GRUB_MOD_FINI): Unregister new variants.
15290 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15291 into grub_cmd_legacy_source.
15292 (grub_cmd_legacy_source): Implement extractor variants.
15293 (GRUB_MOD_INIT): Register new variants.
15294 (GRUB_MOD_FINI): Unregister new variants.
15295 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15296 as an extractor.
15297 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15298 search as an extractor.
15299 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15300 test as an extractor.
15301 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15302 as an extractor.
15303 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15304 (grub_env_new_context): New function.
15305 (grub_env_context_open): Likewise.
15306 (grub_env_extractor_open): Likewise.
15307 (grub_env_extractor_close): Likewise.
15308 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15309 grub_extractor_level.
15310 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15311 * include/grub/env.h (grub_env_extractor_open): New proto.
15312 (grub_env_extractor_close): Likewise.
15313 * include/grub/normal.h (grub_extractor_level): New external variable.
15314
15315 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 Make cutmem accept a region specification.
15318 Suggested by: Samuel Thibault
15319
15320 * grub-core/mmap/mmap.c (parsemem): New function.
15321 (grub_cmd_cutmem): Handle new arguments.
15322
15323 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 New command cutmem.
15326
15327 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15328 (GRUB_MOD_INIT): Register new command.
15329 (GRUB_MOD_FINI): Unregister new command.
15330
15331 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 Support some annoying BSD and Minix subpartitions.
15334
15335 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15336 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15337 Properly handle concatenation.
15338 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15339 * grub-core/normal/completion.c (iterate_partition): Likewise.
15340 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15341 contain partition. All users updated.
15342 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15343 struct.
15344 (grub_openbsdlabel_partition_map): Likewise.
15345 (bsdlabel_partition_map_iterate): Rename to ..
15346 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15347 (bsdlabel_partition_map_iterate): New function.
15348 (netopenbsdlabel_partition_map_iterate): Likewise.
15349 (netbsdlabel_partition_map_iterate): Likewise.
15350 (openbsdlabel_partition_map_iterate): Likewise.
15351 (GRUB_MOD_INIT): Register new partmaps.
15352 (GRUB_MOD_FINI): Unregister new partmaps.
15353 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15354 (grub_partition_msdos_iterate): ... this. All users updated.
15355 Don't support embedding other than in a minix partition.
15356 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15357 proto.
15358 * include/grub/partition.h (grub_partition): New field msdostype.
15359 * util/grub-install.in: Handle openbsd and netbsd types being in
15360 part_bsd module.
15361
15362 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15365
15366 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15367 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15368 (mdraid09): ... this.
15369 (mdraid1x): New module.
15370 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15371 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15372
15373 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15376 vsprintf.
15377
15378 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15379
15380 * grub-core/commands/efi/lsefimmap.c: Correct header.
15381 * NEWS: Update.
15382
15383 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15384
15385 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15386 as printf format strings; the translations might contain '%' which
15387 could cause a crash.
15388 (main): Likewise.
15389 * util/grub-fstest.c (argp_parser): Likewise.
15390 * util/grub-setup.c (argp_parser): Likewise.
15391 (main): Likewise.
15392
15393 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Use argp in grub-fstest.
15396
15397 * util/grub-fstest.c: Don't include getopt.h.
15398 Include argp.h.
15399 (root): New variable.
15400 (args_count): Likewise.
15401 (nparm): Likewise.
15402 (num_disks): Likewise.
15403 (images): Likewise.
15404 (cmd): Likewise.
15405 (debug_str): Likewise.
15406 (args): Likewise.
15407 (options): Transformed to argp.
15408 (usage): Removed.
15409 (main): Split argument parsing into ...
15410 (argp_parser): ... this. Changed to argp format.
15411 (argp): New variable.
15412 (main): Use argp_parse.
15413
15414 2010-09-20 Tristan Gingold <gingold@free.fr>
15415 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
15416 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * grub-core/commands/efi/lsefimmap.c: New file.
15419 * grub-core/Makefile.core.def (lsefimmap): New module.
15420 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15421
15422 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 Pause the execution (10s max) if any errors are displayed so the user
15425 has a chance to see them.
15426
15427 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15428 (grub_print_error): Increment grub_err_printed_errors.
15429 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15430 execution if any errors were displayed.
15431 (show_menu): Remove old code for pause.
15432 * grub-core/normal/menu_entry.c (run): Likewise.
15433 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15434 users updated.
15435 (grub_normal_get_char_counter): Likewise.
15436 * include/grub/err.h (grub_err_printed_errors): New external variable.
15437 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15438
15439 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15440
15441 Support multiboot VBE info.
15442
15443 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15444 Take VBE info into account.
15445 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15446 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15447 Call fill_vbe_info when appropriate.
15448 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15449 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15450 as supported.
15451 (grub_multiboot_get_mbi_size): Take new tags into account.
15452 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15453 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15454 Call fill_vbe_tag when appropriate.
15455 (grub_multiboot_make_mbi): Properly align tags.
15456 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15457 function.
15458 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15459 proto.
15460 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15461
15462 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 Suport manual terminal geometry specification.
15465
15466 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15467 Save state in grub_ofconsole_terminfo_output.
15468 (grub_ofconsole_term): Use grub_terminfo_getwh.
15469 (grub_ofconsole_getwh): Removed.
15470 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15471 (grub_serial_term): Use grub_terminfo_getwh.
15472 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15473 (options): New struct.
15474 (OPTION_*): New enum.
15475 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15476 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15477 width and height.
15478 (grub_terminfo_getwh): New proto.
15479 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15480
15481 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 Handle legacy "terminal" command.
15484
15485 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15486 and FLAG_TERMINAL.
15487 (legacy_commands): Add terminal and title.
15488 (grub_legacy_parse): Handle terminal. Simplify title handling.
15489
15490 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15493 parameters overflow.
15494
15495 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15496
15497 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15498 widthspec.h.
15499
15500 * docs/grub.texi (Shell-like scripting): Document `!'.
15501 (Network): Simplify using new i386-pc-pxe format. Mention
15502 grub-mknetdir.
15503
15504 * NEWS: Update.
15505
15506 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15507
15508 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15509 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15510 when needed.
15511
15512 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15513
15514 * grub-core/commands/efi/lsefisystab.c: Correct header.
15515 * grub-core/commands/efi/lssal.c: Likewise.
15516 * grub-core/commands/testload.c: Likewise.
15517
15518 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15519
15520 * util/grub-mkrescue.in: Add explicit root argument to --set to
15521 prevent the UUID being interpreted as an argument to --set (matches
15522 previous change to prepare_grub_to_access_device).
15523
15524 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15525
15526 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15527 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15528 the verbosity of later #ifs.
15529 (find_partition_start): Define this function on FreeBSD too.
15530 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15531 function.
15532 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15533 on FreeBSD.
15534
15535 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15536
15537 * util/grub-editenv.c: Use argp instead of getopt.
15538
15539 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15540
15541 * util/grub-setup.c: Use argp instead of getopt.
15542
15543 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15544
15545 Use gnulib-tool to create gnulib source files.
15546
15547 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15548 grub-core/gnulib directories
15549 * .bzignore: Add **/.deps and autogenerated gnulib files
15550 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15551 of gnulib macros, add grub-core/gnulib/Makefile
15552 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15553 include m4 directory to aclocal.
15554 * Makefile.util.def: Remove direct compilation of gnulib source files
15555 and use the new grub-core/gnulib/libgnu.a.
15556 * build-aux/config.rpath: move config.rpath from top directory to
15557 build-aux
15558 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15559 in gnulib headers
15560 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15561 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15562 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15563 header.
15564 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15565 string.
15566
15567 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15568
15569 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15570 grub-core/genmod.sh and grub-core/gensyminfo.sh
15571
15572 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15573
15574 Add a test for echo command options.
15575
15576 * tests/grub_cmd_echo.in: New test.
15577 * Makefile.util.def: Rules for new test.
15578
15579 2010-09-20 Szymon Janc <szymon@janc.net.pl>
15580
15581 Remove crc.mod and move crc command to hashsum.mod.
15582 Remove lib/crc.c - users updated to use gcrypt implementation.
15583
15584 * grub-core/commands/crc.c: Removed.
15585 * grub-core/Makefile.core.def (crc): Module removed.
15586 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15587 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15588 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15589 * grub-core/lib/crc.c: Removed.
15590 * include/grub/lib/crc.h: Removed.
15591 * Makefile.util.def (crc): Remove lib/crc.c
15592 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15593 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15594 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15595 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15596 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15597 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15598
15599 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15602
15603 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 Split config.h for util and core.
15606
15607 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15608 (ADDR32): Likewise.
15609 (DATA32): Likewise.
15610 (BSS_START_SYMBOL): Likewise.
15611 (END_SYMBOL): Likewise.
15612 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15613 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15614 * config.h.in: New file.
15615 * configure.ac: Use config-util.h as config define file.
15616 Rename MACHINE into GRUB_MACHINE. All users updated.
15617 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15618 updated.
15619 (NESTED_FUNC_ATTR): Likewise.
15620 Substitue new variables.
15621 (COND_HAVE_ASM_USCORE): New conditional.
15622 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15623 (kernel_syms.lst): Use ASM_PREFIX.
15624 * grub-core/kern/emu/console.c: Include config-util.h.
15625 * grub-core/kern/emu/misc.c: Likewise.
15626 * grub-core/kern/emu/mm.c: Likewise.
15627 * include/grub/emu/misc.h: Likewise.
15628 * include/grub/libgcc.h: Likewise.
15629
15630 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15633 constants usage.
15634 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15635 Fix GRUB_TERM_KEY_* constants usage.
15636 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15637
15638 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15641 print pointer.
15642 * grub-core/bus/usb/uhci.c: Remove empty define.
15643 (grub_uhci_check_transfer): Add missing cast.
15644 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15645 print pointer.
15646 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15647 PRIuGRUB_SIZE.
15648 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15649
15650 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * grub-core/Makefile.core.def (legacycfg): Add
15653 lib/i386/pc/vesa_modes_table.c on emu.
15654
15655 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15656
15657 Reduce number of temporary files generated by build system.
15658
15659 * grub-core/gencmdlist.sh: Removed.
15660 * grub-core/genfslist.sh: Removed.
15661 * grub-core/genhandlerlist.sh: Removed.
15662 * grub-core/genmodsrc.sh: Removed.
15663 * grub-core/genpartmaplist.sh: Removed.
15664 * grub-core/genparttoollist.sh: Removed.
15665 * grub-core/gentermiinallist.sh: Removed.
15666 * grub-core/genvideolist.sh: Removed.
15667
15668 * grub-core/genmod.sh.in: New file.
15669 * grub-core/gensyminfo.sh.in: New file.
15670
15671 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15672 * conf/Makefile.extra-dist: Update with new files.
15673 * gentpl.py: Remove rules related to unnecessary temporary files.
15674 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15675 and und-* files.
15676 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15677 genmod.sh scripts.
15678 * grub-core/bus/usb/uhci.c: Remove empty #define.
15679 * grub-core/genmoddep.awk: Updated with new syminfo format.
15680 * util/bash-completion.d/Makefile.am: Add config.log to
15681 CLEANFILES.
15682
15683 2010-09-19 Yves Blusseau <blusseau@zetam.org>
15684
15685 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15686
15687 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15688
15689 * util/grub-mkconfig.in: Check the config script for syntax errors
15690 before saving.
15691
15692 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15693 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15696 platforms.
15697 * util/grub-install.in: Add EFI and IEEE1275 support.
15698 * util/i386/efi/grub-install.in: Removed.
15699 * util/ieee1275/grub-install.in: Likewise.
15700
15701 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15704 (grub_cmd_cmosclean): Likewise.
15705 (GRUB_MOD_INIT): Register command cmosclean.
15706 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15707 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15708
15709 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15710 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15711 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Add keyboard layouts support.
15714
15715 * Makefile.util.def (grub-mklayout): New file.
15716 (grub-kbdcomp): New script.
15717 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15718 Add keyboard_layouts.h.
15719 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15720 commands/boot.c on yeeloong.
15721 (keylayouts): New module.
15722 * grub-core/bus/usb/ohci.c
15723 * grub-core/bus/usb/uhci.c
15724 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15725 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15726 (attach_root_port): Likewise.
15727 (poll_nonroot_hub): Likewise.
15728 (grub_usb_poll_devices): Likewise.
15729 (detach_device): Close transfer.
15730 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15731 function.
15732 (grub_usb_bulk_setup_readwrite): Likewise.
15733 (grub_usb_bulk_finish_readwrite): Likewise.
15734 * grub-core/commands/keylayouts.c: New file.
15735 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15736 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15737 aliases.
15738 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15739 support scancode 2.
15740 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15741 * include/grub/keyboard_layouts.h: New file.
15742 * util/grub-mklayout.c: New file.
15743 * util/grub-kbdcomp.in: Likewise.
15744
15745 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 Unify memory types.
15748
15749 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15750 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15751 types.
15752 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15753 (grub_upper_mem): Likewise.
15754 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15755 * include/grub/memory.h (grub_memory_type_t): New enum.
15756 All users updated.
15757
15758 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/Makefile.core.def (lsapm): New module.
15761 * grub-core/commands/i386/pc/lsapm.c: New file.
15762 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15763 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15764 Likewise.
15765 * include/grub/i386/pc/apm.h: New file.
15766 * include/multiboot.h (multiboot_apm_info): New struct.
15767
15768 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 GRUB-legacy configuration file support.
15771
15772 * Makefile.util.def (grub-menulst2cfg): New util.
15773 * docs/man/grub-menulst2cfg.h2m: New file.
15774 * grub-core/Makefile.core.def (legacycfg): New module.
15775 * grub-core/commands/legacycfg.c: New file.
15776 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15777 (grub_normal_add_menu_entry): ... this.
15778 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15779 (grub_normal_set_password): ...this.
15780 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15781 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15782 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15783 * grub-core/lib/legacy_parse.c: New file.
15784 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15785 * include/grub/i386/pc/vesa_modes_table.h: New file.
15786 * include/grub/legacy_parse.h: Likewise.
15787 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15788 * util/grub-menulst2cfg.c: New file.
15789
15790 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15791
15792 * grub-core/kern/emu/hostdisk.c
15793 (convert_system_partition_to_system_disk): Initialise node.
15794
15795 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15796
15797 * grub-core/kern/emu/hostdisk.c
15798 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15799 leak.
15800 Reported and based on patch by: Modestas Vainius.
15801
15802 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15803
15804 Fix DM-RAID probing with recent versions of device-mapper udev
15805 rules.
15806
15807 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15808 canonicalise device paths under /dev/mapper/.
15809 (convert_system_partition_to_system_disk): Compare the
15810 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15811 path, since device nodes under /dev/mapper/ are often symlinks.
15812
15813 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15814
15815 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15816
15817 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15818
15819 * configure.ac: Avoid some annoying error messages if freetype-config
15820 program is not found.
15821
15822 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15823
15824 Support RAID on virtio devices, and others.
15825
15826 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15827 Rename to ...
15828 [__MINGW32__] (grub_find_device): ... this.
15829 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15830 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15831 reasonable default if dir is NULL.
15832 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15833 ...
15834 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15835 (grub_guess_root_device): Update callers.
15836 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15837
15838 * util/raid.c (grub_util_getdiskname): Remove.
15839 (grub_util_raid_getmembers): Use grub_find_device rather than
15840 grub_util_getdiskname.
15841
15842 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15843
15844 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15845 needing to be compiled with serial support.
15846 (ls): Indicate that multiple files are accepted.
15847 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15848 indicate that multiple files are accepted.
15849
15850 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15851
15852 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15853 libgrub_a_init.c, and util/bash-completion.d/grub.
15854
15855 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * util/grub-setup.c (setup): Fix incorrect container semantics.
15858
15859 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15862 misusage.
15863 Reported by: J. Nick Terry
15864
15865 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 Move embedding routines to partmap sources files.
15868
15869 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15870 [GRUB_UTIL]: New variable.
15871 (gpt_partition_map_iterate): Set part.parent.
15872 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15873 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15874 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15875 New function.
15876 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15877 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15878 (grub_partition_map) [GRUB_UTIL]: New field embed.
15879 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15880 (setup): Use ->embed.
15881
15882 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15885 function.
15886 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15887 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15888
15889 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15890
15891 Add function to get completions from usage.
15892
15893 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15894 completions from usage. Use LC_ALL=C to get options properly.
15895
15896 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/gnulib/basename-lgpl.c: Imported.
15899 * grub-core/gnulib/basename.c: Likewise.
15900 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15901 * grub-core/gnulib/dirname.c: Likewise.
15902 * grub-core/gnulib/dirname.h: Likewise.
15903 * grub-core/gnulib/stripslash.c: Likewise.
15904
15905 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 * grub-core/gnulib/error.c: Resynced.
15908 * grub-core/gnulib/getopt.c: Likewise.
15909 * grub-core/gnulib/getopt_int.h: Likewise.
15910 * grub-core/gnulib/regex.h: Likewise.
15911 * grub-core/gnulib/regex_internal.c: Likewise.
15912 * grub-core/gnulib/regex_internal.h: Likewise.
15913
15914 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15915
15916 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15917 CRC calculations and validity checks.
15918 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15919 calculations.
15920
15921 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15922
15923 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15924
15925 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 Fix incorrect echo options handling.
15928 Reported by: Yves Blusseau.
15929
15930 * include/grub/command.h (grub_command_flags_t): New flags
15931 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15932 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15933 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15934
15935 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15938 users updated.
15939 (GRUB_COMMAND_FLAG_MENU): Likewise.
15940 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15941 (GRUB_COMMAND_FLAG_TITLE): Removed.
15942 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15943 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15944 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15945 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15946 (grub_command_flags_t): New enum. All users updated.
15947
15948 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15949
15950 Fix solaris compilation.
15951
15952 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15953 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15954 (grub-emu-list): Likewise.
15955
15956 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 Remove deprecated root command.
15959
15960 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15961 updated.
15962
15963 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * util/i386/pc/grub-setup.c: Merge this ...
15966 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15967 * util/grub-setup.c: ... into this.
15968 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15969 New struct.
15970
15971 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15974 possible.
15975
15976 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15979 allocate p.
15980
15981 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15984 explicit root argument to set to prevent UUID to be interpreted as
15985 argument to set.
15986
15987 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15990
15991 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 Don't export grub_gate_a20.
15994
15995 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15996 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15997 to ...
15998 (grub_gate_a20): ... this. All users updated.
15999 * include/grub/i386/pc/init.h: Removed. All users updated.
16000
16001 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 Create euro.pf2 which supports most European languages.
16004
16005 * Makefile.am (grubdata_DATA): Add euro.pf2.
16006 (euro.pf2): New target.
16007 (CLEANFILES): Add euro.pf2.
16008
16009 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * configure.ac: Disable emu-usb by default to prevent inadvertent
16012 device takeover.
16013
16014 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 Disable usbserial on grub-emu since our libusb code isn't good enough
16017 yet.
16018
16019 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16020 (usbserial_pl2303): Likewise.
16021 (usbserial_ftdi): Likewise.
16022
16023 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 * include/grub/disk.h (grub_disk): Remove has_partitions.
16026 All users updated.
16027 * disk/loopback.c (grub_loopback): Remove has_partitions.
16028 All users updated.
16029 (options): Remove partitions. All users updated.
16030 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16031 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16032 actual partition table is found.
16033
16034 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 Remove readability checks (too many false negatives).
16037
16038 * util/grub-install.in: Remove readability checks.
16039 * util/grub-mkconfig.in: Likewise.
16040 * util/grub.d/10_hurd.in: Likewise.
16041 * util/grub.d/10_kfreebsd.in: Likewise.
16042 * util/grub.d/10_linux.in: Likewise.
16043 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16044 way.
16045
16046 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 Enable acpi shutdown on all ACPI platforms.
16049
16050 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16051 on coreboo, multiboot and EFI.
16052 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16053 (grub_acpi_halt): Likewise.
16054 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16055 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16056 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16057 * grub-core/lib/i386/halt.c (grub_halt)
16058 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16059
16060 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16063 context.
16064
16065 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16068 * grub-core/video/efi_uga.c: Likewise.
16069
16070 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Filter devaliases and never open same device twice.
16073
16074 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16075 (last_ihandle): Likewise.
16076 (ofdisk_hash_ent): New member shortest.
16077 (ofdisk_hash_add): Add canonical path too.
16078 (scan): New function.
16079 (grub_ofdisk_iterate): Iterate over hashed entries.
16080 (compute_dev_path): Don't add :0.
16081 (grub_ofdisk_open): Don't really open the disk.
16082 (grub_ofdisk_close): Avoid closing unrelated disk.
16083 (grub_ofdisk_read): Implement reopen logic.
16084 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16085 New function.
16086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16087 New proto.
16088
16089 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 Fix sparc64.
16092
16093 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16094 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16095 right address. Add sparc64_ieee1275_ldflags.
16096 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16097 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16098 to grub_host_to_target_addr
16099 (load_image): Likewise.
16100
16101 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * grub-core/normal/completion.c (complete_file): Handle device
16104 containing slash.
16105 Fix based on patch by Doug Nazar.
16106
16107 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 grub-mknetdir script.
16110
16111 * Makefile.util.def (grub-mknetdir): New module.
16112 * tests/util/grub-shell.in: Support boot=net
16113 * util/grub-mknetdir.in: New file.
16114
16115 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 videoinfo on non-vbe.
16118
16119 * grub-core/Makefile.core.def (vbeinfo): Removed.
16120 (vbetest): Removed.
16121 (videoinfo): New module.
16122 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16123 * grub-core/commands/i386/pc/vbetest.c: Removed.
16124 * grub-core/commands/videoinfo.c: New file.
16125 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16126 specification.
16127 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16128 as vbetest.
16129 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16130 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16131 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16132 mode_number. New parameter mode. All users updated.
16133 (grub_video_gop_iterate): New function.
16134 (grub_video_efi_gop): New member iterate.
16135 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16136 (grub_vbe_set_video_mode): Remove setting useless fields.
16137 (vbe2videoinfo): New function.
16138 (grub_video_vbe_iterate): Likewise.
16139 (grub_video_vbe_setup): Use vbe2videoinfo.
16140 (grub_video_vbe_print_adapter_specific_info): New function.
16141 (grub_video_vbe_adapter): New fields iterate and
16142 print_adapter_specific_info.
16143 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16144 All users updated.
16145 (grub_video_mode_info): New field mode_number.
16146 (grub_video_adapter): New fields iterate and
16147 print_adapter_specific_info.
16148
16149 2010-09-13 Tristan Gingold <gingold@free.fr>
16150 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
16151 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * grub-core/commands/efi/lsefisystab.c: New file.
16154 * grub-core/commands/efi/lssal.c: Likewise.
16155 * grub-core/Makefile.core.def (lsacpi): New module.
16156 (lsefisystab): Likewise.
16157 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16158 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16159 (grub_efi_sal_system_table): New struct.
16160 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16161 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16162 (grub_efi_sal_system_table_platform_features): Likewise.
16163 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16164 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16165 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16166 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16167
16168 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Support explicit user claim that a device is BIOS-visible.
16171
16172 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16173 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16174 * grub-core/kern/emu/hostdisk.c
16175 (convert_system_partition_to_system_disk): Support mdX.
16176 (find_system_device): New parameter add. All users updated.
16177 (grub_util_biosdisk_is_present): New function.
16178 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16179 proto.
16180
16181 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 Search hints support.
16184
16185 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16186 All users updated.
16187
16188 2010-09-13 Yves Blusseau <blusseau@zetam.org>
16189
16190 Bash completion script for util commands
16191
16192 * Makefile.am: Add util/bash-completion.d directory
16193 * configure.ac: Likewise.
16194 * util/bash-completion.d/Makefile.am: New file.
16195 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16196
16197 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16200 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16201 Reported by: Yves Blusseau.
16202
16203 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16206 partition size and offset.
16207
16208 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16211
16212 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16215
16216 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16219 (grub_xvasprintf): Likewise.
16220
16221 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16224
16225 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16228 args ending with NULL.
16229
16230 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16233 pointer.
16234
16235 2010-09-11 Szymon Janc <szymon@janc.net.pl>
16236
16237 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16238
16239 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 Shutdown using ACPI.
16242
16243 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16244 * grub-core/commands/acpihalt.c: New file.
16245 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16246 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16247 (grub_acpi_halt): New proto.
16248 (GRUB_ACPI_SLP_EN): New const.
16249 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16250 (GRUB_ACPI_OPCODE_*): New enum.
16251 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16252
16253 2010-09-11 Tristan Gingold <gingold@free.fr>
16254 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16255 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * commands/lsacpi.c: New file.
16258 * grub-core/Makefile.core.def (lsacpi): New module.
16259 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16260 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16261 (grub_acpi_madt_entry_header): New struct.
16262 (grub_acpi_madt): Likewise.
16263 (grub_acpi_madt_entry_interrupt_override): Likewise.
16264 (grub_acpi_madt_entry_sapic): Likewise.
16265 (grub_acpi_madt_entry_lsapic): Likewise.
16266 (grub_acpi_madt_entry_platform_int_source): Likewise.
16267 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16268 (PRIuGRUB_UINT32_T): Likewise.
16269 (PRIxGRUB_UINT64_T): Likewise.
16270
16271 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 Implement loading palette on ieee1275_fb.
16274
16275 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16276 (have_setcolors): Likewise.
16277 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16278 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16279 (grub_video_ieee1275_set_palette): Implement.
16280
16281 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16282 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
16283
16284 * util/grub-install.in (grub_partition): New variable.
16285 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16286 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16287 Fixes a bug reported by Yves Blusseau.
16288
16289 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 Fix emu on mipsel.
16292
16293 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16294 =grub_cpu_flush_cache on all mips and not only yeeloong.
16295 * configure.ac (COND_mips): New conditional.
16296 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16297 platforms.
16298 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16299 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16300 [GRUB_LINKER_HAVE_INIT]: New function.
16301 (grub_emu_post_init): Likewise.
16302 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16303 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16304 * include/grub/cache.h (_mips): Include mips/cache.h.
16305 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16306 LVM and RAID prototypes.
16307 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16308 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16309 function.
16310
16311 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16312
16313 * util/grub-install.in: Don't try to verify core.img until after
16314 running grub-mkimage to create it.
16315
16316 2010-09-10 Robert Millan <rmh@gnu.org>
16317
16318 * util/grub.d/10_hurd.in: Add misc readability checks.
16319 * util/grub.d/10_kfreebsd.in: Likewise.
16320 * util/grub.d/10_linux.in: Likewise.
16321
16322 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * util/grub-install.in: ${imgext} won't be defined here until the
16325 install branch is merged. For the meantime, only verify core.img on
16326 i386-pc and sparc64-ieee1275 platforms.
16327
16328 2010-09-10 Robert Millan <rmh@gnu.org>
16329
16330 Solaris support in grub_find_zpool_from_dir(). Thanks
16331 Seth Goldberg for referring to getextmntent() facility.
16332
16333 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16334 `sys/mkdev.h'.
16335 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16336 `<sys/mnttab.h>'.
16337 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16338 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16339 method for finding zpool name.
16340
16341 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16342
16343 grub-fstest needs the host and hostfs modules while other utilities
16344 actively require those modules to be absent, so grub-fstest needs
16345 its own initialisation and finalisation code.
16346
16347 * Makefile.am (grub_fstest.pp): New target.
16348 (grub_fstest_init.lst): Likewise.
16349 (grub_fstest_init.c): Likewise.
16350 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16351
16352 2010-09-10 Robert Millan <rmh@gnu.org>
16353
16354 * configure.ac: Check for `struct statfs.f_fstypename' and
16355 `struct statfs.f_mntfromname'.
16356
16357 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16358 kFreeBSD-specific code.
16359
16360 2010-09-10 Robert Millan <rmh@gnu.org>
16361
16362 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16363 on ZFS. Now non-main filesystems are supported as / too.
16364
16365 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
16366
16367 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16368 and grub-core/disk/host.c to ...
16369 (grub-fstest): ... here. Having the host disk implementation
16370 present confuses grub-probe and other utility programs.
16371
16372 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16373 when writing to a file, not when writing to stdout.
16374
16375 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16376
16377 * tests/partmap_test.in: New test for partitions.
16378 * Makefile.util.def: Rules for new test.
16379
16380 2010-09-09 Robert Millan <rmh@gnu.org>
16381
16382 * util/grub-probe.c (probe): Fix a pair of unhandled error
16383 conditions.
16384
16385 2010-09-09 Robert Millan <rmh@gnu.org>
16386
16387 Basic Btrfs support (detection and UUID).
16388
16389 * grub-core/fs/btrfs.c: New file.
16390 * Makefile.util.def (library): Register btrfs.c.
16391 * grub-core/Makefile.core.def: Likewise.
16392
16393 2010-09-08 Robert Millan <rmh@gnu.org>
16394
16395 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16396 with (optional) parameters to specify device and relative path.
16397 * util/grub-install.in: Use is_path_readable_by_grub() to
16398 verify readability of a few critical files.
16399 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16400 verify readability of grub.cfg.new.
16401
16402 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 Split minix.mod into minix.mod and minix2.mod.
16405
16406 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16407 * grub-core/Makefile.core.def (minix2): New module.
16408 * grub-core/fs/minix.c: Use definitions instead of runtime version
16409 checking.
16410 * grub-core/fs/minix2.c: New file.
16411
16412 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16413
16414 Add new --boot-directory option to replace --root-directory
16415
16416 * util/grub-install.in: Add new --boot-directory option
16417 * util/grub-reboot.in: Likewise.
16418 * util/grub-set-default.in: Likewise.
16419
16420 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16421
16422 * util/grub-mkconfig.in: Use new variable.
16423
16424 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16425
16426 * configure.ac: Define some useful variables.
16427
16428 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16431 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16432 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16433 Use terminfo and don't use cursor-on/cursor-off unless it's known
16434 to work.
16435 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16436 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16437
16438 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
16439
16440 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16441 starts with "(,", fill the drive containing the loaded image in
16442 between those two characters, but expect that a full partition
16443 specification including partition map names will follow.
16444
16445 2010-09-08 Robert Millan <rmh@gnu.org>
16446
16447 * configure.ac: Remove `--enable-grub-fstest' option.
16448 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16449
16450 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16451 `grub-fstest' instead of `grub-probe' for readability verification.
16452 * util/grub-probe.c (probe): Remove readability verification kludge.
16453
16454 2010-09-08 Robert Millan <rmh@gnu.org>
16455
16456 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16457 initializing `GRUB_FS'.
16458
16459 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16460
16461 Not command (!) support to GRUB script.
16462
16463 * tests/grub_script_not.in: New test.
16464 * Makefile.util.def: Rules for new test.
16465
16466 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16467 ! command as a special case.
16468 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16469
16470 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16471
16472 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16473 grub_free.
16474
16475 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16476
16477 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16478
16479 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16480
16481 * docs/grub.texi (Shell-like scripting): Documentation for break,
16482 continue, shift and return commands.
16483
16484 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 Rename CD-ROM to cd on BIOS.
16487
16488 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16489 "cd".
16490 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16491
16492 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16495 * util/grub-probe.c (main): Likewise.
16496 * util/i386/pc/grub-setup.c (main): Likewise.
16497 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16498 Reported and debugged by: alexxy
16499
16500 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16503 diagnostic info.
16504
16505 2010-09-05 Jo Shields <directhex@apebox.org>
16506
16507 * util/grub.d/30_os-prober.in: Add missing classes.
16508
16509 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * docs/grub.texi (Theme file format): Document new position format.
16512
16513 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16516 a table. Use @code instead of @verbatim.
16517
16518 2010-09-05 Colin D Bennett <colin@gibibit.com>
16519
16520 Gfxmenu documentation.
16521
16522 * docs/grub.texi (Theme file format): New chapter.
16523
16524 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16525
16526 * grub-core/Makefile.core.def (xzio): New module.
16527 * grub-core/io/xzio.c: New file.
16528 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16529 * grub-core/lib/xzembed/xz_config.h: Likewise.
16530 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16531 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16532 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16533 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16534 * grub-core/lib/xzembed/xz_private.h: Likewise.
16535 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16536 * include/grub/file.h (grub_file_filter_id): New compression filter
16537 GRUB_FILE_FILTER_XZIO.
16538
16539 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16542 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16543 size.
16544
16545 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16548 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16549
16550 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Uncompressed checksum support.
16553
16554 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16555 (check_list): New parameter uncompress.
16556 (grub_cmd_hashsum): Handle --uncompress.
16557
16558 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 Reintroduce testload.
16561
16562 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16563 from here ...
16564 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16565 (GRUB_MOD_INIT): New function.
16566 (GRUB_MOD_FINI): Likewise.
16567 * grub-core/Makefile.core.def (testload): New module.
16568
16569 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16570
16571 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16572 (uint8_t): New type.
16573 (uint16_t): Likewise.
16574 (uint32_t): Likewise.
16575 (uint64_t): Likewise.
16576
16577 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16578
16579 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16580
16581 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16584 Made static.
16585 (grub_gzfile_open): Removed. All users updated.
16586 (GRUB_MOD_INIT): New function.
16587 (GRUB_MOD_FINI): Likewise.
16588 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16589 (grub_file_filters_enabled): Likewise.
16590 (grub_file_open): Handle filters.
16591 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16592 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16593 * include/grub/file.h (grub_file_filter_id_t): New type.
16594 (grub_file_filter_t): Likewise.
16595 (grub_file_filters_all): New extern variable.
16596 (grub_file_filters_enabled): Likewise.
16597 (grub_file_filter_register): New inline function.
16598 (grub_file_filter_unregister): Likewise.
16599 (grub_file_filter_disable): Likewise.
16600 (grub_file_filter_disable_compression): Likewise.
16601 * include/grub/gzio.h: Removed.
16602
16603 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16604
16605 Filename expansion support for wildcards in GRUB script.
16606
16607 * tests/grub_script_expansion.in: New test.
16608 * Makefile.util.def: Rule for new test.
16609
16610 * grub-core/commands/wildcard.c: New file, implements filename
16611 expansion support for GRUB script.
16612 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16613 * grub-core/script/argv.c: Cosmetic changes.
16614 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16615 Refactored to perform wildcard expansion on arguments.
16616 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16617 struct.
16618
16619 * tests/util/grub-shell.in: Fix quoting for read input.
16620
16621 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16622
16623 Support for updating environment variables with matched substrings
16624 of regexp.
16625
16626 * tests/grub_cmd_regexp.in: New test.
16627 * Makefile.util.def: Rule for new test.
16628
16629 * grub-core/commands/regexp.c: New option -s to update environment
16630 variables with regexp matches.
16631
16632 2010-09-04 Szymon Janc <szymon@janc.net.pl>
16633
16634 * include/grub/file.h (grub_file): New member not_easly_seekable.
16635 (grub_file_seekable): New inline function.
16636 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16637 easily seekable.
16638 (grub_gzio_open): Set not_easly_seekable.
16639 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16640 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16641
16642 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16643
16644 Support for options to appear multiple times on cmdline.
16645
16646 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16647 * grub-core/commands/extcmd.c: Support for repeatable option.
16648 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16649 repeatable option support.
16650
16651 Refactor menuentry into a regular command.
16652
16653 * grub-core/commands/menuentry.c: New file, menuentry command
16654 implementation.
16655 * grub-core/Makefile.core.def: Rule update for normal.mod.
16656 * grub-core/normal/main.c: Moved menuentry creation to
16657 grub-core/commands/menuentry.c.
16658 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16659 (grub_menu_execute_entry_real): Removed.
16660 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16661 function.
16662 (grub_script_execute_menuentry): Removed.
16663 * grub-core/script/parser.y (menuentry): Removed.
16664 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16665 * grub-core/script/yylex.l (menuentry): Removed.
16666 * include/grub/menu.h (grub_menu_init): New prototype.
16667 (grub_menu_fini): New prototype.
16668 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16669 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16670 (grub_script_execute_sourcecode): New prototype.
16671
16672 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16673
16674 "return" command for GRUB script functions.
16675
16676 * tests/grub_script_return.in: New test.
16677 * Makefile.util.def: Rules for new test.
16678
16679 * grub-core/script/execute.c (grub_script_return): New function.
16680 * grub-core/script/main.c: Register/unregister return commaond.
16681 * include/grub/script_sh.h (grub_script_return): New prototype.
16682
16683 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16684
16685 "setparams" command to update positional parameters.
16686
16687 * tests/grub_script_setparams.in: New test.
16688 * Makefile.util.def: Rules for new test.
16689
16690 * grub-core/script/argv.c (grub_script_argv_make): New function.
16691 * grub-core/script/execute.c (replace_scope): New function.
16692 (grub_script_setparams): New function.
16693 * grub-core/script/lexer.c: Remove unused variables.
16694 * grub-core/script/main.c: Register/unregister setparams command.
16695 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16696 (grub_script_setparams): New prototype.
16697
16698 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16699
16700 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16701 grub_free order.
16702
16703 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16704
16705 Support for passing block of commands as an argument to extcmds.
16706
16707 * Makefile.util.def: Rules for new test.
16708 * tests/grub_script_blockarg.in: New test.
16709 * grub-core/tests/test_blockarg.c: New file, block argument
16710 command used in the test.
16711
16712 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16713 (grub_register_extcmd_prio): New function prototype.
16714 (grub_extcmd_dispatcher): New function prototype.
16715 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16716 type.
16717 * include/grub/script_sh.h (struct grub_script): New members
16718 `children', `next_siblings' and `refcnt' for block arguments and
16719 reference counting.
16720 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16721 (grub_script_arg): New member `script' for block argument.
16722 (grub_script_argv): New member `script' for block argument.
16723 (grub_parser_param): New member `scripts' for block argument.
16724 (grub_script_mem_free): New extern function prototype.
16725 (grub_script_ref): New function prototype.
16726 (grub_script_unref): New function prototype.
16727
16728 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16729 extcmd form to support block arguments.
16730 * grub-core/script/argv.c: Block arguments support.
16731 * grub-core/script/execute.c: Likewise.
16732 * grub-core/script/lexer.c: Likewise.
16733 * grub-core/script/main.c: Likewise.
16734 * grub-core/script/script.c: Likewise.
16735 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16736 non-terminals.
16737
16738 * grub-core/commands/acpi.c: Update extcmd implementations with
16739 grub_extcmd_context_t.
16740 * grub-core/commands/cat.c: Likewise.
16741 * grub-core/commands/echo.c: Likewise.
16742 * grub-core/commands/extcmd.c: Likewise.
16743 * grub-core/commands/hashsum.c: Likewise.
16744 * grub-core/commands/hdparm.c: Likewise.
16745 * grub-core/commands/help.c: Likewise.
16746 * grub-core/commands/hexdump.c: Likewise.
16747 * grub-core/commands/i386/cpuid.c: Likewise.
16748 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16749 * grub-core/commands/i386/pc/halt.c: Likewise.
16750 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16751 * grub-core/commands/iorw.c: Likewise.
16752 * grub-core/commands/keystatus.c: Likewise.
16753 * grub-core/commands/loadenv.c: Likewise.
16754 * grub-core/commands/ls.c: Likewise.
16755 * grub-core/commands/lspci.c: Likewise.
16756 * grub-core/commands/memrw.c: Likewise.
16757 * grub-core/commands/probe.c: Likewise.
16758 * grub-core/commands/search_wrap.c: Likewise.
16759 * grub-core/commands/setpci.c: Likewise.
16760 * grub-core/commands/sleep.c: Likewise.
16761 * grub-core/disk/loopback.c: Likewise.
16762 * grub-core/hello/hello.c: Likewise.
16763 * grub-core/loader/i386/bsd.c: Likewise.
16764 * grub-core/loader/xnu.c: Likewise.
16765 * grub-core/term/gfxterm.c: Likewise.
16766 * grub-core/term/serial.c: Likewise.
16767 * grub-core/tests/lib/functional_test.c: Likewise.
16768
16769 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16770
16771 Multi-line quoted strings support.
16772
16773 * grub-core/script/lexer.c (append_newline): Removed.
16774 (grub_script_lexer_yywrap): Refactored.
16775 (grub_script_lexer_init): Refactored.
16776 * grub-core/script/yylex.l (yywrap): New function.
16777 (grub_lexer_resplit): New function.
16778 (grub_lexer_unput): New function.
16779 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16780 and resplit.
16781 * tests/grub_script_echo1.in: Added few more testcases.
16782
16783 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 * grub-core/kern/misc.c: Don't add abort alias in utils.
16786 Reported by: echoline.
16787
16788 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16789
16790 Add missing files into "make dist" tarball for other platforms.
16791
16792 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16793 * conf/Makefile.common (dist_noinst_DATA): New variable.
16794 * conf/Makefile.extra-dist: Added missing make dist files.
16795 * grub-core/Makefile.core.def: Likewise.
16796
16797 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Compress grub_prefix.
16800
16801 * grub-core/boot/i386/pc/lnxboot.S: Use
16802 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16803 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16804 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16805 GRUB_MACHINE_PREFIX_END. All users updated.
16806 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16807 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16808 + 0x40.
16809 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16810 * util/grub-mkimage.c (image_target_desc): Change data_end to
16811 prefix_end. All users updated.
16812
16813 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16814
16815 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16816 value.
16817 (grub_openbsd_boot): Likewise.
16818 (grub_netbsd_boot): Likewise.
16819 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16820 (grub_xnu_boot): Likewise.
16821
16822 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * configure.ac: Clean LIBS variable after tests.
16825
16826 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16827
16828 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16829
16830 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16831
16832 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16833 echo if libdevmapper will be used.
16834
16835 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16836
16837 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16838 constant for the same file.
16839
16840 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16843
16844 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16845
16846 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16847 grub-core/*.pp.
16848
16849 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16850
16851 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16852 required by the boot protocol.
16853
16854 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16855 ebp and edi members.
16856 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16857 state.ebp and state.edi.
16858 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16859 %ebp and %edi according to grub_relocator32_ebp and
16860 grub_relocator32_edi respectively.
16861 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16862 and state.edi.
16863
16864 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 Add i386-pc-pxe image target.
16867
16868 * util/grub-mkimage.c (image_target_desc): New enum value
16869 IMAGE_I386_PC_PXE.
16870 (image_targets): New target i386-pc-pxe.
16871 (generate_image): Handle i386-pc-pxe image.
16872
16873 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 Fix grub_pxe_scan.
16876
16877 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16878 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16879 All users updated.
16880 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16881 (grub_pxe_pxenv): Correct type.
16882
16883 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16884
16885 * NEWS: Document most of the important changes since 1.98.
16886
16887 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16888
16889 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16890 generated manual page) a little.
16891
16892 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16893
16894 * docs/grub.texi: Add myself as an author.
16895
16896 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 * Makefile.util.def (libgrub.a): Add missing sunpc.
16899 Reported by: Seth Goldberg.
16900
16901 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 Interrupt wrapping and code simplifications.
16904
16905 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16906 x86_noieee1275 which are functionaly equivalent in this case.
16907 (grub-install): Make source on each platform explicit. Enable on
16908 all noemu.
16909 * gentpl.py (x86_efi_pc): Removed group.
16910 (x86_noefi): Likewise.
16911 (i386_noefi): Likewise.
16912 (x86_noieee1275): Likewise.
16913 (i386_noieee1275): Likewise.
16914 (i386_noefi_noieee1275): Likewise.
16915 (i386_pc_qemu_coreboot): Likewise.
16916 (i386_coreboot_multiboot): Likewise.
16917 (i386_pc_coreboot_multiboot_qemu): Likewise.
16918 (x86_noefi_mips): Likewise.
16919 (noieee1275): Likewise.
16920 (ieee1275_mips): Likewise.
16921 (noemu_noieee1275): Likewise.
16922 (cmos): New group.
16923 (usb): Likewise.
16924 (videoinkernel): Likewise.
16925 (videomodules): Likewise.
16926 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16927 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16928 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16929 include/grub/loader.h, include/grub/msdos_partition.h,
16930 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16931 include/grub/machine/console.h, include/grub/machine/vga.h,
16932 include/grub/machine/vbe.h, include/grub/machine/init.h,
16933 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16934 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16935 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16936 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16937 * grub-core/Makefile.core.def (kernel): Explicit the source for
16938 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16939 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16940 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16941 Use videoinkernel tag.
16942 (usb): Enable on all usb.
16943 (usbserial_common): Likewise.
16944 (usbserial_pl2303): Likewise.
16945 (usbserial_ftdi): Likewise.
16946 (uhci): Enable on all x86.
16947 (ohci): Enable on all pci.
16948 (cmostest): Enable on all CMOS.
16949 (acpi): Include commands/acpi.c on all platforms.
16950 (halt): Add relevant lib/*/halt.c.
16951 (hdparm): Enable on all pci.
16952 (lspci): Likewise.
16953 (usbtest): Enable on all usb.
16954 (ata): Enable on all pci.
16955 (ata_pthru): Likewise.
16956 (usbms): Enable on all usb.
16957 (usb_keyboard): Likewise.
16958 (font): Use tag videomodules.
16959 (bufio): Likewise.
16960 (datetime): Use tag cmos. Enable on all noemu.
16961 (mmap): Use tags common and x86.
16962 (gfxterm): Use tag videomodules.
16963 (bitmap): Likewise.
16964 (bitmap_scale): Likewise.
16965 (video_fb): Likewise.
16966 (video): Likewise.
16967 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16968 adjust padding accordingly. All users updated.
16969 (grub_ohci_transaction): Fix bad format specification.
16970 (GRUB_MOD_INIT): Add asserts for struct size.
16971 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16972 (grub_alloc_td): Likewise.
16973 (grub_free_queue): Likewise.
16974 (grub_uhci_transfer): Likewise.
16975 (grub_uhci_transaction): Fix bad format specification.
16976 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16977 (grub_usb_bulk_readwrite): Likewise.
16978 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16979 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16980 Made static.
16981 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16982 Made static.
16983 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16984 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16985 Transformed into C.
16986 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16987 Moved from here ...
16988 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16989 ... here. Transformed into C. Made static.
16990 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16991 Moved from here ...
16992 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16993 ... here. Transformed into C. Made static.
16994 * grub-core/kern/i386/pc/startup.S
16995 (grub_biosdisk_check_int13_extensions): Moved from here ...
16996 * grub-core/disk/i386/pc/biosdisk.c
16997 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16998 Made static.
16999 * grub-core/kern/i386/pc/startup.S
17000 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17001 * grub-core/disk/i386/pc/biosdisk.c
17002 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17003 Transformed into C. Made static.
17004 * grub-core/kern/i386/pc/startup.S
17005 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17006 * grub-core/disk/i386/pc/biosdisk.c
17007 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17008 Transformed into C. Made static.
17009 * grub-core/kern/i386/pc/startup.S
17010 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17011 * grub-core/disk/i386/pc/biosdisk.c
17012 (grub_biosdisk_get_diskinfo_standard): ... here.
17013 Transformed into C. Made static.
17014 * grub-core/kern/i386/pc/startup.S
17015 (grub_biosdisk_get_num_floppies): Moved from here ...
17016 * grub-core/disk/i386/pc/biosdisk.c
17017 (grub_biosdisk_get_num_floppies): ... here.
17018 Transformed into C. Made static.
17019 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17020 New function.
17021 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17022 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17023 Transformed into C. Made static.
17024 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17025 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17026 Transformed into C. Made static.
17027 * grub-core/kern/i386/ieee1275/init.c: Removed.
17028 * grub-core/kern/i386/misc.S: Likewise.
17029 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17030 Splitted from here ...
17031 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17032 Transformed into C. Made static. All users updated.
17033 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17034 Transformed into C. Made static. All users updated.
17035 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17036 Moved from here...
17037 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17038 Transformed into C. Made static. All users updated.
17039 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17040 Moved from here...
17041 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17042 Transformed into C. Made static. All users updated.
17043 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17044 Removed (replaced by C version).
17045 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17046 Moved from here...
17047 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17048 Transformed into C. Made static.
17049 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17050 Moved from here...
17051 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17052 ... here. Transformed into C.
17053 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17054 Moved from here...
17055 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17056 ... here. Transformed into C.
17057 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17058 Moved from here...
17059 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17060 ... here. Transformed into C. Made static.
17061 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17062 Moved from here...
17063 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17064 ... here. Transformed into C.
17065 * grub-core/kern/i386/pc/startup.S
17066 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17067 * grub-core/video/i386/pc/vbe.c
17068 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
17069 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17070 Moved from here...
17071 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17072 ... here. Transformed into C.
17073 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17074 Moved from here...
17075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17076 ... here. Transformed into C.
17077 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17078 Moved from here...
17079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17080 ... here. Transformed into C.
17081 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17082 Moved from here...
17083 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17084 ... here. Transformed into C.
17085 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17086 Moved from here...
17087 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17088 ... here. Transformed into C. Made static.
17089 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17090 Moved from here...
17091 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17092 ... here. Transformed into C. Made static.
17093 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17094 Moved from here...
17095 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17096 ... here. Transformed into C. Made static.
17097 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17098 pxe_rm_entry as third argument.
17099 (grub_bios_interrupt): New function.
17100 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17101 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17102 of calling grub_stop.
17103 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17104 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17105 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17106 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17107 * grub-core/lib/i386/halt.c: Moved from here ...
17108 * grub-core/lib/i386/halt.c: ... here.
17109 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17110 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17111 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17112 grub_stop_floppy.
17113 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17114 * include/grub/i386/coreboot/init.h: Removed.
17115 * include/grub/i386/multiboot/init.h: Likewise.
17116 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17117 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17118 * include/grub/i386/pc/int.h: New file.
17119 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17120 (grub_pxe_scan): Removed.
17121 (grub_pxe_call): Update prototype.
17122 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17123 prototypes.
17124 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17125 * include/grub/i386/qemu/init.h: Removed.
17126 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17127 noreturn.
17128 (grub_halt): Likewise.
17129 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17130 (grub_reboot): Likewise.
17131 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17132 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
17133 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17134
17135 2010-08-30 Robert Millan <rmh@gnu.org>
17136
17137 * NEWS: Document addition of ZFS support in `grub-install' and
17138 `grub-mkconfig'.
17139
17140 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17141
17142 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17143 dprintf output.
17144
17145 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 Remove leftover embedding of font objects.
17148
17149 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17150 * util/grub-install.in (font): Removed.
17151 * util/grub-mkimage.c (generate_image): Remove font support. All users
17152 updated.
17153
17154 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 Remove leftover embedding of font objects.
17157
17158 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17159 * util/grub-install.in (font): Removed.
17160 * util/grub-mkimage.c (generate_image): Remove font support. All users
17161 updated.
17162
17163 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17164
17165 * docs/grub.texi (Network): Fix reference to pxe_blksize.
17166 Reported by: Ian Turner
17167
17168 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17171 timeout to avoid indefinite boot stalling.
17172
17173 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17176 (grub_env_write_color_highlight): Likewise.
17177
17178 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 * grub-core/normal/term.c (print_more): Return to normal and not
17181 to standard state after printing "---MORE---".
17182
17183 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17186 Mask out the bit 0x80 since it has other meaning that specifiing color.
17187
17188 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 New relocator. Allows for more kernel support and more straightforward
17191 loader writing.
17192
17193 * Makefile.am (BOOTTARGET): New variable.
17194 (QEMU32): Likewise.
17195 (linux.init.x86_64): New target.
17196 (linux.init.i386): Likewise.
17197 (multiboot.elf): Likewise.
17198 (kfreebsd.elf): Likewise.
17199 (kfreebsd.aout): Likewise.
17200 (pc-chainloader.elf): Likewise.
17201 (pc-chainloader.bin): Likewise.
17202 (ntldr.elf): Likewise.
17203 (ntldr.bin): Likewise.
17204 (multiboot2.elf): Likewise.
17205 (kfreebsd.init.x86_64): Likewise.
17206 (kfreebsd.init.i386): Likewise.
17207 (knetbsd.init.i386): Likewise.
17208 (kopenbsd.init.i386): Likewise.
17209 (knetbsd.init.x86_64): Likewise.
17210 (kopenbsd.init.x86_64): Likewise.
17211 (linux-initramfs.i386): Likewise.
17212 (linux-initramfs.x86_64): Likewise.
17213 (kfreebsd-mfsroot.i386.img): Likewise.
17214 (knetbsd.image.i386): Likewise.
17215 (kopenbsd.image.i386): Likewise.
17216 (kopenbsd.image.x86_64): Likewise.
17217 (knetbsd.miniroot-image.i386.img): Likewise.
17218 (kfreebsd-mfsroot.x86_64.img): Likewise.
17219 (knetbsd.image.x86_64): Likewise.
17220 (knetbsd.miniroot-image.x86_64.img): Likewise.
17221 (kfreebsd-mfsroot.i386.gz): Likewise.
17222 (bootcheck-kfreebsd-i386): Likewise.
17223 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17224 (bootcheck-kfreebsd-x86_64): Likewise.
17225 (knetbsd.miniroot-image.i386.gz): Likewise.
17226 (bootcheck-knetbsd-i386): Likewise.
17227 (bootcheck-kopenbsd-i386): Likewise.
17228 (bootcheck-kopenbsd-x86_64): Likewise.
17229 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17230 (bootcheck-knetbsd-x86_64): Likewise.
17231 (bootcheck-linux-i386): Likewise.
17232 (bootcheck-linux-x86_64): Likewise.
17233 (bootcheck-linux16-i386): Likewise.
17234 (bootcheck-linux16-x86_64): Likewise.
17235 (bootcheck-multiboot): Likewise.
17236 (bootcheck-multiboot2): Likewise.
17237 (bootcheck-kfreebsd-aout): Likewise.
17238 (bootcheck-pc-chainloader): Likewise.
17239 (bootcheck-ntldr): Likewise.
17240 (CLEANFILES): Add new targets.
17241 (BOOTCHECKS): New variable.
17242 (.PHONY): Add bootchecks.
17243 (SUCCESSFUL_BOOT_STRING): New variable.
17244 (BOOTCHECK_TIMEOUT): Likewise.
17245 (bootcheck): New target
17246 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17247 * configure.ac: Correct efiemu excuse.
17248 * docs/grub.texi (Supported kernels): New chapter.
17249 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17250 include/grub/mm_private.h. Simplify inclusion of
17251 include/grub/boot.h, include/grub/loader.h
17252 and include/grub/msdos_partition.h
17253 (KERNEL_HEADER_FILES) [i386_coreboot]:
17254 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17255 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17256 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17257 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17258 include/grub/machine/loader.h.
17259 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17260 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17261 extra_dist.
17262 (pci.mod): Enable on i386-multiboot.
17263 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17264 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17265 i386-qemu.
17266 (relocator.mod): Rewritten.
17267 (aout.mod): Enable on all x86.
17268 (bsd.mod): Likewise.
17269 (ntldr.mod): New module.
17270 (linux.mod): Use loader/i386/linux.c on all x86.
17271 (xnu.mod): Enable on all x86.
17272 (vga_text.mod): disable on EFI and QEMU.
17273 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17274 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17275 * grub-core/efiemu/loadcore.c: Likewise.
17276 * grub-core/efiemu/main.c: Likewise.
17277 (grub_efiemu_exit_boot_services): Removed.
17278 (grub_efiemu_finish_boot_services): Likewise.
17279 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17280 function.
17281 * grub-core/efiemu/i386/nocfgtables.c: New file.
17282 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17283 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17284 (grub_efi_finish_boot_services): Moved from here ...
17285 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17286 Fille finish memory map and related data.
17287 (finish_mmap_buf): New variable.
17288 (grub_efi_uintn_t finish_mmap_size): Likewise.
17289 (grub_efi_uintn_t finish_key): Likewise.
17290 (grub_efi_uintn_t finish_desc_size): Likewise.
17291 (grub_efi_uint32_t finish_desc_version): Likewise.
17292 (grub_efi_is_finished): Likewise.
17293 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17294 finished.
17295 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17296 (grub_elf64_phdr_iterate): Likewise.
17297 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17298 (grub_os_area_size): Likewise.
17299 (grub_machine_init): Don't reserve os area.
17300 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17301 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17302 * grub-core/kern/i386/loader.S: Removed.
17303 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17304 (grub_os_area_size): Likewise.
17305 (grub_machine_init): Don't reserve os area.
17306 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17307 Don't call grub_dl_unload_all.
17308 Don't include loader.S.
17309 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17310 Declare the memory after _end as available.
17311 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
17312 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
17313 (GRUB_MM_ALLOC_MAGIC): Moved from here...
17314 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17315 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17316 * include/grub/mm_private.h (grub_mm_header): ... here.
17317 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17318 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
17319 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17320 (grub_mm_region): ..here. Removed addr. Added pre_size.
17321 All users updated.
17322 * grub-core/kern/mm.c (base): Renamed to ...
17323 (grub_mm_base): ... this. Made global.
17324 (grub_real_malloc): Alloc from end of region.
17325 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17326 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17327 * grub-core/kern/powerpc/cache_flush.S: ... here.
17328 * grub-core/lib/efi/relocator.c: New file.
17329 * grub-core/lib/i386/relocator.c: Rewritten.
17330 * grub-core/lib/i386/relocator16.S: New file.
17331 * grub-core/lib/i386/relocator32.S: Likewise.
17332 * grub-core/lib/i386/relocator64.S: Likewise.
17333 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17334 * grub-core/lib/i386/relocator_common.S: New file.
17335 * grub-core/lib/ieee1275/relocator.c: Likewise.
17336 * grub-core/lib/mips/relocator.c: Rewritten.
17337 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17338 stylistic adjustments.
17339 * grub-core/lib/powerpc/relocator.c: New file.
17340 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17341 * grub-core/lib/relocator.c: Rewritten.
17342 * grub-core/lib/x86_64/relocator_asm.S: New file.
17343 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17344 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17345 (bsd_tag): New struct.
17346 (tags): New variable.
17347 (tags_last): Likewise.
17348 (netbsd_module): New struct.
17349 (netbsd_mods): New variable.
17350 (netbsd_mods_last): Likewise.
17351 (openbsd_opts): New parameter "serial".
17352 (OPENBSD_SERIAL_ARG): New definition.
17353 (netbsd_opts): New parameter "serial".
17354 (NETBSD_SERIAL_ARG): New definition.
17355 (grub_freebsd_add_meta): Reorganised into ...
17356 (grub_bsd_add_meta): ...this. All users updated.
17357 (grub_freebsd_add_mmap): Reorganised into ...
17358 (generate_e820_mmap): ...this...
17359 (grub_bsd_add_mmap): ...and this. All users updated.
17360 (grub_freebsd_list_modules): Use tags.
17361 (grub_netbsd_add_meta_module): New function.
17362 (grub_netbsd_list_modules): Likewise.
17363 (grub_freebsd_boot): Use relocator and finish EFI.
17364 (grub_openbsd_boot): Likewise.
17365 (grub_netbsd_setup_video): New function.
17366 (grub_netbsd_add_modules): Likewise.
17367 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17368 and finish EFI.
17369 (grub_bsd_unload): Unload tags.
17370 (grub_bsd_load_aout): Use relocator.
17371 (grub_bsd_elf32_size_hook): New function.
17372 (grub_bsd_elf32_hook): Use relocator.
17373 (grub_bsd_elf64_size_hook): New function.
17374 (grub_bsd_elf64_hook): Use relocator.
17375 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17376 (grub_bsd_load): Zero-out openbsd_ramdisk.
17377 (grub_bsd_load): Use relocator.
17378 (grub_cmd_openbsd): Support serial.
17379 (grub_cmd_netbsd): Support modules.
17380 (grub_cmd_freebsd_module): Use relocator.
17381 (grub_netbsd_module_load): New function.
17382 (grub_cmd_netbsd_module): Likewise.
17383 (grub_cmd_openbsd_ramdisk): Likewise.
17384 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17385 kopenbsd_ramdisk.
17386 (GRUB_MOD_FINI): Unregister new commands.
17387 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17388 (grub_freebsd_load_elfmodule_obj): Use relocator.
17389 (grub_freebsd_load_elfmodule): Likewise.
17390 (grub_freebsd_load_elf_meta): Likewise.
17391 (grub_netbsd_load_elf_meta): New function.
17392 (grub_openbsd_find_ramdisk): Likewise.
17393 * grub-core/loader/i386/bsd_helper.S: Removed.
17394 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17395 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17396 * grub-core/loader/i386/efi/linux.c: Likewise.
17397 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17398 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17399 (DEFAULT_VIDEO_MODE): Likewise.
17400 (real_mode_target): New variable.
17401 (prot_mode_target): Likewise.
17402 (initrd_mem_target): Likewise.
17403 (relocator): Likewise.
17404 (efi_mmap_buf): Likewise.
17405 (efi_mmap_size): Likewise.
17406 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17407 (free_pages): Use relocator.
17408 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17409 (grub_linux_setup_video): Return error.
17410 (grub_linux_trampoline_start): Removed.
17411 (grub_linux_trampoline_end): Likewise.
17412 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17413 andd video parameters depending on firmware.
17414 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17415 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17416 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17417 (grub_cmd_initrd): Use relocator.
17418 * grub-core/loader/i386/linux_trampoline.S: Removed.
17419 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17420 (elf_sec_entsize): Likewise.
17421 (elf_sec_shstrndx): Likewise.
17422 (elf_sections): Likewise.
17423 (grub_multiboot_load): Use relocator.
17424 (grub_multiboot_get_mbi_size): Account for sections.
17425 (grub_multiboot_make_mbi): Use relocator and support sections.
17426 (grub_multiboot_add_elfsyms): New function.
17427 (grub_multiboot_free_mbi): Free sections.
17428 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17429 (grub_linux_real_target): Likewise.
17430 (grub_linux_real_chunk): Likewise.
17431 (grub_linux16_prot_size): Likewise.
17432 (grub_linux16_boot): Use relocator.
17433 (grub_linux_unload): Unload relocator.
17434 (grub_cmd_linux): Use relocator.
17435 (grub_cmd_initrd): Likewise.
17436 * grub-core/loader/i386/pc/ntldr.c: New file.
17437 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17438 Don't try to guess CPU frequency.
17439 (grub_xnu_set_video): Stretch bitmap.
17440 (grub_xnu_boot): Use relocator.
17441 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17442 (grub_linux_unload): Free relocator.
17443 (grub_linux_load32): Use relocator.
17444 (grub_linux_load64): Likewise.
17445 (grub_cmd_initrd): Likewise.
17446 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17447 (grub_multiboot_unload): Unload relocator.
17448 (grub_cmd_multiboot): Use relocator.
17449 (grub_cmd_module): Likewise.
17450 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17451 Use relocator and support sections.
17452 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17453 (elf_sec_entsize): Likewise.
17454 (elf_sec_shstrndx): Likewise.
17455 (elf_sections): Likewise.
17456 (grub_multiboot_load): Use relocator.
17457 (grub_multiboot_get_mbi_size): Account for sections.
17458 (grub_multiboot_make_mbi): Use relocator and support sections.
17459 (grub_multiboot_add_elfsyms): New function.
17460 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17461 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17462 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17463 Prototype changed. All users updated.
17464 (grub_xnu_align_heap): Simplified.
17465 (grub_xnu_writetree_toheap): Likewise.
17466 (grub_xnu_unload): Unload relocator.
17467 (grub_cmd_xnu_kernel): Use relocator.
17468 (grub_cmd_xnu_kernel64): Likewise.
17469 (grub_xnu_register_memory): Simplified.
17470 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
17471 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17472 EFI is finished.
17473 (grub_console_checkkey): Likewise.
17474 (grub_console_getkey): Likewise.
17475 (grub_console_getwh): Likewise.
17476 (grub_console_getxy): Likewise.
17477 (grub_console_gotoxy): Likewise.
17478 (grub_console_cls): Likewise.
17479 (grub_console_setcolorstate): Likewise.
17480 (grub_console_setcursor): Likewise.
17481 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17482 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17483 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17484 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17485 * grub-core/tests/boot/kernel-8086.S: Likewise.
17486 * grub-core/tests/boot/kernel-i386.S: Likewise.
17487 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17488 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17489 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17490 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17491 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17492 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17493 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17494 * grub-core/tests/boot/linux.cfg: Likewise.
17495 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17496 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17497 * grub-core/tests/boot/linux16.cfg: Likewise.
17498 * grub-core/tests/boot/multiboot.cfg: Likewise.
17499 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17500 * grub-core/tests/boot/ntldr.cfg: Likewise.
17501 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17502 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17503 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17504 New definition.
17505 * include/grub/dl.h (grub_dl_unload_all): Removed.
17506 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17507 (grub_efi_finish_boot_services): Change prototype.
17508 (grub_efi_is_finished): New variable.
17509 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17510 Changed prototype.
17511 (grub_efiemu_finish_boot_services): Removed.
17512 (grub_machine_efiemu_init_tables): New prototype.
17513 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17514 (grub_elf64_phdr_iterate): Likewise.
17515 * include/grub/i386/bsd.h: Include relocator.h.
17516 (freebsd_tag_header): New struct.
17517 (grub_openbsd_bios_mmap): Removed.
17518 (grub_unix_real_boot): Removed.
17519 (grub_freebsd_load_elfmodule32): Changed prototype.
17520 (grub_freebsd_load_elfmodule_obj64): Likewise.
17521 (grub_freebsd_load_elf_meta32): Likewise.
17522 (grub_freebsd_load_elf_meta64): Likewise.
17523 (grub_freebsd_add_meta): Removed.
17524 (grub_netbsd_load_elf_meta32): New prototype.
17525 (grub_netbsd_load_elf_meta64): Likewise.
17526 (grub_bsd_add_meta): Likewise.
17527 (grub_openbsd_ramdisk_descriptor): New struct.
17528 (grub_openbsd_find_ramdisk32): New prototype.
17529 (grub_openbsd_find_ramdisk64): Likewise.
17530 * include/grub/i386/coreboot/loader.h: Removed.
17531 * include/grub/i386/efi/loader.h: Likewise.
17532 * include/grub/i386/ieee1275/loader.h: Likewise.
17533 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17534 to grub_uint32_t.
17535 * include/grub/i386/loader.h: Removed.
17536 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17537 value.
17538 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17539 (grub_phys_addr_t): New type.
17540 (grub_vtop): New inline function.
17541 (grub_map_memory): Likewise.
17542 (grub_unmap_memory): Likewise.
17543 * include/grub/i386/multiboot/loader.h: Removed.
17544 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17545 (NETBSD_BTINFO_CONSOLE): New definition.
17546 (NETBSD_BTINFO_SYMTAB): Likewise.
17547 (NETBSD_BTINFO_MODULES): Likewise.
17548 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17549 (grub_netbsd_bootinfo): New struct.
17550 (grub_netbsd_btinfo_common): Use explicit bitsize.
17551 (grub_netbsd_btinfo_mmap_entry): Removed.
17552 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17553 (grub_netbsd_btinfo_bootdisk): New struct.
17554 (grub_netbsd_btinfo_symtab): Likewise.
17555 (grub_netbsd_btinfo_serial): Likewise.
17556 (grub_netbsd_btinfo_modules): Likewise.
17557 (grub_netbsd_btinfo_framebuf): Likewise.
17558 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17559 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17560 Likewise.
17561 (grub_openbsd_bootargs): Use explicit bitsize.
17562 (grub_openbsd_bootarg_console): New struct.
17563 (GRUB_OPENBSD_COM_MAJOR): New definition.
17564 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17565 * include/grub/i386/pc/efiemu.h: Removed.
17566 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17567 * include/grub/i386/qemu/loader.h: Removed.
17568 * include/grub/i386/relocator.h: Rewritten.
17569 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17570 * include/grub/mips/memory.h: New file.
17571 * include/grub/mips/multiboot.h: Rewritten.
17572 * include/grub/mips/relocator.h: Rewritten.
17573 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17574 (grub_vtop): New function.
17575 (grub_map_memory): Likewise.
17576 (grub_unmap_memory): Likewise.
17577 * include/grub/misc.h (ALIGN_DOWN): New definition.
17578 * include/grub/mm.h (grub_mm_check_real): New proto.
17579 (GRUB_MM_CHECK): New definition.
17580 * include/grub/mm_private.h: New file.
17581 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17582 (grub_multiboot_get_mbi_size): Removed.
17583 (grub_multiboot_make_mbi): Change prottype.
17584 (grub_multiboot_set_accepts_video): New proto.
17585 (grub_multiboot_add_elfsyms): Likewise.
17586 (grub_multiboot_payload_eip): New variable.
17587 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17588 New prototype.
17589 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17590 New definition.
17591 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17592 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17593 * include/grub/powerpc/ieee1275/loader.h: Removed.
17594 * include/grub/powerpc/memory.h: New file.
17595 * include/grub/powerpc/relocator.h: Likewise.
17596 * include/grub/relocator.h: Likewise.
17597 * include/grub/relocator_private.h: Likewise.
17598 * include/grub/sparc64/ieee1275/loader.h: Removed.
17599 * include/grub/x86_64/memory.h: New file.
17600 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17601 (grub_xnu_heap_malloc): Likewise.
17602 (grub_xnu_heap_real_start): Removed.
17603 (grub_xnu_heap_start): Likewise.
17604 (grub_xnu_relocator): New variable.
17605 (grub_xnu_heap_target_start): Likewise.
17606 * tests/util/grub-shell.in: Support non-pc.
17607 * util/grub-mkimage.c (image_targets): Fix multiboot target.
17608
17609 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17612 on malloc error.
17613 (grub_bidi_logical_to_visual): Check that malloc succeded.
17614 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17615 puts.
17616 (grub_xputs_normal): Likewise.
17617
17618 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17621 extra_dist.
17622
17623 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17626
17627 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17630
17631 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17634 dprintf.
17635
17636 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17637
17638 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17639
17640 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * grub-core/normal/term.c (print_more): Fix a memory leak.
17643 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17644 (grub_xputs_normal): Likewise.
17645
17646 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17649 the begining of the string
17650
17651 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 * grub-core/script/script.c (grub_script_parse): Free parsed on
17654 failure.
17655
17656 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17659 on failure.
17660
17661 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17664 return.
17665
17666 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17669 (scroll_up): Fix a memory leak.
17670
17671 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17674 errors.
17675
17676 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 Handle USB pendrives exposed as floppies.
17679
17680 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17681 floppy.
17682 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17683 Check for partitions on all devices.
17684
17685 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17688 (readkey): Likewise.
17689
17690 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17691
17692 Multiple variable names support to "export" command.
17693
17694 * normal/context.c (grub_cmd_export): "export" command supports
17695 multiple variable names.
17696
17697 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17698
17699 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17700 --target=drive output to Mach device name.
17701
17702 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17703
17704 New Automake based build system for GRUB.
17705
17706 * ABOUT-NLS: New file.
17707 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17708 in Makefile.util.def file.
17709 * Makefile.util.def: New file. Autogen build definitions file for
17710 GRUB host utils.
17711 * conf/Makefile.common: New file. Common variables for GRUB host
17712 utils and target modules.
17713 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17714 * docs/Makefile.am: New file. Automake file for docs.
17715 * gentpl.py: New file. Python script to generate Autogen
17716 template.
17717 * grub-core/Makefile.am: New file. GRUB target modules' rules
17718 that doesn't fit in Makefile.core.def file.
17719 * grub-core/Makefile.core.def: New file. Autogen build
17720 definitions file for GRUB target modules.
17721 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17722 specific setjmp.S file.
17723 * po/Makefile.am: New file.
17724
17725 * .bzrignore: New ignores.
17726 * INSTALL: New requirements, without Ruby.
17727 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17728 * autogen.sh: Updated to invoke autogen as necessary.
17729 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17730 and defines for Automake conditionals.
17731 * geninit.sh: Refactoring.
17732
17733 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17734 necessary.
17735 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17736 New prototype.
17737
17738 * include/grub/test.h: Fix functional test modules' naming.
17739 * grub-core/tests/example_functional_test.c: Fix test module name.
17740
17741 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17742 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17743 * util/grub-editenv.c: Likewise.
17744 * util/grub-fstest.c: Likewise.
17745 * util/grub-mkdevicemap.c: Likewise.
17746 * util/grub-mkfont.c: Likewise.
17747 * util/grub-mkimage.c: Likewise.
17748 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17749 * util/grub-probe.c: Likewise.
17750 * util/grub-script-check.c: Likewise.
17751 * util/i386/pc/grub-setup.c: Likewise.
17752 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17753
17754 * tests/util/grub-shell.in: Fix override directory path.
17755 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17756 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17757
17758 * util/lvm.c: Update #includes.
17759 * util/raid.c: Likewise.
17760 * util/resolve.c: Likewise.
17761 * grub-core/bus/emu/pci.c: Likewise.
17762 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17763 * grub-core/lib/posix_wrap/string.h: Likewise.
17764 * grub-core/kern/emu/main.c: Likewise.
17765
17766 * grub-core/gensymlist.sh: New file. Script for generating kernel
17767 symbols file.
17768 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17769
17770 * grub-core/gentrigtables.c: Fix unused variable warnings.
17771
17772 * Makefile.in: Removed.
17773 * conf/any-emu.rmk: Removed.
17774 * conf/common.rmk: Removed.
17775 * conf/i386-coreboot.rmk: Removed.
17776 * conf/i386-efi.rmk: Removed.
17777 * conf/i386-ieee1275.rmk: Removed.
17778 * conf/i386-multiboot.rmk: Removed.
17779 * conf/i386-pc.rmk: Removed.
17780 * conf/i386-qemu.rmk: Removed.
17781 * conf/i386.rmk: Removed.
17782 * conf/mips-yeeloong.rmk: Removed.
17783 * conf/mips.rmk: Removed.
17784 * conf/powerpc-ieee1275.rmk: Removed.
17785 * conf/sparc64-ieee1275.rmk: Removed.
17786 * conf/tests.rmk: Removed.
17787 * conf/x86-efi.rmk: Removed.
17788 * conf/x86_64-efi.rmk: Removed.
17789 * gendistlist.sh: Removed.
17790 * geninitheader.sh: Removed.
17791 * genkernsyms.sh.in: Removed.
17792 * genmk.rb: Removed.
17793 * gensymlist.sh.in: Removed.
17794 * mkinstalldirs: Removed.
17795 * boot: Moved ...
17796 * grub-core/boot: ... to here.
17797 * bus: Moved ...
17798 * grub-core/bus: ... to here.
17799 * commands: Moved ...
17800 * grub-core/commands: ... to here.
17801 * disk: Moved ...
17802 * grub-core/disk: ... to here.
17803 * efiemu: Moved ...
17804 * grub-core/efiemu: ... to here.
17805 * font: Moved ...
17806 * grub-core/font: ... to here.
17807 * fs: Moved ...
17808 * grub-core/fs: ... to here.
17809 * gencmdlist.sh: Moved ...
17810 * grub-core/gencmdlist.sh: ... to here.
17811 * genemuinit.sh: Moved ...
17812 * grub-core/genemuinit.sh: ... to here.
17813 * genemuinitheader.sh: Moved ...
17814 * grub-core/genemuinitheader.sh: ... to here.
17815 * genfslist.sh: Moved ...
17816 * grub-core/genfslist.sh: ... to here.
17817 * genhandlerlist.sh: Moved ...
17818 * grub-core/genhandlerlist.sh: ... to here.
17819 * genmoddep.awk: Moved ...
17820 * grub-core/genmoddep.awk: ... to here.
17821 * genmodsrc.sh: Moved ...
17822 * grub-core/genmodsrc.sh: ... to here.
17823 * genpartmaplist.sh: Moved ...
17824 * grub-core/genpartmaplist.sh: ... to here.
17825 * genparttoollist.sh: Moved ...
17826 * grub-core/genparttoollist.sh: ... to here.
17827 * genterminallist.sh: Moved ...
17828 * grub-core/genterminallist.sh: ... to here.
17829 * gentrigtables.c: Moved ...
17830 * grub-core/gentrigtables.c: ... to here.
17831 * genvideolist.sh: Moved ...
17832 * grub-core/genvideolist.sh: ... to here.
17833 * gettext: Moved ...
17834 * grub-core/gettext: ... to here.
17835 * gfxmenu: Moved ...
17836 * grub-core/gfxmenu: ... to here.
17837 * gnulib: Moved ...
17838 * grub-core/gnulib: ... to here.
17839 * hello: Moved ...
17840 * grub-core/hello: ... to here.
17841 * hook: Moved ...
17842 * grub-core/hook: ... to here.
17843 * io: Moved ...
17844 * grub-core/io: ... to here.
17845 * kern: Moved ...
17846 * grub-core/kern: ... to here.
17847 * lib: Moved ...
17848 * grub-core/lib: ... to here.
17849 * loader: Moved ...
17850 * grub-core/loader: ... to here.
17851 * mmap: Moved ...
17852 * grub-core/mmap: ... to here.
17853 * normal: Moved ...
17854 * grub-core/normal: ... to here.
17855 * partmap: Moved ...
17856 * grub-core/partmap: ... to here.
17857 * parttool: Moved ...
17858 * grub-core/parttool: ... to here.
17859 * script: Moved ...
17860 * grub-core/script: ... to here.
17861 * term: Moved ...
17862 * grub-core/term: ... to here
17863 * tests/example_functional_test.c: Moved ...
17864 * grub-core/tests/example_functional_test.c: ... to here.
17865 * tests/lib/functional_test.c: Moved ...
17866 * grub-core/tests/lib/functional_test.c: ... to here.
17867 * tests/lib/test.c: Moved ...
17868 * grub-core/tests/lib/test.c: ... to here.
17869 * video: Moved ...
17870 * grub-core/video: ... to here.
17871
17872 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17873
17874 Replace --enable-grub-emu-modules with grub-emu-lite.
17875
17876 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17877 cache.S.
17878
17879 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17880 * kern/emu/full.c: New file. For grub-emu specific initialization.
17881 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17882 * kern/emu/main.c: Call initialization function grub_emu_init.
17883
17884 * Makefile.in: Include grub-emu-lite in install.
17885 * commands/parttool.c: Use grub_no_autoload to differentiate
17886 between grub-emu and grub-emu-lite.
17887 * include/grub/misc.h: New variable grub_no_autoload.
17888
17889 * conf/any-emu.rmk: New rules for grub-emu-lite.
17890 * configure.ac: Remove --enable-grub-emu-modules.
17891 * genmk.rb: Cleanup unnecessary rules.
17892 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17893
17894 * normal/main.c: Don't load list files on grub-emu-lite.
17895 * util/misc.c (grub_arch_sync_caches): Removed.
17896
17897 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17898
17899 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17900 grub-mkimage rather than grub-mkelfimage.
17901 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17902
17903 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17906 a key after CapsLock or NumLock. It's just a qemu bug.
17907
17908 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17911 needed by libusb wrapper.
17912
17913 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17914
17915 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17916
17917 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17920 --nounzip is passed.
17921
17922 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 USB hotunplugging and USB serial support.
17925
17926 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17927 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17928 (grub_uhci_transfer): Respect timeout and set *actual.
17929 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17930 non-standard length.
17931 (grub_usb_device_attach): Autoload modules.
17932 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17933 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17934 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17935 users updated.
17936 (grub_usb_add_hub): Fill nports and children.
17937 (attach_root_port): Receive hub instead of controller.
17938 All users updated. Fill hub->devices.
17939 (grub_usb_root_hub): Allocate hub->devices.
17940 (detach_device): New function.
17941 (poll_nonroot_hub): Fill children and detach devices.
17942 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17943 actual arguments. All users updated.
17944 (grub_usb_bulk_read_extended): New function.
17945 * bus/usb/serial/common.c: New file.
17946 * bus/usb/serial/ftdi.c: Likewise.
17947 * bus/usb/serial/pl2303.c: Likewise.
17948 * commands/terminal.c (handle_command): Support wildcard.
17949 * commands/usbtest.c: Output "Unknown" instead of empty string.
17950 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17951 (usbserial_common_mod_SOURCES): New variable.
17952 (usbserial_common_mod_CFLAGS): Likewise.
17953 (usbserial_common_mod_LDFLAGS): Likewise.
17954 (pkglib_MODULES): Add usbserial_pl2303.mod.
17955 (usbserial_pl2303_mod_SOURCES): New variable.
17956 (usbserial_pl2303_mod_CFLAGS): Likewise.
17957 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17958 (pkglib_MODULES): Add usbserial_ftdi.mod.
17959 (usbserial_ftdi_mod_SOURCES): New variable.
17960 (usbserial_ftdi_mod_CFLAGS): Likewise.
17961 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17962 (pkglib_MODULES): Add serial.mod.
17963 (serial_mod_SOURCES): New variable.
17964 (serial_mod_CFLAGS): Likewise.
17965 (serial_mod_LDFLAGS): Likewise.
17966 * conf/i386-pc.rmk: Likewise.
17967 * conf/mips-yeeloong.rmk: Likewise.
17968 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17969 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17970 * disk/usbms.c (first_available_slot): New variable.
17971 (grub_usbms_attach): Don't reuse free slots due to potential cache
17972 problems.
17973 * include/grub/serial.h: Moved to ..
17974 * include/grub/ns8250.h: ...this.
17975 * include/grub/serial.h: New file.
17976 * include/grub/term.h (grub_term_poll_usb): New variable.
17977 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17978 readkey. All users updated.
17979 (grub_terminfo_output_state): Pass term to put.
17980 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17981 (grub_usb_controller_dev): Add timeout and actual arguments to
17982 transfer. All users updated.
17983 (grub_usb_interface): New field detach_data.
17984 (grub_usb_device): New fields children and nports.
17985 (grub_usb_ep_type_t): New type.
17986 (grub_usb_get_ep_type): New function.
17987 (grub_usb_bulk_read_extended): Likewise.
17988 * include/grub/usbdesc.h (grub_usb_desc): New type.
17989 * include/grub/usbserial.h: New file.
17990 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17991 * kern/term.c (grub_term_poll_usb): New variable.
17992 (grub_getkey): Call grub_term_poll_usb if set.
17993 (grub_checkkey): Likewise.
17994 (grub_getkeystatus): Likewise.
17995 * term/serial.c: Moved controller-specific parts to ...
17996 * term/ns8250.c: ... here.
17997 * term/serial.c: Mostly rewritten.
17998 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17999 according to spec.
18000
18001 2010-08-20 Robert Millan <rmh@gnu.org>
18002
18003 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18004 a separate module and maybe other interesting combinations.
18005
18006 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18007 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18008 (kfreebsd_entry): Add generic filesystem module load routine.
18009 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18010
18011 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18012
18013 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18014 "numcenter" (I misunderstood the purpose of this entry).
18015 * docs/grub.texi (sendkey): Likewise.
18016
18017 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18020 status flag options; simply omitting the option is equivalent and
18021 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18022 (keysym_table): Rename "num5numlock" to "numlock".
18023 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18024 can uniformly say that only the last of multiple `sendkey'
18025 invocations has any effect.
18026 * docs/grub.texi (sendkey): New section.
18027
18028 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
18029
18030 * commands/i386/pc/sendkey.c (options): Fix three typos.
18031
18032 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 Implement sendkey support.
18035
18036 * commands/i386/pc/sendkey.c: New file.
18037 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18038 (sendkey_mod_SOURCES): New variable.
18039 (sendkey_mod_CFLAGS): Likewise.
18040 (sendkey_mod_LDFLAGS): Likewise.
18041
18042 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18043
18044 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18045 fix warnings from Autoconf.
18046
18047 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18048
18049 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18050 to avoid false positives with some assemblers that output things
18051 like "someprefix_func" as part of their output.
18052
18053 2010-08-15 Robert Millan <rmh@gnu.org>
18054
18055 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18056 errors.
18057 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18058 grub_get_libzfs_handle() errors.
18059
18060 2010-08-14 Robert Millan <rmh@gnu.org>
18061
18062 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18063 filesystem is not ZFS.
18064
18065 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18066
18067 Fix for misspelled color names defaulting to black/black (bug
18068 reported by Doug Nazar)
18069
18070 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18071 status to prototype.
18072 * normal/color.c (grub_parse_color_name_pair): Return failure
18073 status.
18074 (grub_env_write_color_normal): Ignore bad color names.
18075 (grub_env_write_color_highlight): Likewise.
18076 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18077
18078 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18079
18080 "shift" command support to GRUB script.
18081
18082 * include/grub/script_sh.h (grub_script_shift): New prototype.
18083 * script/execute.c (grub_script_shift): New function.
18084 * script/main.c (grub_script_init): Register shift command.
18085 (grub_script_fini): Unregister shift command.
18086 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18087
18088 * tests/grub_script_shift.in: New testcase.
18089 * conf/tests.rmk: Rules for new testcase.
18090
18091 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18092
18093 "continue" command support to GRUB script.
18094
18095 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18096 (grub_script_break): Continue support.
18097 * script/main.c (grub_script_init): Register continue command.
18098 (grub_script_fini): Unregister continue command.
18099
18100 * tests/grub_script_continue.in: New testcase.
18101 * conf/tests.rmk: Rules for new testcase.
18102
18103 2010-08-12 BVK Chaitanya <bvk@dbook>
18104
18105 "break" command support to GRUB script.
18106
18107 * conf/common.rmk: Rule updates to grub-script-check.
18108 * include/grub/misc.h (grub_min): New function.
18109 * include/grub/script_sh.h (grub_script_init): New prototype.
18110 (grub_script_fini): New prototype.
18111 (grub_script_break): New prototype.
18112 * script/main.c (grub_script_init): New function.
18113 (grub_script_fini): New function.
18114 * script/execute.c (grub_script_break): New function.
18115 * normal/main.c: Calls to grub_script_{init,fini}.
18116 * util/grub-script-check.c (grub_script_break): New function.
18117
18118 * tests/grub_script_break.in: New testcase.
18119 * conf/tests.rmk: Rules for new test case.
18120
18121 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18122
18123 Function parameters support to GRUB script.
18124
18125 * script/yylex.l (VARIABLE): Regular expression update.
18126 * script/function.c (grub_script_function_call): Moved ...
18127 * script/execute.c (grub_script_function_call): ... to here.
18128 (grub_script_execute_arglist_to_argv): Removed.
18129 (grub_script_arglist_to_argv): New function.
18130 * script/argv.c: New file.
18131 (grub_script_argv_free): New function.
18132 (grub_script_argv_next): Likewise.
18133 (grub_script_argv_append): Likewise.
18134 (grub_script_argv_split_append): Likewise.
18135 * include/grub/script_sh.h (grub_script_argv): New struct.
18136 (grub_script_argv_free): New function.
18137 (grub_script_argv_next): Likewise.
18138 (grub_script_argv_append): Likewise.
18139 (grub_script_argv_split_append): Likewise.
18140
18141 * conf/common.rmk (normal.mod): New source script/argv.c.
18142
18143 * tests/grub_script_echo1.in: More tests.
18144 * tests/grub_script_vars1.in: Likewise.
18145 * tests/grub_script_functions.in: New test case.
18146 * conf/tests.rmk: Rules for new testcase.
18147
18148 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18149
18150 Remove grub_script_cmdblock struct.
18151
18152 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18153 * script/parser.y: Likewise.
18154 * script/execute.c: Rename cmdblock suffix to cmdlist.
18155 * script/script.c: Likewise.
18156 * util/grub-script-check.c: Likewise.
18157
18158 2010-08-11 Yves Blusseau <blusseau@zetam.org>
18159
18160 * .bzrignore: add grub-macho2img
18161
18162 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18165
18166 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18167
18168 Remove the dump of sm712 initialisation sequence.
18169
18170 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18171 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18172 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18173 (GRUB_VGA_CR_*): Added many registers.
18174 (GRUB_VGA_SR_*): Likewise.
18175 (GRUB_VGA_GR_*): Likewise.
18176 (grub_vga_write_arx): New function.
18177 (grub_video_hw_config): New struct.
18178 (grub_vga_set_geometry): New function.
18179 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18180 GRUB_PCI_CLASS_SUBCLASS_VGA.
18181 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18182 * video/sm712.c (grub_sm712_write_reg): New function
18183 (grub_sm712_read_reg): Likewise.
18184 (grub_sm712_sr_write): Likewise.
18185 (grub_sm712_gr_write): Likewise.
18186 (grub_sm712_cr_write): Likewise.
18187 (grub_sm712_write_arx): Likewise.
18188 (grub_sm712_cr_shadow_write): Likewise.
18189 (grub_sm712_write_dda_lookup): Likewise.
18190 (grub_video_sm712_setup): Initialise the video rather then
18191 blindly replay the dump.
18192 (main) [TEST]: Add a routine to be able to compile as standalone for
18193 tests.
18194 * video/sm712_init.c (sm712_init): Removed.
18195 (sm712_sr_seq1): New array.
18196 (sm712_sr_seq2): Likewise.
18197
18198 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * include/grub/vga.h: Add missing grub/pci.h include.
18201
18202 2010-08-10 Yves Blusseau <blusseau@zetam.org>
18203
18204 * util/grub-macho2img.c (main): fix typo
18205
18206 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18209 (grub_vga_gr_read): Likewise.
18210 (grub_vga_cr_write): Likewise.
18211 (grub_vga_cr_read): Likewise.
18212 (grub_vga_sr_write): Likewise.
18213 (grub_vga_sr_read): Likewise.
18214 (grub_vga_palette_read): Likewise.
18215 (grub_vga_palette_write): Likewise.
18216 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18217 (grub_sm712_sr_read): New function.
18218 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18219 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18220
18221 2010-08-09 Robert Millan <rmh@gnu.org>
18222
18223 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18224 out unused variables on non-ZFS build.
18225
18226 2010-08-08 Robert Millan <rmh@gnu.org>
18227
18228 Fix path generation for sub-filesystems in ZFS.
18229
18230 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18231 missing slash.
18232
18233 2010-08-08 Robert Millan <rmh@gnu.org>
18234
18235 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18236
18237 2010-08-08 Robert Millan <rmh@gnu.org>
18238
18239 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18240 exist, issue a proper error message (rely on `ls' for translated
18241 strings).
18242
18243 2010-08-08 Robert Millan <rmh@gnu.org>
18244
18245 Fix grub-probe invocation.
18246
18247 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18248
18249 2010-08-04 Robert Millan <rmh@gnu.org>
18250
18251 * configure.ac: Remove checks for getfsstat() and getmntany().
18252 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18253 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18254 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18255 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18256 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18257 function.
18258 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18259 via find_mount_point_from_dir() and getfsstat() / getmntany().
18260
18261 2010-08-04 Robert Millan <rmh@gnu.org>
18262
18263 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18264 (grub_find_zpool_from_mount_point): Merge into ...
18265 (grub_find_zpool_from_dir): ... this.
18266 * kern/emu/misc.c: Likewise.
18267
18268 * kern/emu/misc.c
18269 (grub_make_system_path_relative_to_its_root): Replace
18270 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18271 with grub_find_zpool_from_dir().
18272 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18273
18274 2010-08-04 Robert Millan <rmh@gnu.org>
18275
18276 Support OpenSolaris in ZFS device resolution.
18277
18278 * configure.ac: Check for getmntany().
18279 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18280 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18281 support.
18282
18283 2010-08-03 Robert Millan <rmh@gnu.org>
18284
18285 Fix grub-emu build.
18286
18287 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18288 * include/grub/emu/misc.h: ... here.
18289
18290 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18291 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18292
18293 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18294 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18295 (grub_get_libzfs_handle): Move to ...
18296 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18297 (grub_get_libzfs_handle): ... here.
18298
18299 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18300
18301 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18302 as command name case.
18303
18304 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * disk/raid.c (insert_array): Select unique numbers for named arrays
18307 as well, for use as keys in the disk cache.
18308
18309 2010-08-01 Robert Millan <rmh@gnu.org>
18310
18311 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18312 kFreeBSD device name, except on ZFS where the filesystem label is
18313 used.
18314 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18315 `/boot/zfs/zpool.cache'.
18316 Set mountfrom kernel variable using ${kfreebsd_device}.
18317
18318 2010-08-01 Robert Millan <rmh@gnu.org>
18319
18320 Make it even harder to use uninitialized `libzfs_handle' (and
18321 make the interface a bit simpler).
18322
18323 * include/grub/util/misc.h (grub_util_init_libzfs)
18324 (libzfs_handle): Remove.
18325 (grub_get_libzfs_handle): New prototype.
18326
18327 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18328 attribute.
18329 (grub_util_init_libzfs): Remove.
18330 (grub_get_libzfs_handle): New function.
18331
18332 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18333 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18334 accessing `libzfs_handle' directly.
18335
18336 2010-08-01 Robert Millan <rmh@gnu.org>
18337
18338 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18339 (grub_find_zpool_from_mount_point): New function prototypes.
18340
18341 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18342 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18343
18344 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18345 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18346 `static' attribute.
18347
18348 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18349 finding zpool from mount point into ...
18350 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18351
18352 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18353 requested path is part of a ZFS pool, use
18354 grub_find_zpool_from_mount_point() to detect its filesystem name,
18355 and generate a path with `/fsname@path' syntax.
18356
18357 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18358
18359 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18360 (void) rather than () so that this is a proper prototype.
18361
18362 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18365
18366 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18369 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18370
18371 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18372
18373 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18374
18375 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18376
18377 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18378
18379 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18380
18381 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18382 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18383 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18384 disable gfxpayload.
18385 (Shell-like scripting): Add real content.
18386 (Serial terminal): Suggest `terminal_input serial; terminal_output
18387 serial' rather than putting the two commands on separate lines,
18388 since console input will be inoperative after the first command.
18389 (menuentry): Document --class, --users, and --hotkey options.
18390 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18391 Vladimir Serbinenko).
18392
18393 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18394 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18395
18396 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18397
18398 2010-08-01 Robert Millan <rmh@gnu.org>
18399
18400 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18401 (grub_find_zpool_from_mount_point): New function prototypes.
18402
18403 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18404 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18405
18406 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18407 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18408 `static' attribute.
18409
18410 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18411 finding zpool from mount point into ...
18412 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18413
18414 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18415 requested path is part of a ZFS pool, use
18416 grub_find_zpool_from_mount_point() to detect its filesystem name,
18417 and generate a path with `/fsname@path' syntax.
18418
18419 2010-08-01 Robert Millan <rmh@gnu.org>
18420
18421 Prevent accidental use of uninitialized libzfs_handle.
18422
18423 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18424 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18425 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18426
18427 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18428
18429 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18430 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18431
18432 2010-08-01 Robert Millan <rmh@gnu.org>
18433
18434 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
18435
18436 2010-07-31 Robert Millan <rmh@gnu.org>
18437
18438 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18439
18440 2010-07-31 Robert Millan <rmh@gnu.org>
18441
18442 * kern/emu/misc.c: Add missing license header.
18443
18444 2010-07-31 Robert Millan <rmh@gnu.org>
18445
18446 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18447
18448 * include/grub/util/libnvpair.h: Include `<config.h>'.
18449 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18450 declaring libnvpair prototypes ourselves.
18451 * include/grub/util/libzfs.h: Include `<config.h>'.
18452 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18453 declaring libzfs prototypes ourselves.
18454
18455 (libzfs_handle): Moved to ...
18456 * include/grub/util/misc.h (libzfs_handle): ... here.
18457 Include `<grub/util/libzfs.h>'.
18458
18459 2010-07-30 Robert Millan <rmh@gnu.org>
18460
18461 * include/grub/emu/misc.h: Add missing license header.
18462
18463 2010-07-30 Robert Millan <rmh@gnu.org>
18464
18465 Enable `grub-probe -t device' resolution on ZFS.
18466
18467 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18468 * include/grub/util/libnvpair.h: New file.
18469 * include/grub/util/libzfs.h: New file.
18470
18471 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18472 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18473 `<grub/util/libnvpair.h>'.
18474 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18475
18476 (find_mount_point_from_dir): New static function.
18477 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18478 function.
18479 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18480 find_root_device_from_libzfs() before ressorting to find_root_device().
18481
18482 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18483 prototype.
18484 * util/misc.c: Include `<grub/util/libzfs.h>'.
18485 (grub_util_init_libzfs): New function.
18486 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18487 [HAVE_LIBZFS] (fini_libzfs): New static function.
18488 (grub_util_init_libzfs): New function.
18489 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18490
18491 2010-07-30 Robert Millan <rmh@gnu.org>
18492
18493 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18494 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18495 `warn_unused_result' attribute.
18496 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18497 (grub_xasprintf, grub_xvasprintf): Likewise.
18498 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18499
18500 2010-07-29 Robert Millan <rmh@gnu.org>
18501
18502 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18503 (probe): Handle `PRINT_FS_LABEL'.
18504 (main): Handle `-t fs_label'.
18505
18506 2010-07-29 Robert Millan <rmh@gnu.org>
18507
18508 * configure.ac: Remove grub-mkisofs checks.
18509
18510 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18511
18512 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18513 Reported by: Lennart Sorensen.
18514
18515 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18516
18517 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18518 prior to terminal_input/terminal_output separation. It's been over 1.5
18519 years and those versions weren't widely deployed.
18520
18521 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
18522
18523 * disk/raid.c (insert_array): Don't count named arrays when looking
18524 for unused array numbers.
18525 Reported and tested by: Michael Guntsche.
18526
18527 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18528
18529 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18530 implementation of this so that grub-emu links again, with a note
18531 that this should support hotplugging in the future.
18532
18533 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18534
18535 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18536
18537 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18538
18539 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18540 handle on failure.
18541 (grub_loopback_close): Remove empty function.
18542 (grub_loopback_dev): Remove close method.
18543
18544 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18545
18546 Disable EFI cursor when the EFI console becomes inactive.
18547
18548 * term/efi/console.c (grub_efi_console_init): New function.
18549 (grub_efi_console_fini): New function.
18550 (grub_console_term_output): Register init and fini methods.
18551
18552 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18555 sh script.
18556
18557 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 * disk/loopback.c (grub_loopback): Replace filename with file.
18560 (delete_loopback): Handle new semantics.
18561 (grub_cmd_loopback): Likewise.
18562 (grub_loopback_iterate): Likewise.
18563 (grub_loopback_close): Likewise.
18564
18565 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18568 with -p "".
18569 Reported by: Tito Keitel.
18570
18571 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * docs/grub.texi (Naming convention): Document new naming convention.
18574
18575 2010-07-20 Vadim Solomin <vadic052@gmail.com>
18576 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18577
18578 Generate device.map in something closer to the old ordering.
18579
18580 * util/deviceiter.c (struct device): New declaration.
18581 (compare_file_names): Rename to ...
18582 (compare_devices): ... this. Sort by kernel name in preference to
18583 the stable by-id name, but keep the latter as a fallback comparison.
18584 Update header comment.
18585 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18586 of `struct device' rather than of plain file names.
18587
18588 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18589
18590 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18591 on i386.
18592
18593 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18596 hardcoding size.
18597 (setv1table): Likewise.
18598
18599 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18600
18601 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18602 removing the homehost if present.
18603 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18604 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18605 removing the homehost if present.
18606 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18607 if possible.
18608 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18609
18610 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18611 parameter. Set its pointer target to 0.
18612 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18613 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18614 `data_offset' value from the superblock for 1.x metadata.
18615 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18616 data on the device.
18617 (insert_array): Record the start sector of data on the device.
18618 (grub_raid_register): Pass start_sector parameters to
18619 grub_raid_list->detect and insert_array.
18620 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18621 member.
18622 (struct grub_raid): Add start_sector parameter to `detect'.
18623
18624 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18625 __attribute__ ((packed)), leaving a comment.
18626 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18627 (grub_mdraid_detect_09): ... here and ...
18628 (grub_mdraid_detect_1x): ... here.
18629
18630 2010-07-20 Peter Henn <peter.henn@web.de>
18631
18632 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18633 chunk size and disk size, which are already given as sector counts
18634 as distinct from the 0.90 units. Fetch the correct device number
18635 from the role table instead of using the table index.
18636
18637 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
18638
18639 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18640 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18641 (WriteMostly1): New macro.
18642 Set array->name to NULL for metadata format 0.90. Add support for
18643 metadata 1.x. Fix some comments.
18644 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18645 few comments.
18646 * util/getroot.c (grub_util_get_grub_dev): Add support for
18647 /dev/md/name style devices.
18648
18649 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18650
18651 * .bzrignore: Ignore 20_linux_xen.
18652
18653 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
18654
18655 * util/import_unicode.py: Remove unnecessary imports.
18656
18657 2010-07-17 Aleš Nesrsta <starous@volny.cz>
18658
18659 Hotplugging and USB hub support.
18660
18661 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18662 (grub_ohci): Likewise.
18663 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18664 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18665 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18666 (GRUB_OHCI_CTRL_EDS): Likewise.
18667 (GRUB_OHCI_BULK_EDS): Likewise.
18668 (GRUB_OHCI_TDS): Likewise.
18669 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18670 (grub_ohci_ed_phys2virt): New function.
18671 (grub_ohci_virt_to_phys): Likewise.
18672 (grub_ohci_td_phys2virt): Likewise.
18673 (grub_ohci_td_virt2phys): Likewise.
18674 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18675 attachment.
18676 (grub_ohci_find_ed): New function.
18677 (grub_ohci_alloc_td): Likewise.
18678 (grub_ohci_free_td): Likewise.
18679 (grub_ohci_free_tds): Likewise.
18680 (grub_ohci_transfer): Use previously allocated memory.
18681 (grub_ohci_portstatus): Reset status changed bit.
18682 (grub_ohci_detect_dev): Supply status changed.
18683 (grub_ohci_fini_hw): Free memory.
18684 (grub_ohci_restore_hw): Reallocate memory.
18685 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18686 Reset status change.
18687 (grub_uhci_detect_dev): Supply status_change.
18688 * bus/usb/usb.c (attach_hooks): New var.
18689 (grub_usb_device_attach): New function.
18690 (grub_usb_register_attach_hook_class): Likewise.
18691 (grub_usb_unregister_attach_hook_class): Likewise.
18692 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18693 (grub_usb_add_hub): Reset connection changed bit.
18694 (attach_root_port): New function.
18695 (grub_usb_root_hub): Likewise.
18696 (poll_nonroot_hub): Likewise.
18697 (grub_usb_poll_devices): Likewise.
18698 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18699 * disk/usbms.c (grub_usbms_open): Use device hooks.
18700 (grub_usbms_iterate) :Poll devices.
18701 (grub_usbms_finddevs): Split into ...
18702 (grub_usbms_attach): ... this ...
18703 (grub_usbms_attach): ... and this.
18704 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18705 in detect_dev.
18706 (grub_usb_interface): New fields attached and detach_hook.
18707 (grub_usb_attach_hook_class): New type.
18708 (grub_usb_attach_desc): New struct.
18709 (grub_usb_register_attach_hook_class): New function.
18710 (grub_usb_unregister_attach_hook_class): Likewise.
18711 (grub_usb_poll_devices): Likewise.
18712 (grub_usb_device_attach): Likewise.
18713 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18714 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18715
18716 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18719 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18720 delta determination style. Works with most NetBSD partitions too.
18721
18722 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18723
18724 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18725 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18726
18727 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18728
18729 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18730
18731 2010-07-14 Anton Blanchard <anton@samba.org>
18732
18733 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18734 ET_DYN files.
18735
18736 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18737
18738 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18739
18740 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18741
18742 * kern/partition.c (grub_partition_check_containment): New function to
18743 check that a partition is physically contained in a parent. Since
18744 offsets are relative (and non-negative), this reduces to checking that
18745 the partition ends before its parent.
18746 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18747 (grub_partition_iterate): Likewise.
18748 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18749 comments.
18750 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18751 partitions that start before their parent, and add debug printfs.
18752
18753 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18754
18755 * Makefile.in (.SUFFIX): Spell correctly, as ...
18756 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18757 bare module name without `.mod', e.g. `test') tried to invoke a
18758 Modula-2 compiler.
18759
18760 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18761
18762 * README: Point to the Info manual.
18763
18764 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18765
18766 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18767 2nd superblock position from partition size.
18768
18769 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18770
18771 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18772 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18773 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18774 outputs.
18775
18776 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 Restructure SCSI .id handling.
18779 Reported and tested by: Aleš Nesrsta.
18780
18781 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18782 (grub_atapi_dev): Changed .name to "ata". New field .id.
18783 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18784 (grub_usbms_dev): New field .id.
18785 * disk/scsi.c (grub_scsi_iterate): Generate name.
18786 (grub_scsi_open): Parse name.
18787 * include/grub/scsi.h (grub_make_scsi_id): New function.
18788 (grub_scsi_dev): Change iterate and open to number instead of naming
18789 busses. All users updated.
18790 (grub_scsi): Remove name. Add .bus.
18791
18792 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 * commands/help.c (grub_cmd_help): Fix a typo.
18795
18796 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18799 Reported and tested by: Colin Watson.
18800
18801 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18804 in this context.
18805
18806 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18809
18810 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18811
18812 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18813 indentation.
18814
18815 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18816
18817 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18818 and disk/raid6_recover.c.
18819 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18820 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18821
18822 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18823
18824 * term/gfxterm.c (repaint_schedulded): Rename to ...
18825 (repaint_scheduled): ... this. Update all callers.
18826 (repaint_was_schedulded): Rename to ...
18827 (repaint_was_scheduled): ... this. Update all callers.
18828
18829 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18830
18831 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18832 which we expect to be handled by upper layers.
18833
18834 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18835
18836 * bus/usb/usbhub.c: #include time.h header.
18837
18838 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18839
18840 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18841 entry_name also for entries without stat blocks (e.g. ".."); fixes
18842 corruption of the first entry in a directory.
18843
18844 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18845
18846 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18847 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18848 doesn't work otherwise.
18849
18850 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18851
18852 * docs/grub.texi (Features): Update list of supported file systems.
18853 (GNU/Linux): Update for GRUB 2.
18854 (Serial terminal): Remove mention of --disable-serial, which was a
18855 GRUB Legacy configure option. Update instructions to use
18856 `terminal_input' and `terminal_output' rather than `terminal'.
18857 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18858 configuration' and `Installing GRUB using grub-install'.
18859 (Menu entry editor): Update for GRUB 2.
18860 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18861 Document new -a, -u, and -v options.
18862 (initrd): New section.
18863 (initrd16): New section.
18864 (linux): New section.
18865 (linux16): New section.
18866 (search): The `var' argument to `--set' is optional.
18867 (GRUB only offers a rescue shell): Go into a little more detail on
18868 drive ordering.
18869
18870 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18873
18874 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18875
18876 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18877 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18878
18879 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18880
18881 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18882 install_prefix, in line with install_dos_part and install_bsd_part.
18883 Add new prefix variable, which is copied to install_prefix after
18884 comparing core.img in memory with the one read from disk in the
18885 no-embedding case, and use that rather than overwriting
18886 install_prefix immediately when installing to a partition.
18887 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18888 Bicakci.
18889
18890 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18891
18892 * configure.ac: Avoid == in test command, it's not portable.
18893 * util/grub.d/30_os-prober.in: Likewise.
18894
18895 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18896
18897 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18898
18899 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18900
18901 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18902 multiple (top-level) partmaps.
18903
18904 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18907 Reported by: Tino Keitel.
18908
18909 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 Bidi and diacritics support.
18912
18913 * Makefile.in (widthspec.bin): New target.
18914 (widthspec.h): Likewise.
18915 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18916 * autogen.sh: Generate unidata.c.
18917 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18918 * commands/ls.c (grub_ls_list_devices): Likewise.
18919 (grub_ls_list_files): Likewise.
18920 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18921 (grub_mini_cmd_lsmod): Likewise.
18922 * commands/read.c: Likewise.
18923 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18924 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18925 * lib/arg.c (grub_arg_show_help): Likewise.
18926 * lib/crypto.c (grub_password_get): Likewise.
18927 * normal/auth.c (grub_username_get): Likewise.
18928 * normal/misc.c (grub_normal_print_device_info): Likewise.
18929 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18930 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18931 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18932 (normal/charset.c_DEPENDENCIES): New variable.
18933 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18934 (pkglib_MODULES): Remove charset.mod.
18935 (charset_mod_SOURCES): Removed.
18936 (charset_mod_CFLAGS): Likewise.
18937 (charset_mod_LDFLAGS): Likewise.
18938 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18939 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18940 and term/tparm.c.
18941 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18942 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18943 (kernel_img_HEADERS): Add terminfo.h.
18944 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18945 Fill ->font. Reverse ascii bitmaps.
18946 (grub_font_get_xheight): New function.
18947 * font/font.c (grub_font_get_string_width): Moved from here ...
18948 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18949 * font/font.c (grub_font_draw_string): Moved from here ...
18950 * gfxmenu/font.c (grub_font_draw_string): ... here.
18951 * font/font.c (grub_font_dup_glyph): New function.
18952 (grub_font_blit_glyph): Likewise.
18953 (grub_font_blit_glyph_mirror): Likewise.
18954 (blit_comb): Likewise.
18955 (grub_font_construct_dry_run): Likewise.
18956 (grub_font_get_constructed_device_width): Likewise.
18957 (grub_font_construct_glyph): Likewise.
18958 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18959 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18960 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18961 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18962 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18963 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18964 (grub_font_get_xheight): New proto.
18965 (grub_font_get_constructed_device_width): Likewise.
18966 (grub_font_construct_glyph): Likewise.
18967 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18968 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18969 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18970 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18971 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18972 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18973 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18974 (grub_console_getcharwidth): Likewise.
18975 * include/grub/misc.h (grub_xputs): New proto.
18976 (grub_puts): Inlined.
18977 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18978 (grub_normal_get_line_counter): Removed.
18979 (grub_install_newline_hook): Likewise.
18980 (grub_normal_get_char_counter): New proto.
18981 (grub_normal_reset_more): Likewise.
18982 (grub_xputs_normal): Likewise.
18983 * include/grub/powerpc/ieee1275/console.h: Removed.
18984 * include/grub/sparc64/ieee1275/console.h: Likewise.
18985 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18986 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18987 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18988 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18989 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18990 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18991 (grub_term_input): Pass reference to self. All users updated.
18992 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18993 Pass reference to self. New fields normal_color, highlight_color and
18994 data. All users updated.
18995 (grub_putchar): Removed.
18996 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18997 (grub_unicode_estimate_width): New function.
18998 (grub_term_getcharwidth): Add defaults.
18999 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19000 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19001 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19002 (grub_cls): Remove EXPORT_FUNC.
19003 (grub_setcolorstate): Inline.
19004 (grub_newline_hook): Removed.
19005 * include/grub/terminfo.h: Rewritten. All users updated.
19006 * include/grub/unicode.h: New file.
19007 * include/grub/video.h (grub_video_signed_rect): New type.
19008 * kern/emu/console.c (grub_console_highlight_color): Removed.
19009 (grub_console_normal_color): Likewise.
19010 (grub_console_standard_color): Made static.
19011 (grub_ncurses_putchar): Remove mapping.
19012 (grub_ncurses_getcharwidth): Removed.
19013 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19014 (grub_ncurses_setcolor): Removed.
19015 (grub_ncurses_getcolor): Likewise.
19016 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19017 (grub_console_putchar): ... this.
19018 (grub_console_putchar): Handle argument difference.
19019 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19020 console_init_early and console_init_lately.
19021 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19022 * kern/misc.c (grub_puts): Removed.
19023 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19024 (grub_vsnprintf_real): Remove str = NULL support.
19025 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19026 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19027 * kern/term.c (grub_putcode): Renamed to ...
19028 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19029 (grub_putchar): Removed.
19030 (grub_xputs_dumb): New function.
19031 (grub_xputs): New variable.
19032 * lib/charset.c: Move from here ...
19033 * normal/charset.c: ... to here.
19034 (grub_ucs4_to_utf8): New function.
19035 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19036 (join_types): New variable.
19037 (unpack_join): New function.
19038 (bidi_types): New variable.
19039 (unpack_bidi): New function.
19040 (get_bidi_type): Likewise.
19041 (get_join_type): Likewise.
19042 (is_mirrored): Likewise.
19043 (grub_unicode_get_comb_type): Likewise.
19044 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19045 (is_type_after): Likewise.
19046 (grub_unicode_aglomerate_comb): Likewise.
19047 (bidi_line_wrap): Likewise.
19048 (grub_bidi_line_logical_to_visual): Likewise.
19049 (grub_bidi_logical_to_visual): Likewise.
19050 (grub_unicode_mirror_code): Likewise.
19051 (grub_unicode_shape_code): Likewise.
19052 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19053 Don't use grub_putchar.
19054 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19055 (grub_normal_reader_init): Likewise.
19056 (grub_xputs_saved): New variable.
19057 (GRUB_MOD_INIT): Set grub_xputs.
19058 (GRUB_MOD_FINI): Restore grub_xputs.
19059 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19060 (menu_init): Avoid printing gfxmenu error.
19061 (show_menu): Use grub_normal_get_char_counter.
19062 * normal/menu_entry.c (update_screen): Fix out-of-array.
19063 (complete): Avoid NULL dereferencing.
19064 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19065 * normal/menu_text.c (print_spaces): Removed.
19066 (grub_print_ucs4): Likewise.
19067 (grub_print_message_indented): Use grub_print_ucs4.
19068 (print_message): Use grub_putcode.
19069 (print_entry): Hanlde diacritics.
19070 * normal/term.c (term_state): New type.
19071 (grub_more_lines): Removed.
19072 (term_states): New variable.
19073 (grub_normal_line_counter): Renamed to ..
19074 (grub_normal_char_counter): ...this. All users updated.
19075 (grub_normal_get_line_counter): Renamed to ...
19076 (grub_normal_get_char_counter): ... this.
19077 (grub_normal_reset_more): New function.
19078 (process_newline): Removed.
19079 (print_more): New function.
19080 (grub_install_newline_hook): Removed.
19081 (map_code): New function.
19082 (grub_puts_terminal): Use grub_print_ucs4.
19083 (putglyph): New function.
19084 (putcode_real): Likewise.
19085 (grub_putcode): Use putcode_real.
19086 (get_maxwidth): New function.
19087 (get_startwidth): Likewise.
19088 (print_ucs4_terminal): Likewise.
19089 (find_term_state): Likewise.
19090 (put_glyphs_terminal): Likewise.
19091 (print_backlog): Likewise.
19092 (print_ucs4_real): Likewise.
19093 (grub_print_ucs4): Likewise.
19094 (grub_xputs_normal): Likewise.
19095 * term/efi/console.c (grub_console_putchar): Output diacritics.
19096 (grub_console_getcharwidth): Removed.
19097 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19098 * term/gfxterm.c (clear_char): Free chars.
19099 (scroll_up): Avoid leaking memory.
19100 (grub_gfxterm_putchar): Support diacritics.
19101 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19102 * term/i386/pc/console.c (grub_console_term_output): Declare as
19103 GRUB_TERM_CODE_TYPE_VGA.
19104 * term/i386/pc/vga.c (grub_vga_term): Declare as
19105 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19106 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19107 GRUB_TERM_CODE_TYPE_VGA.
19108 * term/i386/vga_common.c (map_char): Removed.
19109 (grub_console_putchar): Likewise.
19110 (grub_console_getcharwidth): Likewise.
19111 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19112 (colors): Reordered to match terminfo.
19113 (grub_ofconsole_normal_color): Removed.
19114 (grub_ofconsole_writeesc): Likewise.
19115 (grub_ofconsole_highlight_color): Likewise.
19116 (grub_ofconsole_getcharwidth): Likewise.
19117 (grub_ofconsole_setcolorstate): Likewise.
19118 (grub_ofconsole_setcolor): Likewise.
19119 (grub_ofconsole_getcolor): Likewise.
19120 (grub_ofconsole_readkey): Renamed to ...
19121 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19122 key.
19123 (grub_ofconsole_checkkey): Removed.
19124 (grub_ofconsole_getkey): Likewise.
19125 (grub_ofconsole_getxy): Likewise.
19126 (grub_ofconsole_gotoxy): Likewise.
19127 (grub_ofconsole_cls): Likewise.
19128 (grub_ofconsole_refresh): Likewise.
19129 (grub_ofconsole_terminfo_input): New struct.
19130 (grub_ofconsole_terminfo_output): Likewise.
19131 (grub_ofconsole_term_input): Use terminfo.
19132 (grub_ofconsole_term_output): Likewise.
19133 (grub_console_init): Split into ...
19134 (grub_console_init_early): ...this and ...
19135 (grub_console_init_lately): ...this. Use terminfo.
19136 (grub_ofconsole_putchar): Renamed to ...
19137 (put): ... this. Remove mapping.
19138 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19139 * term/serial.c: Simplify using terminfo.
19140 (xpos): Removed.
19141 (ypos): Likewise.
19142 (keep_track): Likewise.
19143 (registered): Likewise.
19144 (input_buf): Likewise.
19145 (npending): Likewise.
19146 (serial_translate_key_sequence): Likewise.
19147 (fill_input_buf): Likewise.
19148 (grub_serial_checkkey): Likewise.
19149 (grub_serial_getkey): Likewise.
19150 (grub_serial_getxy): Likewise.
19151 (grub_serial_gotoxy): Likewise.
19152 (grub_serial_putchar): Likewise.
19153 (grub_serial_cls): Likewise.
19154 (grub_serial_setcolorstate): Likewise.
19155 (grub_serial_setcursor): Likewise.
19156 (serial_hw_init): Use serial_hw_fetch.
19157 (grub_serial_terminfo_input): New variable.
19158 (grub_serial_terminfo_output): Likewise.
19159 (grub_serial_term_input): Use terminfo.
19160 (grub_serial_term_output): Likewise.
19161 * term/terminfo.c (putstr): Use put.
19162 (grub_terminfo_all_free): New function
19163 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19164 (grub_terminfo_output_register): New function.
19165 (grub_terminfo_output_unregister): Likewise.
19166 (grub_terminfo_getxy): Likewise.
19167 (grub_terminfo_readkey): Likewise.
19168 (grub_terminfo_checkkey): Likewise.
19169 (grub_terminfo_getkey): Likewise.
19170 (grub_terminfo_input_init): Likewise.
19171 (print_terminfo): Likewise.
19172 (grub_cmd_terminfo): Handle encoding.
19173 (grub_terminfo_gotoxy): Track position.
19174 (grub_terminfo_cls): Likewise.
19175 (grub_terminfo_putchar): Likewise.
19176 (grub_terminfo_setcolorstate): Handle colors
19177 (grub_terminfo_cursor_on): This ...
19178 (grub_terminfo_cursor_off): ... and this merged into ...
19179 (grub_terminfo_setcursor): ... this.
19180 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19181 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19182 * unicode/BidiMirroring.txt: Likewise.
19183 * unicode/UnicodeData.txt: Likewise.
19184 * unicode/COPYING: Likewise.
19185 * util/grub-editenv.c (grub_putchar): Removed.
19186 (grub_xputs_real): New function.
19187 (grub_xputs): New variable.
19188 * util/grub-fstest.c (grub_putchar): Removed.
19189 (grub_xputs_real): New function.
19190 (grub_xputs): New variable.
19191 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19192 (grub_xputs_real): New function.
19193 (grub_xputs): New variable.
19194 * util/grub-probe.c (grub_putchar): Removed.
19195 (grub_xputs_real): New function.
19196 (grub_xputs): New variable.
19197 * util/grub-script-check.c (grub_putchar): Removed.
19198 (grub_xputs_real): New function.
19199 (grub_xputs): New variable.
19200 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19201 (grub_xputs_real): New function.
19202 (grub_xputs): New variable.
19203 * util/import_unicode.py: New file.
19204 * util/grub-mkfont.c (ft_errmsgs): New array.
19205 (grub_glyph_info): Make bitmap a pointer.
19206 (file_formats): New type WIDTH_SPEC.
19207 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19208 (options): Add width-spec.
19209 (help): Likewise.
19210 (add_char): Renamed to ...
19211 (add_glyph): ... this.
19212 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19213 (glyph_replace): New type.
19214 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19215 (add_char): New function.
19216 (add_subst): Likewise.
19217 (process_cursive): Likewise.
19218 (add_font): Handle GSUB.
19219 (write_font_width_spec): New function.
19220 (main): Sort glyphs.
19221 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19222 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19223 * kern/term.c (grub_cls): Moved from here...
19224 * normal/term.c (grub_cls): ... here.
19225
19226 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19227
19228 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19229 suitable for using within the format argument of printf when
19230 converting grub_size_t.
19231 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19232 "x" to convert grub_size_t arguments.
19233
19234 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19237 too long captions.
19238 (list_get_minimal_size): Take selection box into account.
19239
19240 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19243 NULL font.
19244
19245 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19246
19247 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19248 devices when iterating over /dev/disk/by-id; they will be handled
19249 later if appropriate, which they aren't always (e.g. LVM).
19250
19251 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19252
19253 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19254 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19255 fails.
19256 (grub_halt): Likewise.
19257 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19258 reset-all fails.
19259 (grub_halt): Don't return, even if all of shut-down, power-off, and
19260 poweroff fail.
19261
19262 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19263
19264 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19265 arguments, not three.
19266
19267 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19268
19269 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19270 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19271 LVM-on-RAID is handled correctly.
19272
19273 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19274
19275 * docs/grub.texi (Changes from GRUB Legacy): New section.
19276 (Future): Fix typo.
19277
19278 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19279
19280 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19281 grub.d/README accidentally ends up executable for one reason or
19282 another. Ignore it.
19283
19284 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19285
19286 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19287 (gpt_partition_map_iterate): Support non-512B sectors.
19288
19289 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19292 Tested by: Seth Goldberg.
19293
19294 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19297 Properly align mbi.
19298 Reported by: Seth Goldberg.
19299
19300 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * util/grub-mkrescue.in: Avoid module duplication.
19303
19304 2010-07-01 Sean Finney <seanius@seanius.net>
19305
19306 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19307
19308 2010-07-01 Sean Finney <seanius@seanius.net>
19309
19310 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19311
19312 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 * disk/lvm.c (grub_lvm_checkvalue): New function.
19315 (grub_lvm_check_flag): Likewise.
19316
19317 2010-07-01 Robert Millan <rmh@gnu.org>
19318
19319 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19320 Support 'p' as partition separator on kernel of FreeBSD (used
19321 with GPT labels).
19322 (grub_util_biosdisk_get_grub_dev): Likewise.
19323
19324 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 Yeeloong firmware port.
19327
19328 * boot/mips/yeeloong/fwstart.S: New file.
19329 * bus/cs5536.c (gpiodump): New const.
19330 (set_io_space): New function.
19331 (set_iod): Likewise.
19332 (set_p2d): Likewise.
19333 (grub_cs5536_init_geode): Likewise.
19334 * commands/mips/yeeloong/lsspd.c: New file.
19335 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19336 (serial_mod_SOURCES): New variable.
19337 (serial_mod_CFLAGS): Likewise.
19338 (serial_mod_LDFLAGS): Likewise.
19339 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19340 term/terminfo.c and term/tparm.c.
19341 (pkglib_IMAGES): Add fwstart.img.
19342 (fwstart_img_SOURCES): New variable.
19343 (fwstart_img_CFLAGS): Likewise.
19344 (fwstart_img_ASFLAGS): Likewise.
19345 (fwstart_img_LDFLAGS): Likewise.
19346 (fwstart_img_FORMAT): Likewise.
19347 (pkglib_MODULES): Add lsspd.mod.
19348 (lsspd_mod_SOURCES): New variable.
19349 (lsspd_mod_CFLAGS): Likewise.
19350 (lsspd_mod_LDFLAGS): Likewise.
19351 (pkglib_MODULES): Add halt.mod.
19352 (halt_mod_SOURCES): New variable.
19353 (halt_mod_CFLAGS): Likewise.
19354 (halt_mod_LDFLAGS): Likewise.
19355 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19356 (serial_mod_SOURCES): Removed.
19357 (serial_mod_CFLAGS): Likewise.
19358 (serial_mod_LDFLAGS): Likewise.
19359 * disk/ata.c (check_device): New function.
19360 (grub_ata_device_initialize): Use check_device.
19361 (grub_ata_iterate): Recheck devices.
19362 (grub_ata_open): Likewise.
19363 (grub_atapi_iterate): Likewise.
19364 (grub_atapi_open): Likewise.
19365 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19366 (GRUB_ATA_CH1_PORT1): Likewise.
19367 (GRUB_ATA_CH0_PORT2): Likewise.
19368 (GRUB_ATA_CH1_PORT2): Likewise.
19369 * include/grub/mips/loongson.h: New file.
19370 * include/grub/mips/yeeloong/ec.h: Likewise.
19371 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19372 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19373 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19374 * include/grub/misc.h (grub_halt): Declare as noreturn.
19375 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19376 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19377 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19378 (UART_ENABLE_DTRRTS): Likewise.
19379 (UART_ENABLE_MODEM): Removed.
19380 (UART_ENABLE_OUT2): New const.
19381 * include/grub/term.h (grub_term_register_input_active): New function.
19382 (grub_term_register_output_active): Likewise.
19383 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19384 argument.
19385 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19386 (init_pci): New function.
19387 (grub_machine_init): Execute platform init when firmware. Init serial.
19388 (grub_halt): Implement.
19389 (grub_exit): Likewise.
19390 (grub_reboot): Likewise.
19391 * term/serial.c (serial_hw_init): Update macros.
19392 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19393 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19394 (image_targets): New target mipsel-yeeloong-flash.
19395 (generate_image): Support IMAGE_YEELOONG_FLASH.
19396 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19397 (grub_video_sm712_setup): Init card.
19398 (grub_video_sm712_set_palette): Removed.
19399 * video/sm712_init.c: New file.
19400
19401 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
19402
19403 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19404 PATH when running help2man and then run it on the unadorned
19405 executable names, rather than passing $(builddir)/* paths to
19406 help2man. This avoids the build directory ending up in generated
19407 manual pages.
19408
19409 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19412 to avoid accidents when debugging with 'sh -x'.
19413 * util/grub-mkrescue.in: Likewise.
19414 * util/grub.d/00_header.in: Likewise.
19415 * util/grub.d/10_hurd.in: Likewise.
19416 * util/grub.d/10_kfreebsd.in: Likewise.
19417 * util/grub.d/10_linux.in: Likewise.
19418 * util/grub.d/10_netbsd.in: Likewise.
19419 * util/grub.d/10_windows.in: Likewise.
19420 * util/grub.d/20_linux_xen.in: Likewise.
19421 * util/grub.d/30_os-prober.in: Likewise.
19422 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19423
19424 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19425
19426 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19427 last character in the buffer.
19428 Reported by: Vladimir Serbinenko.
19429
19430 2010-06-29 Robert Millan <rmh@gnu.org>
19431
19432 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19433 (Command-line and menu entry commands): Document `badram' command.
19434
19435 2010-06-28 Robert Millan <rmh@gnu.org>
19436
19437 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19438 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19439 command using ${GRUB_BADRAM} as parameter.
19440
19441 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19442
19443 * docs/grub.texi (Device map): New section.
19444 (Themes): New section (stub).
19445 * Makefile.in (docs/grub.info): The info documentation now builds
19446 without errors. Make sure it stays that way.
19447
19448 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19449
19450 Use normal parser for menu entries.
19451 Reported by: Thomas Frauendorfer
19452
19453 * include/grub/parser.h (grub_parser_execute): Don't export.
19454 * normal/menu.c (grub_menu_execute_entry_real): New function.
19455 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19456
19457 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19458
19459 * docs/grub.texi (Embedded configuration): New section (replacing
19460 old "Preset Menu" stub).
19461 (Images): New section.
19462 (configfile): Note that any menu entries defined in `file' are shown
19463 immediately.
19464
19465 2010-06-28 Josh Triplett <josh@joshtriplett.org>
19466
19467 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19468
19469 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19470
19471 * util/grub-install.in: Add --debug-image= option.
19472
19473 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19474
19475 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19476 possible on Linux.
19477
19478 * util/deviceiter.c (check_device): Rename to ...
19479 (check_device_readable_unique): ... this. Update all callers.
19480 Maintain and check a list of which devices (by canonicalized name)
19481 have already been seen.
19482 (clear_seen_devices): New function.
19483 (compare_file_names) [__linux__]: New function.
19484 (grub_util_iterate_devices): Clear the list of seen devices on exit
19485 and (just in case) on entry.
19486 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19487 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19488 seen-devices list, superseded by general code in check_device.
19489
19490 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19491
19492 * commands/cat.c (options): New variable.
19493 (grub_cmd_cat): Parse options. If the --dos option is given, print
19494 DOS-style "\r\n" line endings as simple newlines (Debian bug
19495 #586358).
19496 (GRUB_MOD_INIT): Use extcmd.
19497 (GRUB_MOD_FINI): Likewise.
19498 * docs/grub.texi (cat): Document --dos.
19499
19500 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 XEN with Linux grub-mkconfig support.
19503
19504 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19505 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19506 GRUB_CMDLINE_XEN_DEFAULT.
19507 * util/grub.d/20_linux_xen.in: New file.
19508
19509 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 Initialise VGA video on qemu ourselves.
19512
19513 * boot/i386/qemu/boot.S: Don't call 0xc000.
19514 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19515 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19516 (kernel_img_HEADERS): Add pci.h.
19517 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19518 * configure.ac: Force unifont on qemu and yeeloong.
19519 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19520 (grub_vga_palette_write): Use correct register.
19521 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19522 Call grub_qemu_init_cirrus.
19523 * kern/i386/qemu/init.c: New file.
19524 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19525
19526 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19527
19528 2010-06-26 Pavel Roskin <proski@gnu.org>
19529
19530 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19531 13.
19532
19533 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19534
19535 * docs/grub.texi (Simple configuration): Explain that
19536 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19537 set to `true' to disable their respective recovery entries, not
19538 merely set.
19539
19540 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19541
19542 Make the `source' command slightly faster.
19543
19544 * normal/main.c (grub_normal_execute): Don't re-read list files when
19545 nested.
19546
19547 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19548
19549 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19550 field position and mask size to red fields from mode_info, not
19551 green.
19552 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19553 Remove redundant tag->common.framebuffer_type assignment.
19554 Reported by: Seth Goldberg.
19555
19556 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19557
19558 Sync up other versions of the Linux loader with Robert Millan's
19559 change of 2010-01-09, "Make loader output a bit more user-friendly".
19560
19561 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19562 grub_dprintf().
19563 (grub_cmd_linux): Likewise.
19564 (grub_cmd_initrd): Likewise.
19565 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19566 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19567
19568 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
19569
19570 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19571 larger than MEMORY_MAP_SIZE.
19572
19573 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19574
19575 Fix parallel build.
19576
19577 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19578 dependency.
19579 * script/parser.y: #include grub_script.tab.h header.
19580
19581 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19582
19583 Support >3GiB and <16MiB RAM in i386-qemu.
19584
19585 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19586 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19587 (grub_lower_mem): Removed.
19588 (grub_upper_mem): Likewise.
19589 (mem_size): Made static.
19590 (above_4g): New variable.
19591 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19592 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19593 support.
19594
19595 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 Cirrus 5446 and Bochs video cards support.
19598
19599 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19600 video_bochs.mod
19601 (video_cirrus_mod_SOURCES): New variable.
19602 (video_cirrus_mod_CFLAGS): Likewise.
19603 (video_cirrus_mod_LDFLAGS): Likewise.
19604 (video_bochs_mod_SOURCES): Likewise.
19605 (video_bochs_mod_CFLAGS): Likewise.
19606 (video_bochs_mod_LDFLAGS): Likewise.
19607 * include/grub/vga.h: New file.
19608 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19609 (grub_video_fb_set_page_t): New type.
19610 (grub_video_fb_setup): New prototype.
19611 (grub_video_fb_swap_buffers): Likewise.
19612 (grub_video_fb_get_info_and_fini): Likewise.
19613 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19614 (CRTC_DATA_PORT): Likewise.
19615 (CRTC_CURSOR): Likewise.
19616 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19617 (CRTC_CURSOR_ADDR_LOW): Likewise.
19618 (CRTC_CURSOR_DISABLE): Likewise.
19619 (update_cursor): Use grub_vga_cr_write.
19620 (grub_vga_text_setcursor): Likewise.
19621 * video/bochs.c: New file.
19622 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19623 (palette): Likewise.
19624 (palette_size): Likewise.
19625 (framebuffer): New variable.
19626 (grub_video_fb_init): Use 'framebuffer'.
19627 (grub_video_fb_fini): Likewise.
19628 (grub_video_fb_get_info): Likewise.
19629 (grub_video_fb_get_palette): Likewise.
19630 (grub_video_fb_set_palette): Likewise.
19631 (grub_video_fb_set_viewport): Likewise.
19632 (grub_video_fb_get_viewport): Likewise.
19633 (grub_video_fb_map_color): Likewise.
19634 (grub_video_fb_map_rgb): Likewise.
19635 (grub_video_fb_map_rgba): Likewise.
19636 (grub_video_fb_unmap_color): Likewise.
19637 (grub_video_fb_unmap_color_int): Likewise.
19638 (grub_video_fb_fill_rect): Likewise.
19639 (grub_video_fb_blit_bitmap): Likewise.
19640 (grub_video_fb_blit_render_target): Likewise.
19641 (grub_video_fb_scroll): Likewise.
19642 (grub_video_fb_create_render_target): Likewise.
19643 (grub_video_fb_doublebuf_blit_init): Likewise.
19644 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19645 (doublebuf_pageflipping_update_screen): New function.
19646 (doublebuf_pageflipping_init): Likewise.
19647 (grub_video_fb_setup): Likewise.
19648 (grub_video_fb_swap_buffers): Likewise.
19649 (grub_video_fb_get_info_and_fini): Likewise.
19650 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19651 All users updated.
19652 (doublebuf_pageflipping_commit): Restructured into ...
19653 (doublebuf_pageflipping_set_page): ... this.
19654 (doublebuf_pageflipping_update_screen): Removed.
19655 (doublebuf_pageflipping_init): Likewise.
19656 (double_buffering_init): Likewise.
19657 (grub_video_vbe_setup): Use grub_video_fb_setup.
19658 (grub_video_vbe_swap_buffers): Removed.
19659 (grub_video_vbe_set_active_render_target): Likewise.
19660 (grub_video_vbe_get_active_render_target): Likewise.
19661 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19662 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19663 grub_video_fb_set_active_render_target and
19664 grub_video_fb_get_active_render_target.
19665 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19666 (SEQUENCER_DATA_PORT): Likewise.
19667 (MAP_MASK_REGISTER): Likewise.
19668 (CRTC_ADDR_PORT): Likewise.
19669 (CRTC_DATA_PORT): Likewise.
19670 (START_ADDR_HIGH_REGISTER): Likewise.
19671 (START_ADDR_LOW_REGISTER): Likewise.
19672 (GRAPHICS_ADDR_PORT): Likewise.
19673 (GRAPHICS_DATA_PORT): Likewise.
19674 (READ_MAP_REGISTER): Likewise.
19675 (INPUT_STATUS1_REGISTER): Likewise.
19676 (INPUT_STATUS1_VERTR_BIT): Likewise.
19677 (get_map_mask): Use grub_vga_sr_read.
19678 (set_map_mask): Use grub_vga_sr_write.
19679 (set_read_map): Use grub_vga_gr_write.
19680 (set_start_address): Use grub_vga_cr_write.
19681 * video/sm712.c (framebuffer): Remove leftover fields.
19682
19683 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
19684
19685 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19686 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19687 instead. Replace the gfxterm backend check with a check that
19688 ${GRUB_PREFIX}/video.lst is non-empty.
19689 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19690 again.
19691 (load_video): New generated function. Call it before loading
19692 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19693 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19694 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19695 * docs/grub.texi (Simple configuration): Document
19696 GRUB_VIDEO_BACKEND.
19697
19698 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 Use video functions in linux and xnu loaders.
19701
19702 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19703 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19704 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19705 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19706 loader/i386/pc/linux.c.
19707 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19708 (find_line_len): Removed.
19709 (find_framebuf): Likewise.
19710 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19711 * loader/i386/efi/xnu.c: Removed.
19712 * loader/i386/pc/xnu.c: Moved from here...
19713 * loader/i386/xnu.c: ...here.
19714
19715 Enable priorities in video drivers.
19716
19717 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19718 (grub_video_adapter): New field prio.
19719 (grub_video_register): Respect prio when inserting.
19720 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19721 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19722 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19723 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19724 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19725 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19726 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19727
19728 Fix SDL driver ID.
19729
19730 * include/grub/video.h (grub_video_driver_id_t): New value
19731 GRUB_VIDEO_DRIVER_SDL.
19732 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19733
19734 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19735
19736 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19737 argument to printf.
19738 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19739
19740 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19741
19742 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19743 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19744
19745 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19746
19747 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19748 directly, and recommend grub-install instead.
19749 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19750
19751 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19752
19753 Fix i386-pc prefix handling with nested partitions (Debian bug
19754 #585068). Note that the case where the core image is booted using
19755 multiboot and relocated from its original location still requires
19756 more work.
19757
19758 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19759 with "(,", fill the boot drive in between those two characters, but
19760 expect that a full partition specification including partition map
19761 names will follow.
19762 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19763 specified, write a prefix without the drive name but including a
19764 full partition specification.
19765
19766 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19767
19768 * util/grub-mkconfig.in: Ignore non-option arguments, for
19769 compatibility with older versions (before 2010-06-12) which did the
19770 same. In particular, this makes it easier to ship an update-grub
19771 wrapper which is compatible with that used with GRUB Legacy (Debian
19772 bug #586056).
19773
19774 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19775
19776 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19777 for manual page generation.
19778
19779 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19780
19781 * po/POTFILES: Remove leftover commands/handler.c.
19782
19783 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19784
19785 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19786 left this script non-functional.
19787
19788 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19789
19790 * docs/man/grub-emu.h2m: New file.
19791
19792 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19793
19794 * docs/grub.texi (Commands): Document reduced command set in rescue
19795 mode.
19796 (cpuid): New section.
19797
19798 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19799
19800 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19801 new partition naming style.
19802 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19803
19804 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19805
19806 Add "-o grub.iso" like cmdline options support.
19807
19808 * util/grub-install.in: Improve cmdline option parsing.
19809 * util/grub-mkconfig.in: Likewise.
19810 * util/grub-mkrescue.in: Likewise.
19811 * util/grub-reboot.in: Likewise.
19812 * util/grub-set-default.in: Likewise.
19813 * util/i386/efi/grub-install.in: Likewise.
19814 * util/ieee1275/grub-install.in: Likewise.
19815 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19816
19817 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19818
19819 * .bzrignore: Ignore 41_custom.
19820
19821 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19822
19823 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19824
19825 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19826
19827 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19828 prototype declarations.
19829
19830 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19831 generating fs, partmap, and video lists.
19832 * include/grub/fs.h (grub_fs_register): Omit prototype if
19833 GRUB_LST_GENERATOR is defined.
19834 * include/grub/partition.h (grub_partition_map_register): Likewise.
19835 * include/grub/video.h (grub_video_register): Likewise.
19836
19837 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19838
19839 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19840
19841 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19842
19843 * util/grub-mkrescue.in: Support --xorriso argument.
19844
19845 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19848 Suggested by: Thomas Schmitt.
19849
19850 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19853 Suggested by: Thomas Schmitt.
19854
19855 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 custom.cfg support.
19858
19859 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19860 * util/grub.d/41_custom.in: New file.
19861
19862 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19863
19864 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19865 been merged back into normal.
19866
19867 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19868
19869 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19870 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19871
19872 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19873
19874 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19875 when generating manual pages.
19876 * docs/man/grub-bin2h.h2m: New file.
19877 * docs/man/grub-editenv.h2m: New file.
19878 * docs/man/grub-fstest.h2m: New file.
19879 * docs/man/grub-install.h2m: New file.
19880 * docs/man/grub-macho2img.h2m: New file.
19881 * docs/man/grub-mkconfig.h2m: New file.
19882 * docs/man/grub-mkdevicemap.h2m: New file.
19883 * docs/man/grub-mkfont.h2m: New file.
19884 * docs/man/grub-mkimage.h2m: New file.
19885 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19886 * docs/man/grub-mkrelpath.h2m: New file.
19887 * docs/man/grub-mkrescue.h2m: New file.
19888 * docs/man/grub-ofpathname.h2m: New file.
19889 * docs/man/grub-pe2elf.h2m: New file.
19890 * docs/man/grub-probe.h2m: New file.
19891 * docs/man/grub-reboot.h2m: New file.
19892 * docs/man/grub-script-check.h2m: New file.
19893 * docs/man/grub-set-default.h2m: New file.
19894 * docs/man/grub-setup.h2m: New file.
19895
19896 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 Use FOR_* macros instead of *_iterate whenever possible.
19899
19900 * commands/handler.c: Removed.
19901 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19902 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19903 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19904 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19905 (grub_probe_SOURCES): Remove kern/parser.c.
19906 (util/grub-script-check.c_DEPENDENCIES): Removed.
19907 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19908 and grub_script_check_init.c.
19909 (grub_script_check_init.lst): Removed.
19910 (grub_script_check_init.h): Likewise.
19911 (grub_script_check_init.c): Likewise.
19912 (pkglib_MODULES): Remove handler.mod and sh.mod.
19913 (handler_mod_SOURCES): Removed.
19914 (handler_mod_CFLAGS): Likewise.
19915 (handler_mod_LDFLAGS): Likewise.
19916 (normal_mod_SOURCES): Remove normal/handler.c.
19917 Add script/main.c, script/script.c, script/execute.c,
19918 script/function.c, script/lexer.c, grub_script.tab.c
19919 and grub_script.yy.c.
19920 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19921 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19922 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19923 (grub_setup_SOURCES): Remove kern/parser.c.
19924 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19925 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19926 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19927 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19928 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19929 (grub_setup_SOURCES): Remove kern/parser.c.
19930 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19931 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19932 * include/grub/command.h (grub_command_iterate): Removed.
19933 (FOR_COMMANDS): New macro.
19934 * include/grub/dl.h (grub_dl): New member next.
19935 (grub_dl_iterate): Removed.
19936 (grub_dl_head): New variable declaration.
19937 (FOR_DL_MODULES): New macro.
19938 * include/grub/fs.h: Include list.h.
19939 (grub_fs): Make next first element.
19940 (grub_fs_list): New variable declaration.
19941 (grub_fs_register): Make inline.
19942 (grub_fs_unregister): Likewise.
19943 (grub_fs_iterate): Removed.
19944 (FOR_FILESYSTEMS): New macro.
19945 * include/grub/handler.h: Removed.
19946 * include/grub/list.h (grub_list_hook_t): Removed.
19947 (grub_list_test_t): Likewise.
19948 (grub_list_pop): Likewise.
19949 (grub_list_iterate): Likewise.
19950 (grub_list_insert): Likewise.
19951 (FOR_LIST_ELEMENTS): New macro.
19952 * include/grub/parser.h (grub_parser_class): Removed.
19953 (grub_parser_register): Likewise.
19954 (grub_parser_unregister): Likewise.
19955 (grub_parser_get_current): Likewise.
19956 (grub_parser_set_current): Likewise.
19957 (grub_register_rescue_parser): Likewise.
19958 (grub_rescue_parse_line): New function.
19959 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19960 * include/grub/script_sh.h (grub_script_function_list): New variable
19961 declaration.
19962 (FOR_SCRIPT_FUNCTIONS): New macro.
19963 (grub_script_function_iterate): Removed.
19964 (grub_normal_parse_line): New prototype.
19965 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19966 (FOR_DISABLED_TERM_INPUTS): Likewise.
19967 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19968 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19969 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19970 element.
19971 (grub_video_register): Inline.
19972 (grub_video_unregister): Likewise.
19973 (grub_video_adapter_list): New variable declaration.
19974 (grub_video_iterate): Removed.
19975 (FOR_VIDEO_ADAPTERS): New macro.
19976 * kern/dl.c (grub_dl_list): Removed. All users updated.
19977 (grub_dl_iterate): Removed.
19978 * kern/fs.c (grub_fs_list): Make global.
19979 (grub_fs_register): Removed.
19980 (grub_fs_unregister): Likewise.
19981 (grub_fs_iterate): Likewise.
19982 * kern/handler.c: Removed.
19983 * kern/list.c (grub_list_pop): Removed.
19984 (grub_list_iterate): Likewise.
19985 (grub_list_insert): Likewise.
19986 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19987 (grub_prio_list_insert): Don't use grub_list_insert.
19988 * kern/main.c (grub_register_rescue_parser): Don't call
19989 grub_register_rescue_parser.
19990 * kern/parser.c (grub_parser_class): Removed.
19991 (grub_parser_execute): Use grub_rescue_parse_line.
19992 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19993 (grub_rescue_parser): Removed.
19994 (grub_register_rescue_parser): Likewise.
19995 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19996 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19997 (grub_auth_check_authentication): Likewise.
19998 * normal/completion.c (iterate_command): Removed.
19999 (grub_normal_do_completion): Use FOR_COMMANDS.
20000 * normal/handler.c: Removed.
20001 * normal/main.c (read_config_file): Remove parser changing.
20002 (grub_normal_execute): Don't call read_handler_list.
20003 (grub_normal_read_line_real): Statically allocate prompt.
20004 (grub_cmdline_run): Use grub_normal_parse_line.
20005 (GRUB_MOD_FINI): Don't call free_handler_list.
20006 * normal/menu_entry.c (run): Likewise.
20007 * script/function.c (grub_script_function_list): Make global.
20008 (grub_script_function_iterate): Removed.
20009 * script/main.c (grub_normal_parse_line): Make global.
20010 (grub_sh_parser): Removed.
20011 (GRUB_MOD_INIT): Likewise.
20012 (GRUB_MOD_FINI): Likewise.
20013 * tests/lib/functional_test.c (grub_functional_test): Use
20014 FOR_LIST_ELEMENTS.
20015 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20016 (grub_test_run): Use FOR_LIST_ELEMENTS.
20017 * tests/lib/unit_test.c (main): Likewise.
20018 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20019 grub_list_pop.
20020 * util/grub-fstest.c (grub_term_input_class): Removed.
20021 (grub_term_output_class): Likewise.
20022 * util/grub-probe.c: Likewise.
20023 * util/i386/pc/grub-setup.c: Likewise.
20024 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20025 * util/grub-script-check.c (main): Don't call grub_init_all and
20026 grub_fini_all.
20027 * video/video.c (grub_video_adapter_list): Make global.
20028 (grub_video_register): Removed.
20029 (grub_video_unregister): Likewise.
20030 (grub_video_iterate): Likewise.
20031
20032 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20035 reported by Henrique Ferreiro.
20036
20037 2010-06-09 Robert Millan <rmh@gnu.org>
20038
20039 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20040 ones, when both are available.
20041
20042 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20043
20044 Make --version uniform and avoid hard-coded program name.
20045
20046 * util/grub-mkimage.c (main): Use `program_name' instead of
20047 hard-coded string.
20048 * util/i386/pc/grub-setup.c (main): Likewise.
20049 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20050 * util/grub-install.in: Save the basename of $0 in $self, and use the
20051 latter in informational messages. Use the same format for --version
20052 as the binary programs.
20053 * util/grub-mkconfig.in: Likewise.
20054 * util/grub-mkrescue.in: Likewise.
20055 * util/grub-reboot.in: Likewise.
20056 * util/grub-set-default.in: Likewise.
20057 * util/i386/efi/grub-install.in: Likewise.
20058 * util/ieee1275/grub-install.in: Likewise.
20059 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20060
20061 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20062
20063 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20064 embedding area. Use <= instead of == when checking for non-emptiness.
20065
20066 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20067
20068 * configure.ac: Add `.' to the directories searched for unifont.
20069
20070 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20071
20072 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20073 grub_script.yy.h.
20074
20075 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20076
20077 * docs/grub.texi (History): Expand to cover GRUB 2.
20078 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20079 commands, not `terminal'.
20080 (serial): Likewise.
20081 (terminal_input): New section.
20082 (terminal_output): New section.
20083 (uppermem): New section (stub).
20084 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20085
20086 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20087
20088 * docs/grub.texi (Security): Menu entries are unrestricted by
20089 default, not restricted to superusers as I had previously thought.
20090 Reword to account for this.
20091
20092 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20093
20094 * kern/emu/misc.c (device_mapper_null_log): New function.
20095 (grub_device_mapper_supported): New function.
20096 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20097 prototype.
20098 * kern/emu/hostdisk.c (find_partition_start): Check whether
20099 device-mapper is supported before trying to use it.
20100 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20101
20102 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20103
20104 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20105 (File name syntax): Likewise.
20106 (help): --all is no longer supported in GRUB 2. Be more precise
20107 about pattern matching.
20108
20109 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20110
20111 * normal/completion.c (grub_normal_do_completion): When completing
20112 arguments to "set" and the current word contains an equals sign,
20113 skip to after the equals sign before starting completion.
20114
20115 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20116
20117 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20118
20119 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20120
20121 * docs/grub.texi (Network): New section.
20122 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20123 `(nd)' as in GRUB Legacy.
20124 (pxe_unload): New section.
20125
20126 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20127
20128 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20129 in the rescue shell, so recommend using `set' instead. Thanks,
20130 Jordan Uggla.
20131
20132 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20133
20134 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20135 (password): New section.
20136 (password_pbkdf2): New section.
20137 (search): New section.
20138 (Security): New section.
20139 (Troubleshooting): New section, currently very incomplete.
20140 (Invoking grub-mkpasswd-pbkdf2): New section.
20141 (Internals): New section, currently very incomplete.
20142
20143 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20144
20145 * util/grub.d/00_header.in: Add some more quoting (of
20146 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20147 work again.
20148 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20149
20150 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20151
20152 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20153 to `count', fixing variable shadowing that broke the -c option.
20154
20155 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
20156
20157 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20158 in case they contain spaces.
20159
20160 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20161
20162 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20163 "part_" to partmap module names, in line with grub-install.
20164 Reported by: Jindřich Makovička (Debian bug #584426).
20165
20166 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20167
20168 * util/grub-mkimage.c: Make target-related error messages slightly
20169 more helpful; -O talks about "format". Explicitly point to the use
20170 of -O if no target is specified.
20171 Reported by: Didier Raboud (Debian bug #584415).
20172
20173 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
20174
20175 * INSTALL: Document several build requirements for optional features
20176 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20177
20178 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20179
20180 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20181 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20182 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20183
20184 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20187 Thanks to Jordan Uggla for spotting this.
20188
20189 2010-06-02 Aleš Nesrsta <starous@volny.cz>
20190
20191 Finally make USB usable.
20192
20193 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20194 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20195 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20196 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20197 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20198 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20199 (GRUB_OHCI_FSMPS): Likewise.
20200 (GRUB_OHCI_PERIODIC_START): Likewise.
20201 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20202 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20203 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20204 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20205 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20206 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20207 (grub_ohci_transaction): Likewise.
20208 (grub_ohci_transfer): Improve condition detection algorithms.
20209 Handle toggle property. Program the transactions correctly.
20210 Improve error handling. Various important fixups.
20211 (grub_ohci_portstatus): Put register writes in right order.
20212 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20213 (grub_uhci_transfer): Don't show "failed" message on success.
20214 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20215 array.
20216 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20217 determine its size.
20218 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20219 before initialization is completed. Use IN direction for empty
20220 transfers. Use last_trans and compute toggle.
20221 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20222 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20223 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20224 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20225 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20226 (grub_usb_device): Increase toggle to 256.
20227 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20228 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20229 GRUB_USBMS_SUBCLASS_SFF8070.
20230 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20231 (grub_scsi_inquiry): New member page and alloc_length.
20232 (grub_scsi_request_sense): New structure.
20233 (grub_scsi_request_sense_data): Likewise.
20234 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20235 control.
20236 * disk/scsi.c (grub_scsi_request_sense): New function.
20237 (grub_scsi_test_unit_ready): Likewise.
20238 (grub_scsi_inquiry): Fill new fields.
20239 (grub_scsi_read_capacity): Likewise.
20240 (grub_scsi_read10): Add request sense at the end.
20241 (grub_scsi_read12): Likewise.
20242 (grub_scsi_write10): Likewise.
20243 (grub_scsi_write12): Likewise.
20244 (grub_scsi_open): Add Test Unit Ready.
20245 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20246 Support additional subclasses. Con't clear halt yet. Activate the
20247 proper config. Calculate LUNs correctly.
20248 (grub_usbms_transfer): Various important fixups.
20249
20250 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20251
20252 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20253 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20254 (grub_ohci_fini_hw): New function.
20255 (grub_ohci_restore_hw): Likewise.
20256 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20257 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20258 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20259
20260 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 Dedicated DMA allocations.
20263
20264 * bus/pci.c (grub_memalign_dma32): New function
20265 (grub_dma_free): Likewise.
20266 (grub_dma_get_virt): Likewise.
20267 (grub_dma_get_phys): Likewise.
20268 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20269 (grub_ohci_pci_iter): Use dma32_alloc.
20270 (grub_ohci_transfer): Likewise.
20271 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20272 (grub_usb_bulk_readwrite): Likewise.
20273 * include/grub/pci.h: Add declarations.
20274
20275 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 CS5536 support.
20278
20279 * bus/cs5536.c: New file.
20280 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20281 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20282 (cs5536_mod_SOURCES): New variable.
20283 (cs5536_mod_CFLAGS): Likewise.
20284 (cs5536_mod_LDFLAGS): Likewise.
20285 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20286 machine/pci.h.
20287 (kernel_img_SOURCES): Add bus/cs5536.c.
20288 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20289 usb_keyboard.mod.
20290 (usb_mod_SOURCES): New variable.
20291 (usb_mod_CFLAGS): New variable.
20292 (usb_mod_LDFLAGS): New variable.
20293 (usbtest_mod_SOURCES): New variable.
20294 (usbtest_mod_CFLAGS): New variable.
20295 (usbtest_mod_LDFLAGS): New variable.
20296 (ohci_mod_SOURCES): New variable.
20297 (ohci_mod_CFLAGS): New variable.
20298 (ohci_mod_LDFLAGS): New variable.
20299 (usbms_mod_SOURCES): New variable.
20300 (usbms_mod_CFLAGS): New variable.
20301 (usbms_mod_LDFLAGS): New variable.
20302 (usb_keyboard_mod_SOURCES): New variable.
20303 (usb_keyboard_mod_CFLAGS): New variable.
20304 (usb_keyboard_mod_LDFLAGS): New variable.
20305 * include/grub/smbus.h: New file.
20306 * include/grub/cs5536.h: New file.
20307
20308 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20309
20310 * util/grub.d/00_header.in: Add safety check to make sure that
20311 ${locale_dir} exists before trying to probe it.
20312
20313 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20314
20315 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20316 per the GNU Coding Standards; this is now too obscure to be worth
20317 documenting.
20318 (QNX): Likewise.
20319 (chainloader): Remove cross-reference to `SCO UnixWare'.
20320
20321 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * docs/grub.texi (Chain-loading): New section.
20324 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20325 adjusted for GRUB 2.
20326 (SCO UnixWare): Likewise.
20327 (QNX): Likewise.
20328 (chainloader): Add reference to `Block list syntax'.
20329 (drivemap): New section.
20330 (parttool): New section.
20331
20332 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20333
20334 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20335 the grub shell'.
20336 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20337 (Installing GRUB using grub-install): Remove reference to the grub
20338 shell; mention `grub-mkimage' and `grub-setup' instead.
20339 (Invoking grub-install): Likewise.
20340 (Interface): Add reference to `Menu entry editor'.
20341 (serial): Remove `--device' option.
20342
20343 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20344
20345 * docs/grub.texi (Configuration): New section, documenting
20346 configuration file generation using grub-mkconfig. I've left a slot
20347 for documenting the full shell scripting format but have not yet
20348 started on writing that up.
20349 (Invoking grub-mkconfig): New section.
20350
20351 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20352
20353 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20354 (GNU GRUB manual): Likewise.
20355 (General commands): Update description of `terminfo' for GRUB 2.
20356
20357 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20358
20359 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20360 (GRUB_MOD_INIT): Fix capitalisation.
20361 * docs/grub.texi (Command-line and menu entry commands): Document
20362 gettext and gptsync commands.
20363
20364 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20365
20366 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20367 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20368
20369 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
20370
20371 Add btrfs probing support, currently only in the single-device case.
20372
20373 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20374 function.
20375 (grub_guess_root_device): Call find_root_device_from_mountinfo
20376 before looking in /dev.
20377
20378 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20381 GRUB_DISK_SIZE_UNKNOWN.
20382 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20383
20384 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
20385
20386 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20387 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20388 corrupted or not synced properly.
20389
20390 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20393 Reported by: Seth Goldberg.
20394
20395 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20396
20397 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20398 addition of dest.
20399 Reported by: Seth Goldberg.
20400
20401 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20404 Reported by: Seth Goldberg.
20405
20406 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20407
20408 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20409 64-bit address as signed on MIPS.
20410
20411 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20412
20413 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20414 to the empty string.
20415
20416 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20417
20418 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20419
20420 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20421 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20422 * kern/misc.c (__enable_execute_stack): Disable on
20423 GRUB_MACHINE_EMU.
20424
20425 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20426
20427 Make grub-probe work with symbolic links under /dev/mapper as well
20428 as with real block devices. The Linux world seems to be (at best)
20429 in transition here, and GRUB shouldn't get caught in the middle.
20430
20431 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20432 /dev/mapper.
20433
20434 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20435
20436 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20437 input files (in which case exit zero).
20438
20439 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20440
20441 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20442 return NULL for various reasons even if it has a maximum-length
20443 buffer: for example, there might be a symlink loop, or the path
20444 might exceed PATH_MAX. If this happens, return NULL.
20445
20446 2010-05-27 Robert Millan <rmh@gnu.org>
20447
20448 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20449 partmap module to handle cross-partmap setups.
20450 Reported by Orestes Mas. Gràcies!
20451
20452 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20453
20454 * util/grub-mkrescue.in: Initialise override_dir rather than
20455 assuming that it's unset or empty in the environment.
20456
20457 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20458
20459 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20460 variable index into p_index to suppress a warning with -Wshadow.
20461
20462 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20463
20464 * INSTALL: Added flex >= 2.5.35 requirement.
20465
20466 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20469
20470 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 cmostest support.
20473
20474 * commands/i386/cmostest.c: New file.
20475 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20476 (cmostest_mod_SOURCES): New variable.
20477 (cmostest_mod_CFLAGS): Likewise.
20478 (cmostest_mod_LDFLAGS): Likewise.
20479 * conf/i386-pc.rmk: Likewise.
20480 * docs/grub.texi (Vendor power-on keys): New section.
20481 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20482 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20483 and GRUB_BUTTON_CMOS_ADDRESS.
20484 * util/grub.d/00_header.in: Handle powering-on by separate button.
20485
20486 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20489 Removed drawing_scrollbar argument. All users updated
20490 Fixes #29792.
20491 Reported by Jo Shields
20492
20493 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20496 buffer since gfxterm handles double repaint.
20497
20498 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20501 * term/gfxterm.c (real_scroll): Likewise.
20502
20503 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20506 before calling BIOS.
20507
20508 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 * include/grub/i18n.h: Always enable grub_gettext.
20511
20512 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20513
20514 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20515 partition naming style.
20516
20517 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
20518
20519 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20520 not the first option.
20521
20522 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20523
20524 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20525
20526 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20527
20528 * util/misc.c: Move inclusion of <limits.h> to ...
20529 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20530
20531 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20532
20533 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20534 Fix merge error in NetBSD code.
20535 (find_partition_start) [__NetBSD__]: Likewise.
20536
20537 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20538
20539 Fix grub-mkrescue usage unit testing.
20540
20541 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20542
20543 2010-05-18 Christian Franke <franke@computer.org>
20544
20545 * util/grub.d/10_windows.in: Use path names instead of
20546 drive letters to prevent warning from Cygwin 1.7.
20547 Add drivemap command to menuentry if needed.
20548
20549 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20550
20551 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20552 gnumach and gnumach.gz.
20553
20554 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20555
20556 * include/grub/i18n.h (gettext): Inline instead of using #define.
20557 (grub_gettext): Likewise.
20558 (_): Likewise.
20559
20560 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20561
20562 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20563 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20564 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20565 (main): Add a slash after pkglibdirroot.
20566
20567 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 * util/grub-install.in: Add missing "in" keyword.
20570
20571 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20574 Reported by: Seth Goldberg.
20575
20576 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20579
20580 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20581
20582 * configure.ac: Check for Linux device-mapper support.
20583
20584 * util/hostdisk.c (device_is_mapped): New function.
20585 (find_partition_start): New function, partly broken out from
20586 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20587 device-mapper support added.
20588 (linux_find_partition): Use find_partition_start.
20589 (convert_system_partition_to_system_disk): Add `st' argument.
20590 Support Linux /dev/mapper/* devices if device-mapper support is
20591 available; only DM-RAID devices are understood at present.
20592 (find_system_device): Add `st' argument. Pass it to
20593 convert_system_partition_to_system_disk.
20594 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20595 find_system_device and convert_system_partition_to_system_disk. Use
20596 find_partition_start.
20597
20598 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20599 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20600 * util/deviceiter.c [__linux__]: Define MINOR.
20601 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20602 * util/mkdevicemap.c (grub_putchar): New function.
20603 (grub_getkey): New function.
20604 (grub_refresh): New function.
20605 (main): Set debug=all if -v -v is used.
20606
20607 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20608
20609 Fix build with non-GNU libcs.
20610
20611 * util/misc.c (canonicalize_file_name): Move to ...
20612 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20613 grub_make_system_path_relative_to_its_root.
20614
20615 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20616
20617 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20618 we handle finding grub-mkimage. Default to finding grub-mkimage in
20619 ${bindir} with program_transform_name applied, and provide a
20620 --grub-mkimage option to override this.
20621
20622 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 Remove grub-mkisofs.
20625
20626 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20627 (grub_mkisofs_SOURCES): Removed.
20628 (grub_mkisofs_CFLAGS): Removed.
20629 * util/mkisofs/defaults.h: Removed.
20630 * util/mkisofs/eltorito.c: Likewise.
20631 * util/mkisofs/exclude.h: Likewise.
20632 * util/mkisofs/hash.c: Likewise.
20633 * util/mkisofs/include/: Likewise.
20634 * util/mkisofs/include/fctldefs.h: Likewise.
20635 * util/mkisofs/include/mconfig.h: Likewise.
20636 * util/mkisofs/include/prototyp.h: Likewise.
20637 * util/mkisofs/include/statdefs.h: Likewise.
20638 * util/mkisofs/iso9660.h: Likewise.
20639 * util/mkisofs/joliet.c: Likewise.
20640 * util/mkisofs/match.c: Likewise.
20641 * util/mkisofs/match.h: Likewise.
20642 * util/mkisofs/mkisofs.c: Likewise.
20643 * util/mkisofs/mkisofs.h: Likewise.
20644 * util/mkisofs/msdos_partition.h: Likewise.
20645 * util/mkisofs/multi.c: Likewise.
20646 * util/mkisofs/name.c: Likewise.
20647 * util/mkisofs/rock.c: Likewise.
20648 * util/mkisofs/tree.c: Likewise.
20649 * util/mkisofs/write.c: Likewise.
20650
20651 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 Unify grub-mkimage accross platforms.
20654
20655 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20656 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20657 (grub_mkelfimage_SOURCES): Removed.
20658 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20659 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20660 (bin_UTILITIES): Add grub-mkimage.
20661 (grub_mkimage_SOURCES): New variable.
20662 (kernel_img_HEADERS): Remove machine/kernel.h.
20663 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20664 (pkglib_PROGRAMS): Add kernel.img.
20665 (kernel_img_HEADERS): Add machine/kernel.h.
20666 (kernel_img_FORMAT): Removed.
20667 (bin_UTILITIES): Remove grub-mkimage.
20668 (grub_mkimage_SOURCES): Removed.
20669 (grub_mkimage_CFLAGS): Likewise.
20670 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20671 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20672 (pkglib_PROGRAMS): Add kernel.img.
20673 (bin_UTILITIES): Remove grub-mkimage.
20674 (grub_mkimage_SOURCES): Removed.
20675 (grub_mkimage_CFLAGS): Likewise.
20676 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20677 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20678 (pkglib_PROGRAMS): Add kernel.img.
20679 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20680 (pkglib_PROGRAMS): Add kernel.img.
20681 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20682 (grub_mkimage_SOURCES): Removed.
20683 (grub_mkimage_CFLAGS): Likewise.
20684 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20685 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20686 (pkglib_PROGRAMS): Add kernel.img.
20687 (bin_UTILITIES): Remove grub-mkimage.
20688 (grub_mkimage_SOURCES): Removed.
20689 (grub_mkimage_CFLAGS): Likewise.
20690 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20691 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20692 (grub_mkimage_SOURCES): Removed.
20693 (grub_mkimage_CFLAGS): Likewise.
20694 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20695 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20696 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20697 (grub_pe32_optional_header): ... this.
20698 (grub_pe64_optional_header): ... and this. All users updated.
20699 (GRUB_PE32_PE32_MAGIC): Split into ..
20700 (GRUB_PE32_PE32_MAGIC): .. this.
20701 (GRUB_PE32_PE64_MAGIC): .. and this.
20702 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20703 * include/grub/elf.h (PT_GNU_STACK): New definition.
20704 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20705 * include/grub/i386/efi/kernel.h: Likewise.
20706 * include/grub/i386/kernel.h: Likewise.
20707 * include/grub/i386/pc/kernel.h: Likewise.
20708 * include/grub/i386/qemu/boot.h: Likewise.
20709 * include/grub/mips/kernel.h: Likewise.
20710 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20711 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20712 * include/grub/powerpc/kernel.h: Likewise.
20713 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20714 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20715 * include/grub/sparc64/kernel.h: Likewise.
20716 * include/grub/x86_64/efi/kernel.h: Likewise.
20717 * include/grub/x86_64/kernel.h: Likewise.
20718 * include/grub/offsets.h: New file.
20719 * include/grub/kernel.h (grub_module_info): Split into ...
20720 (grub_module_info32): ... this.
20721 (grub_module_info64): ... and this.
20722 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20723 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20724 (grub_boot_blocklist): Moved from here ...
20725 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20726 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20727 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20728 * include/grub/types.h (grub_target_to_host16): Removed.
20729 (grub_target_to_host32): Likewise.
20730 (grub_target_to_host64): Likewise.
20731 (grub_host_to_target16): Likewise.
20732 (grub_host_to_target32): Likewise.
20733 (grub_host_to_target64): Likewise.
20734 (grub_host_to_target_addr): Likewise.
20735
20736 Support grub-mkrescue for efi, coreboot and qemu.
20737
20738 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20739 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20740 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20741 * util/grub-mkrawimage.c: Moved from here ...
20742 * util/grub-mkimage.c: ... here. All users updated.
20743 (ALIGN_ADDR): Use image_target.
20744 (TARGET_NO_FIELD): New const.
20745 (image_target_desc): New type.
20746 (image_targets): New array.
20747 (grub_target_to_host64): Use image_target.
20748 (grub_target_to_host32): Likewise.
20749 (grub_target_to_host16): Likewise.
20750 (grub_host_to_target64): Likewise.
20751 (grub_host_to_target32): Likewise.
20752 (grub_host_to_target16): Likewise.
20753 (grub_host_to_target_addr): Likewise.
20754 (generate_image): Handle multiimage.
20755 (main): Require -O parameter. All users updated.
20756 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20757 util/efi/grub-mkimage.c
20758 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20759 New option --rom-directory.
20760 Use xorriso.
20761 * util/i386/efi/grub-mkimage.c: Removed.
20762 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20763 (grub_target_to_host32): Likewise.
20764 (grub_target_to_host64): Likewise.
20765 (grub_host_to_target16): Likewise.
20766 (grub_host_to_target32): Likewise.
20767 (grub_host_to_target64): Likewise.
20768 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20769 (grub_target_to_host32): Likewise.
20770 (grub_target_to_host64): Likewise.
20771 (grub_host_to_target16): Likewise.
20772 (grub_host_to_target32): Likewise.
20773 (grub_host_to_target64): Likewise.
20774
20775 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20776
20777 Source tree is reorganized for emu build.
20778
20779 * include/grub/util/console.h: Move from here...
20780 * include/grub/emu/console.h: ...to here.
20781 * include/grub/util/getroot.h: Move from here...
20782 * include/grub/emu/getroot.h: ...to here.
20783 * include/grub/util/hostdisk.h: Move from here...
20784 * include/grub/emu/hostdisk.h: ...to here.
20785 * util/console.c: Move from here...
20786 * kern/emu/console.c: ...to here.
20787 * util/getroot.c: Move from here...
20788 * kern/emu/getroot.c: ...to here.
20789 * util/grub-emu.c: Move from here...
20790 * kern/emu/main.c: ...to here.
20791 * util/hostdisk.c: Move from here...
20792 * kern/emu/hostdisk.c: ...to here.
20793 * util/hostfs.c: Move from here...
20794 * kern/emu/hostfs.c: ...to here.
20795 * util/mm.c: Move from here...
20796 * kern/emu/mm.c: ...to here.
20797 * util/pci.c: Move from here...
20798 * bus/emu/pci.c: ...to here.
20799 * util/sdl.c: Move from here...
20800 * video/emu/sdl.c: ...to here.
20801 * util/time.c: Move from here...
20802 * kern/emu/time.c: ...to here.
20803 * util/usb.c: Move from here...
20804 * bus/usb/emu/usb.c: ...to here.
20805
20806 * include/grub/emu/misc.h: New header for grub-emu functions.
20807 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20808
20809 * conf/any-emu.rmk: Rule updates for above renames.
20810 * conf/common.rmk: Likewise.
20811 * conf/i386-pc.rmk: Likewise.
20812 * conf/i386-qemu.rmk: Likewise.
20813 * conf/mips.rmk: Likewise.
20814 * conf/sparc64-ieee1275.rmk: Likewise.
20815 * conf/x86-efi.rmk: Likewise.
20816
20817 * disk/lvm.h: #include updates for above renames.
20818 * util/grub-mkrelpath.c: Likewise.
20819 * util/grub-probe.c: Likewise.
20820 * util/i386/pc/grub-setup.c: Likewise.
20821 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20822 * kern/emu/console.c: Likewise.
20823 * kern/emu/getroot.c: Likewise.
20824 * kern/emu/hostdisk.c: Likewise.
20825 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20826
20827 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20828 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20829 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20830 * util/misc.c: Remove grub-emu functions.
20831
20832 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 Fix gfxmenu crash.
20835 Reported by: Thorsten Grützmacher.
20836
20837 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20838 timeout hook.
20839 (circprog_set_property): Register and unregister timeout hook.
20840 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20841 (label_destroy): Free template. and unregister hook.
20842 (label_set_state): New function.
20843 (label_set_property): Handle templates and hooks.
20844 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20845 timeout hook.
20846 (progress_bar_set_property): Register and unregister timeout hook.
20847 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20848 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20849 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20850 (update_timeout_visit): Removed.
20851 (update_timeouts): New function.
20852 (redraw_timeouts): Likewise.
20853 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20854 (grub_gfxmenu_clear_timeout): Likewise.
20855 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20856 (grub_gfxmenu_timeout_notify): Likewise.
20857 (grub_gfxmenu_timeout_notifications): New external variable.
20858 (grub_gfxmenu_timeout_register): New function.
20859 (grub_gfxmenu_timeout_unregister): Likewise.
20860
20861 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20862
20863 Transform (broken) vga terminal into (working) vga video driver.
20864
20865 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20866 video/i386/pc/vga.c.
20867 * include/grub/video.h (grub_video_driver_id):
20868 Add GRUB_VIDEO_DRIVER_VGA.
20869 * term/i386/pc/vga.c: Renamed to ...
20870 * video/i386/pc/vga.c: ...this
20871 (DEBUG_VGA): Removed.
20872 (CHAR_WIDTH): Likewise.
20873 (CHAR_HEIGHT): Likewise.
20874 (TEXT_WIDTH): Likewise.
20875 (TEXT_HEIGHT): Likewise.
20876 (DEFAULT_FG_COLOR): Likewise.
20877 (DEFAULT_BG_COLOR): Likewise.
20878 (colored_char): Likewise.
20879 (xpos): Likewise.
20880 (ypos): Likewise.
20881 (cursor_state): Likewise.
20882 (fg_color): Likewise.
20883 (bg_color): Likewise.
20884 (text_buf): Likewise.
20885 (page): Likewise.
20886 (font): Likewise.
20887 (framebuffer): New variable.
20888 (set_read_map): Disabled.
20889 (setup): New variable.
20890 (is_target): Likewise.
20891 (grub_vga_mod_init): Likewise.
20892 (grub_vga_mod_fini): Likewise.
20893 (check_vga_mem): Likewise.
20894 (write_char): Likewise.
20895 (write_cursor): Likewise.
20896 (scroll_up): Likewise.
20897 (grub_vga_putchar): Likewise.
20898 (grub_vga_getcharwidth): Likewise.
20899 (grub_vga_getwh): Likewise.
20900 (grub_vga_getxy): Likewise.
20901 (grub_vga_gotoxy): Likewise.
20902 (grub_vga_cls): Likewise.
20903 (grub_vga_setcolorstate): Likewise.
20904 (grub_vga_setcursor): Likewise.
20905 (grub_video_vga_init): New function.
20906 (grub_video_vga_setup): Likewise.
20907 (grub_video_vga_fini): Likewise.
20908 (update_target): Likewise.
20909 (grub_video_vga_blit_bitmap): Likewise.
20910 (grub_video_vga_blit_render_target): Likewise.
20911 (grub_video_vga_set_active_render_target): Likewise.
20912 (grub_video_vga_get_active_render_target): Likewise.
20913 (grub_video_vga_swap_buffers): Likewise.
20914 (grub_video_vga_set_palette): Likewise.
20915 (grub_video_vga_get_info_and_fini): Likewise.
20916 (grub_vga_term): Removed.
20917 (grub_video_vga_adapter): New variable.
20918 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20919 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20920
20921 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * video/readers/jpeg.c: Indented.
20924
20925 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 Various jpeg cleanups.
20928
20929 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20930 (grub_jpeg_decode_quan_table): Use sizeof.
20931 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20932
20933 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20934
20935 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20936 tables. Ignore non-last ac bit.
20937 (grub_jpeg_decode_quan_table): Likewise.
20938
20939 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20942 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20943 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20944 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20945 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20946 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20947
20948 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20949
20950 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20951 error.
20952
20953 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20956
20957 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20960 condition.
20961
20962 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20965 part.
20966
20967 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20970 pointers.
20971
20972 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20975
20976 2010-05-01 Christian Franke <franke@computer.org>
20977
20978 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20979 Remove broken Cygwin path conversion.
20980 * util/misc.c: [__CYGWIN__] Add include and define.
20981 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20982 for Cygwin 1.7.
20983 (make_system_path_relative_to_its_root): Simplify loop, replace early
20984 return by break.
20985 [__CYGWIN__] Add conversion to win32 path.
20986 Include "/" case in trailing slash removal.
20987
20988 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20991 Reported by: Seth Goldberg
20992
20993 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 * commands/help.c (grub_cmd_help): Fix a typo.
20996 Reported by: Seth Goldberg
20997
20998 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21001 name and add N_.
21002 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21003 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21004 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21005 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21006 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21007 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21008 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21009 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21010 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21011 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21012 * normal/context.c (GRUB_MOD_INIT): Likewise.
21013 * normal/main.c (GRUB_MOD_INIT): Likewise.
21014 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21015 * term/serial.c (GRUB_MOD_INIT): Likewise.
21016 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21017
21018 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21019
21020 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21021 extra == 0.
21022
21023 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * commands/iorw.c: New file.
21026 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21027 (iorw_mod_SOURCES): New variable.
21028 (iorw_mod_CFLAGS): Likewise.
21029 (iorw_mod_LDFLAGS): Likewise.
21030
21031 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21032
21033 Hotkey support
21034
21035 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21036 * normal/main.c (hotkey_aliases): New variable.
21037 (grub_normal_add_menu_entry): Parse "--hotkey".
21038 * normal/menu_text.c (run_menu): Handle hotkeys.
21039
21040 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21041
21042 * kern/i386/coreboot/init.c (grub_machine_init): Call
21043 grub_machine_mmap_init on qemu.
21044
21045 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21046
21047 * boot/i386/qemu/boot.S: Add a missing .code16.
21048
21049 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21050
21051 Use LBIO on coreboot.
21052
21053 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21054 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21055 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21056 New declaration.
21057 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21058 grub_machine_mmap_init on coreboot.
21059 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21060 GRUB_LINUXBIOS_MEMBER_LINK.
21061 (grub_machine_mmap_iterate): Fix declaration.
21062 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21063
21064 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 Split coreboot and multiboot ports.
21067
21068 * conf/i386-multiboot.rmk: New file.
21069 * configure.ac: Add multiboot port.
21070 * include/grub/i386/multiboot/boot.h: New file.
21071 * include/grub/i386/multiboot/console.h: Likewise.
21072 * include/grub/i386/multiboot/init.h: Likewise.
21073 * include/grub/i386/multiboot/kernel.h: Likewise.
21074 * include/grub/i386/multiboot/loader.h: Likewise.
21075 * include/grub/i386/multiboot/memory.h: Likewise.
21076 * include/grub/i386/multiboot/serial.h: Likewise.
21077 * include/grub/i386/multiboot/time.h: Likewise.
21078 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21079 * loader/multiboot.c: Likewise.
21080 * loader/multiboot_mbi2.c: Likewise.
21081 * util/grub-mkrescue.in: Generate multiboot rescue.
21082
21083 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21086
21087 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 Merge handling of input and output terminals. Fix a hang.
21090
21091 * commands/terminal.c (abstract_terminal): New struct.
21092 (handle_command): New function. Based on grub_cmd_terminal_input.
21093 (grub_cmd_terminal_input): Use handle_command.
21094 (grub_cmd_terminal_output): Use handle_command.
21095
21096 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21097
21098 Fix comment handling.
21099
21100 * tests/grub_script_comments.in: New testcase.
21101 * conf/tests.rmk: Rules for new testcase.
21102 * script/yylex.l: Updated flex rules.
21103
21104 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21105
21106 * docs/grub.texi (play): Document that zero pitches produce rests.
21107 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21108 if argc is 1.
21109
21110 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21111
21112 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21113 autogen issues.
21114
21115 2010-04-26 Christian Franke <franke@computer.org>
21116
21117 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21118 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21119 (grub_get_prefix): Remove function.
21120 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21121 make_system_path_relative_to_its_root ().
21122 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21123
21124 2010-04-24 Christian Franke <franke@computer.org>
21125
21126 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21127 (kernel_img_LDFLAGS): Remove -static-libgcc.
21128
21129 2010-04-24 Christian Franke <franke@computer.org>
21130
21131 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21132 and CHECK_END_SYMBOL if grub-emu is built.
21133 Unset TARGET_OBJ2ELF if grub-emu is built
21134 without module support.
21135
21136 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
21137
21138 Nilfs2 support.
21139
21140 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21141 (grub_fstest_SOURCES): Likewise.
21142 (pkglib_MODULES): Add nilfs2.mod.
21143 (nilfs2_mod_SOURCES): New variable.
21144 (nilfs2_mod_CFLAGS): Likewise.
21145 (nilfs2_mod_LDFLAGS): Likewise.
21146 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21147 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21148 * fs/nilfs2.c: New file.
21149
21150 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21153 is not supported.
21154
21155 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21156
21157 Add grub-mkconfig support for NetBSD.
21158
21159 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21160 * util/grub-mkconfig.in: export new NetBSD specific variables.
21161 * po/POTFILES-shell: added 10_netbsd.in.
21162 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21163
21164 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21165
21166 Fix emu build with grub-emu-pci and grub-emu-modules.
21167
21168 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21169 functions.
21170 * include/grub/libpciaccess.h: New file.
21171 * conf/any-emu.rmk: Update kernel headers for emu build.
21172
21173 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21176
21177 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21180
21181 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21182
21183 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21184 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21185 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21186 util/ieee1275/ofpath.c.
21187 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21188 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21189 * include/grub/sparc64/ieee1275/boot.h
21190 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21191 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21192 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21193 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21194 const char *.
21195 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21196 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21197 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21198 install.
21199
21200 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21201
21202 * util/grub-mkconfig.in: Corrected two == equality tests.
21203 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21204 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21205 expect a number appended to it.
21206 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21207 expects a number appended to it.
21208
21209 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21212
21213 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * util/hostdisk.c (make_device_name): Change to new partition naming.
21216
21217 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21218
21219 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21220
21221 2010-04-17 Christian Franke <franke@computer.org>
21222
21223 * Makefile.in: Add missing localedir setting.
21224
21225 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
21226
21227 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21228 mistake in r2156. Noticed by Anthony Fok.
21229
21230 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21231 @localedir@.
21232 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21233
21234 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21235
21236 Fix a spurious, uninitialized variable warning.
21237
21238 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21239 Initialize variable, shdr.
21240 (grub_freebsd_load_elfmodule): Likewise.
21241 (grub_freebsd_load_elf_meta): Likewise.
21242
21243 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21244
21245 Fix for escaped dollar in double quoted strings.
21246
21247 * script/yylex.l: Updated flex rules.
21248 * conf/tests.rmk: Rule for new testcase.
21249 * tests/grub_script_dollar.in: New testcase.
21250
21251 2010-04-13 Carles Pina i Estany <carles@pina.cat>
21252 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
21253
21254 Enclose all translated strings in grub.cfg in single quotes, and
21255 escape them appropriately (Ubuntu bug #552921).
21256
21257 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21258 * util/grub.d/10_hurd.in: Use it.
21259 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21260 * util/grub.d/10_linux.in (linux_entry): Likewise.
21261
21262 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 Fix cygwin compilation.
21265
21266 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21267 * include/grub/misc.h (__register_frame_info)
21268 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21269 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21270 * kern/misc.c (__register_frame_info)
21271 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21272 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21273
21274 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21277
21278 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 Unify libgcc processing.
21281
21282 * Makefile.in (kernel_img_LDFLAGS): New variable.
21283 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21284 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21285 overwriting.
21286 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21287 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21288 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21289 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21290 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21291 overwriting. Remove -lgcc and -static-libgcc
21292 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21293 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21294 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21295 (kernel_img_LDFLAGS): Append instead of overwriting.
21296 Remove -lgcc and -static-libgcc
21297 * conf/sparc64-ieee1275.rmk: Likewise.
21298 * include/grub/powerpc/libgcc.h: Move to ...
21299 * include/grub/libgcc.h: .. this.
21300 * include/grub/libgcc.h: Don't export most of the function on x86.
21301 (__bswapsi2): New export.
21302 (__bswapdi2): Likewise.
21303 * include/grub/mips/libgcc.h: Removed.
21304 * include/grub/sparc64/libgcc.h: Likewise.
21305
21306 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21309 disk_info_msg (conflicts with gettexting into languages with cases).
21310
21311 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21312
21313 Add grub-probe support for NetBSD.
21314
21315 * util/getroot.c (find_root_device): Convert block device to
21316 character device on NetBSD.
21317 * util/probe.c (probe): Require character device on NetBSD.
21318 * util/hostdisk.c: NetBSD specific headers.
21319 (configure_device_driver): new function to tune device driver
21320 parameters (currently only for NetBSD floppy driver).
21321 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21322 via disklabel ioctl).
21323 (open_device): call configure_device_driver on NetBSD.
21324 (convert_system_partition_to_system_disk): NetBSD specific code.
21325 (device_is_wholedisk): Likewise.
21326 (grub_util_biosdisk_get_grub_dev): Likewise.
21327 (make_device_name): Fixed a typo in bsd_part_str.
21328 * configure.ac: check for opendisk() and getrawpartition() on
21329 NetBSD and set LIBUTIL.
21330 * Makefile.in: add LIBUTIL to LIBS.
21331
21332 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21333
21334 Documentation fix.
21335
21336 * util/grub-script-check.c: Better help message.
21337
21338 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21339
21340 Fix FreeBSD build.
21341
21342 * configure.ac: Flex version check.
21343 * conf/common.rmk: Add -Wno-error to sh.mod.
21344 * script/yylex.l: Remove all #pragma.
21345
21346 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21347
21348 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21349 prototype.
21350 Reported by: Seth Goldberg.
21351
21352 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21353
21354 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21355 Rename "module" to "module2".
21356 Reported by: Seth Goldberg.
21357
21358 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21359
21360 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21361 EXPORT_FUNC.
21362 Reported by: Seth Goldberg.
21363
21364 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * lib/posix_wrap/locale.h: Add missing file.
21367 Reported by: Seth Goldberg.
21368
21369 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21370
21371 grub-emu module load support.
21372
21373 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21374 NO_DYNAMIC_MODULES switched to this.
21375 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21376 (CFLAGS): Likewise.
21377 * conf/any-emu.rmk: Generate symlist.
21378 (kernel_img_HEADERS): Add util/datetime.h.
21379 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21380 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21381 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21382 kern/$(target_cpu)/cache.S.
21383 * configure.ac (grub-emu-modules): New option.
21384 * genmk.rb: Handle multiple source lists.
21385 * include/grub/sdl.h: New file.
21386 * include/grub/libusb.h: Likewise.
21387 * util/grub-emu.c (main): Hanle (host) root.
21388 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21389 GRUB_ERR_UNKNOWN_DEVICE.
21390 * util/misc.c: Move mm functions to ...
21391 * util/mm.c: ... here. All users updated.
21392
21393 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21396 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21397 missing files.
21398 (maintainer-clean): Remove libgcrypt-grub.
21399
21400 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21403
21404 2010-04-09 EFI Coder <eficoder@hotmail.com>
21405
21406 * normal/menu_text.c (print_message): Clean up the message and show
21407 the Fn information when on EFI
21408 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21409
21410 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21413 All users updated.
21414 * normal/crypto.c (read_crypto_list): Likewise.
21415 * normal/dyncmd.c (read_command_list): Likewise.
21416 * normal/term.c (read_terminal_list): Likewise.
21417 * normal/main.c (read_lists): Use explicit prefix.
21418 (read_lists_hook): Use read_lists.
21419 (grub_normal_execute): Likewise.
21420
21421 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21422
21423 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21424 Reported by: Thomas Schmitt.
21425 Add -no-emul-boot to grub-mkisofs parameters.
21426
21427 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21428
21429 * font/font.c: Indented.
21430
21431 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21432
21433 Elif support to GRUB script (by Deepak Vankadaru).
21434
21435 * tests/grub_script_if.in: New testcase.
21436 * conf/tests.rmk: Rule for new testcase.
21437 * script/parser.y: Grammar rules for elif.
21438
21439 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21440
21441 While and until loops support to GRUB script.
21442
21443 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21444 (grub_script_create_cmdwhile): New function prototype.
21445 (grub_script_execute_cmdwhile): New function prototype.
21446 * script/execute.c (grub_script_execute_cmdwhile): New function.
21447 * script/parser.y (command): New commands.
21448 (whilecmd): New grammar rule.
21449 (untilcmd): New grammar rule.
21450 * script/script.c (grub_script_create_cmdwhile): New function.
21451 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21452 function.
21453
21454 * tests/grub_script_while1.in: New testcase.
21455 * conf/tests.rmk: Rule for new testcase.
21456
21457 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21460 as *.jpg.
21461
21462 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
21463
21464 GRUB_BACKGROUND support.
21465
21466 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21467 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21468
21469 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 Load fonts and modules for gfxmenu in grub-mkconfig.
21472 Idea by: Mario Vazquez
21473
21474 * util/grub.d/00_header.in: Load pf2 and image modules.
21475
21476 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 grub-mkconfig multiple terminal support.
21479
21480 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21481 * util/grub.d/00_header.in: Likewise.
21482
21483 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21486 we use cd $(srcdir).
21487
21488 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
21489
21490 * util/grub.d/10_linux.in: Only use the first word of
21491 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21492 spaces in GRUB_DISTRIBUTOR.
21493 * util/grub.d/10_kfreebsd.in: Likewise.
21494 * util/grub.d/10_hurd.in: Likewise.
21495
21496 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21497
21498 Fix unit testing framework for Qemu 0.12.
21499
21500 * tests/util/grub-shell.in: Remove -serial stdio option.
21501
21502 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 POSIX header file wrappers.
21505
21506 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21507 equivalents.
21508 * lib/posix_wrap/ctype.h: Likewise.
21509 * lib/posix_wrap/errno.h: Likewise.
21510 * lib/posix_wrap/langinfo.h: Likewise.
21511 * lib/posix_wrap/limits.h: Likewise.
21512 * lib/posix_wrap/localcharset.h: Likewise.
21513 * lib/posix_wrap/stdint.h: Likewise.
21514 * lib/posix_wrap/stdio.h: Likewise.
21515 * lib/posix_wrap/stdlib.h: Likewise.
21516 * lib/posix_wrap/string.h: Likewise.
21517 * lib/posix_wrap/sys/types.h: Likewise.
21518 * lib/posix_wrap/unistd.h: Likewise.
21519 * lib/posix_wrap/wchar.h: Likewise.
21520 * lib/posix_wrap/wctype.h: Likewise.
21521 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21522 (grub_script.yy.h): Likewise.
21523 * script/yylex.l: Remove POSIX emulation #defines.
21524 * Makefile.in (POSIX_CFLAGS): New variable.
21525 (GNULIB_UTIL_CFLAGS): Likewise.
21526
21527 Regexp support.
21528
21529 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21530 (regexp_mod_SOURCES): New variable.
21531 (regexp_mod_CFLAGS): Likewise.
21532 (regexp_mod_LDFLAGS): Likewise.
21533 * commands/regexp.c: New file.
21534 * gnulib/regcomp.c: New file. Imported from gnulib.
21535 * gnulib/regex.c: Likewise.
21536 * gnulib/regex_internal.c: Likewise.
21537 * gnulib/regex_internal.h: Likewise.
21538 * gnulib/regexec.c: Likewise.
21539 * gnulib/regex.h: Likewise.
21540
21541 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21542
21543 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21544 unsupported video mode types.
21545
21546 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21549
21550 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21551
21552 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21553 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21554
21555 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 Remove unused grub_vga_get_font.
21558
21559 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21560 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21561
21562 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21563
21564 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21565 * include/grub/misc.h: Likewise.
21566
21567 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21568
21569 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21570 for which failure is fatal.
21571
21572 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21573
21574 * util/grub-install.in: Use mkdir -p to create grub directory.
21575 * util/i386/efi/grub-install.in: Likewise.
21576 * util/ieee1275/grub-install.in: Likewise.
21577
21578 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21579
21580 * Makefile.in (LEX): new variable.
21581
21582 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21583
21584 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21585 `=' and added double quotes on operands of this equality test.
21586
21587 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21588
21589 * Makefile.in (uninstall): Remove a leftover debug echo.
21590 Reported by: Grégoire Sutre
21591
21592 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 MIPS multiboot2 support.
21595
21596 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21597 (multiboot2_mod_SOURCES): New variable.
21598 (multiboot2_mod_CFLAGS): Likewise.
21599 (multiboot2_mod_LDFLAGS): Likewise.
21600 (multiboot2_mod_ASFLAGS): Likewise.
21601 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21602 definition.
21603 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21604 (MULTIBOOT_MBI_REGISTER): Likewise.
21605 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21606 (MULTIBOOT_ELF32_MACHINE): Likewise.
21607 (MULTIBOOT_ELF64_MACHINE): Likewise.
21608 * include/grub/mips/multiboot.h: New file.
21609 * include/grub/video.h (grub_video_driver_id): New type
21610 GRUB_VIDEO_DRIVER_SM712.
21611 (grub_video_get_info_and_fini): Export.
21612 (grub_video_get_palette): Likewise.
21613 (grub_video_get_driver_id): Likewise.
21614 * include/multiboot2.h: Resynced with spec.
21615 * loader/i386/multiboot.c: Moved from here ...
21616 * loader/multiboot.c: ... here. All users updated.
21617 (grub_multiboot_boot): Use platform-specific macros.
21618 * loader/i386/multiboot_elfxx.c: Moved from here ...
21619 * loader/multiboot_elfxx.c: ... here. All users updated.
21620 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21621 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21622 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21623
21624 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 Import gnulib argp module.
21627
21628 * gnulib/argp-ba.c: New file.
21629 * gnulib/argp-eexst.c: Likewise.
21630 * gnulib/argp-fmtstream.c: Likewise.
21631 * gnulib/argp-fmtstream.h: Likewise.
21632 * gnulib/argp-fs-xinl.c: Likewise.
21633 * gnulib/argp-help.c: Likewise.
21634 * gnulib/argp-namefrob.h: Likewise.
21635 * gnulib/argp-parse.c: Likewise.
21636 * gnulib/argp-pin.c: Likewise.
21637 * gnulib/argp-pv.c: Likewise.
21638 * gnulib/argp-pvh.c: Likewise.
21639 * gnulib/argp-version-etc.c: Likewise.
21640 * gnulib/argp-version-etc.h: Likewise.
21641 * gnulib/argp-xinl.c: Likewise.
21642 * gnulib/argp.h: Likewise.
21643
21644 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 * kern/device.c (grub_device_iterate): Clear errors after failed
21647 opening device.
21648
21649 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21652 returned by firmware.
21653
21654 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21657 compilation on coreboot and qemu
21658
21659 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 * include/multiboot2.h: Resync with spec.
21662
21663 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21664
21665 Multiboot2 tag support
21666
21667 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21668 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21669 Remove loader/multiboot_loader.c.
21670 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21671 (grub_multiboot2_real_boot): Likewise.
21672 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21673 (grub_get_multiboot_mmap_count): New proto.
21674 (grub_fill_multiboot_mmap): Likewise.
21675 (grub_multiboot_set_video_mode): Likewise.
21676 (grub_multiboot_set_console): Likewise.
21677 (grub_multiboot_load): Likewise.
21678 (grub_multiboot_load_elf): Likewise.
21679 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21680 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21681 * include/multiboot.h: Resynced with specification.
21682 * include/multiboot2.h: Resynced with specification.
21683 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21684 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21685 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21686 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21687 users updated.
21688 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21689 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21690 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21691 Removed.
21692 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21693 Moved from here...
21694 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21695 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21696 Moved from here...
21697 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21698 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21699 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21700 All users updated.
21701 * loader/i386/multiboot_mbi2.c: New file.
21702
21703 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 Resync with gnulib.
21706
21707 * Makefile.in (GNULIB_CFLAGS): New variable.
21708 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21709 (grub_script_check_CFLAGS): New variable.
21710 * gnulib/alloca.h: Resync with gnulib.
21711 * gnulib/error.c: Likewise.
21712 * gnulib/error.h: Likewise.
21713 * gnulib/fnmatch.c: Likewise.
21714 * gnulib/fnmatch_loop.c: Likewise.
21715 * gnulib/getdelim.c: Likewise.
21716 * gnulib/getline.c: Likewise.
21717 * gnulib/getopt.c: Likewise.
21718 * gnulib/getopt1.c: Likewise.
21719 * gnulib/getopt_int.h: Likewise.
21720 * gnulib/gettext.h: Likewise.
21721 * gnulib/progname.c: Likewise.
21722 * gnulib/progname.h: Likewise.
21723
21724 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21725
21726 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21727 which is the case with --disabled-nls.
21728
21729 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21730 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21731 * util/misc.c: Likewise.
21732 * util/mkisofs/mkisofs.c: Likewise.
21733 * util/mkisofs/mkisofs.h: Likewise.
21734
21735 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 Simplify Apple CC support.
21738
21739 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21740 Add 0 byte at the end not to have a symbol with empty target.
21741 * mmap/i386/pc/mmap_helper.S: Likewise.
21742 * genmk.rb: Ignore errors 2030 and 2050.
21743 * kern/i386/pc/startup.S: Use LOCAL when possible.
21744
21745 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21746
21747 Testcase and the fix for final semicolon on cmdline.
21748
21749 * tests/grub_script_final_semicolon.in: New testcase.
21750 * conf/tests.rmk: Rules for the new testcase.
21751 * script/parser.y: Grammar fix.
21752
21753 2010-03-26 BVK Chaitanya <bvk@localhost>
21754
21755 Blank lines testcase for GRUB script.
21756
21757 * tests/grub_script_blanklines.in: New testcase.
21758 * conf/tests.rmk: Rules for the new testcase.
21759
21760 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 Don't use __FILE__.
21763
21764 * genmk.rb: Add -DGRUB_FILE to all C targets.
21765 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21766 * include/grub/list.h: Likewise.
21767 * include/grub/misc.h: Likewise.
21768 * include/grub/mm.h: Likewise.
21769 * include/grub/test.h: Likewise.
21770 * kern/mm.c: Likewise.
21771 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21772
21773 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21774
21775 Sunpc partitions support.
21776
21777 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21778 (grub_fstest_SOURCES): Likewise.
21779 (pkglib_MODULES): Add part_sunpc.mod.
21780 (part_sunpc_mod_SOURCES): New variable.
21781 (part_sunpc_mod_CFLAGS): Likewise.
21782 (part_sunpc_mod_LDFLAGS): Likewise.
21783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21784 * partmap/sunpc.c: New file.
21785
21786 2010-03-26 BVK Chaitanya <bvk@localhost>
21787
21788 For loop support to GRUB script.
21789
21790 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21791 (grub_script_create_cmdfor): New function prototype.
21792 (grub_script_execute_cmdfor): New function prototype.
21793 * script/execute.c (grub_script_execute_cmdfor): New function.
21794 * script/parser.y (command): New for command.
21795 (forcmd): New grammar rule.
21796 * script/script.c (grub_script_create_cmdfor): New function.
21797 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21798 function.
21799 * tests/grub_script_for1.in: New testcase.
21800 * conf/tests.rmk: Rules for new testcase.
21801
21802 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Nested partitions
21805
21806 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21807 'partition' is NULL, grub_partition_get_start already does that.
21808 * commands/loadenv.c (check_blocklists): Likewise.
21809 (write_blocklists): Likewise.
21810 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21811 (grub_fstest_SOURCES): Likewise.
21812 (pkglib_MODULES): Add part_bsd.mod.
21813 (part_bsd_mod_SOURCES): New variable.
21814 (part_bsd_mod_CFLAGS): Likewise.
21815 (part_bsd_mod_LDFLAGS): Likewise.
21816 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21817 (grub_emu_SOURCES): Likewise.
21818 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21819 * include/grub/bsdlabel.h: New file.
21820 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21821 'get_name'.
21822 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21823 (grub_partition_map_list): New variable.
21824 (grub_partition_map_register): Inline.
21825 (grub_partition_map_unregister): Likewise.
21826 (FOR_PARTITION_MAPS): New macro.
21827 (grub_partition_map_iterate): Removed.
21828 (grub_partition_get_start): Handle nested partitions.
21829 * include/grub/msdos_partition.h: Remove bsd-related entries.
21830 (grub_pc_partition): Remove.
21831 * kern/disk.c (grub_disk_close): Free partition data.
21832 (grub_disk_adjust_range): Handle nested partitions.
21833 * kern/partition.c (grub_partition_map_probe): New function.
21834 (grub_partition_probe): Parse name to number, handle subpartitions.
21835 (get_partmap): New function.
21836 (grub_partition_iterate): Handle subpartitions.
21837 (grub_partition_get_name): Likewise.
21838 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21839 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21840 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21841 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21842 Set 'number'.
21843 (acorn_partition_map_probe): Remove.
21844 (acorn_partition_map_get_name): Likewise.
21845 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21846 Set 'number'.
21847 Set 'index' to 0 since there can be only one partition entry per sector.
21848 (amiga_partition_map_probe): Remove.
21849 (amiga_partition_map_get_name): Likewise.
21850 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21851 Set 'number'.
21852 Set 'offset' and 'index' to real positions of partitions.
21853 (apple_partition_map_probe): Remove.
21854 (apple_partition_map_get_name): Likewise.
21855 * partmap/bsdlabel.c: New file.
21856 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21857 Set 'number'.
21858 Allocate 'data' so it can be correctly freed.
21859 Set 'index' to offset inside sector.
21860 (gpt_partition_map_probe): Remove.
21861 (gpt_partition_map_get_name): Likewise.
21862 * partmap/msdos.c (grub_partition_parse): Remove.
21863 (pc_partition_map_iterate): Don't force raw access.
21864 Set 'number'.
21865 Make 'ext_offset' a local variable.
21866 (pc_partition_map_probe): Remove.
21867 (pc_partition_map_get_name): Remove.
21868 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21869 Set 'number'.
21870 (sun_partition_map_probe): Remove.
21871 (sun_partition_map_get_name): Likewise.
21872 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21873 (grub_pcpart_type): Likewise.
21874 * util/hostdisk.c (open_device): Handle new numbering scheme.
21875 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21876 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21877 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21878 * util/grub-install.in: Insert all subpartition modules.
21879 * util/ieee1275/grub-install.in: Likewise.
21880
21881 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21882
21883 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21884 grammar.
21885
21886 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21887
21888 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21889
21890 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21891
21892 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21893 match where 'make install' puts them.
21894 * util/i386/efi/grub-install.in: Likewise.
21895
21896 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21897
21898 * .bzrignore: Add gentrigtables, grub-script-check,
21899 grub_script_check_init.c, grub_script_check_init.h, and
21900 trigtables.c.
21901
21902 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * kern/parser.c: Indented.
21905
21906 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21909
21910 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21913 alpha_mask_size == 0 case.
21914
21915 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21916
21917 GRUB shell lexer and parser improvements.
21918
21919 * conf/any-emu.rmk: Build rule updates.
21920 * conf/common.rmk: Likewise.
21921 * conf/i386-coreboot.rmk: Likewise.
21922 * conf/i386-efi.rmk: Likewise.
21923 * conf/i386-ieee1275.rmk: Likewise.
21924 * conf/i386-pc.rmk: Likewise.
21925 * conf/powerpc-ieee1275.rmk: Likewise.
21926 * conf/x86_64-efi.rmk: Likewise.
21927
21928 * configure.ac: Configure check for flex.
21929
21930 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21931 types.
21932 (grub_lexer_param): Struct member updates.
21933 (grub_parser_param): Likewise.
21934 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21935 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21936 (grub_script_lexer_init): Prototype update.
21937 (grub_script_lexer_record_start): Likewise.
21938 (grub_script_lexer_record_stop): Likewise.
21939 (grub_script_lexer_yywrap): New function prototype.
21940 (grub_script_lexer_fini): Likewise.
21941 (grub_script_execute_argument_to_string): Removed by...
21942 (grub_script_execute_argument_to_argv): ...better version.
21943
21944 * script/execute.c (ROUND_UPTO): New macro.
21945 (grub_script_execute_cmdline): Out of memory fixes.
21946 (grub_script_execute_menuentry): Likewise.
21947 (grub_script_execute_argument_to_string): Removed. Update all
21948 users by...
21949 (grub_script_execute_argument_to_argv): ...better version.
21950 * script/function.c (grub_script_function_create): Use
21951 grub_script_execute_argument_to_argv instead of
21952 grub_script_execute_argument_to_string.
21953
21954 * script/lexer.c (check_varstate): Removed.
21955 (check_textstate): Removed.
21956 (grub_script_lexer_record_start): Likewise.
21957 (grub_script_lexer_record_stop): Likewise.
21958 (recordchar): Replaced with...
21959 (grub_script_lexer_record): ...new function.
21960 (nextchar): Removed.
21961 (grub_script_lexer_init): Rewritten.
21962 (grub_script_yylex): Rewritten.
21963 (append_newline): New function.
21964 (grub_script_lexer_yywrap): New function.
21965 (grub_script_lexer_fini): New function.
21966 (grub_script_yyerror): Sets error flag.
21967
21968 * script/yylex.l: New file.
21969 (grub_lexer_yyfree): Wrapper for flex yyffre.
21970 (grub_lexer_yyalloc): Likewise.
21971 (grub_lexer_yyrealloc): Likewise.
21972 * script/parser.y: Refactored.
21973
21974 * script/script.c (grub_script_arg_add): Out of memory fixes.
21975 (grub_script_add_arglist): Likewise.
21976 (grub_script_create_cmdline): Likewise.
21977 (grub_script_create_cmdmenu): Likewise.
21978 (grub_script_add_cmd): Likewise.
21979 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21980 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21981 unnecessary code.
21982
21983 * tests/grub_script_echo1.in: New testcase.
21984 * tests/grub_script_vars1.in: New testcase.
21985 * tests/grub_script_echo_keywords.in: New testcase.
21986
21987 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21988
21989 Remove some redundancy in build system.
21990
21991 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21992 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21993 (TARGET_LDFLAGS): Add -nostdlib.
21994 (TARGET_IMG_LDFLAGS): Likewise.
21995 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21996 anything since mmap isn't available.
21997 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21998 Add util/time.c.
21999 (pkglib_MODULES): Remove reboot.mod.
22000 (reboot_mod_SOURCES): Removed.
22001 (reboot_mod_CFLAGS): Likewise.
22002 (reboot_mod_LDFLAGS): Likewise.
22003 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22004 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22005 (DEFSYMFILES): Add kernel_syms.lst.
22006 (kernel_img_HEADERS): Add common headers.
22007 (symlist.c): New target.
22008 (kernel_syms.lst): Likewise.
22009 (pkglib_MODULES): Add memdisk.mod.
22010 (memdisk_mod_SOURCES): New variable.
22011 (memdisk_mod_CFLAGS): Likewise.
22012 (memdisk_mod_LDFLAGS): Likewise.
22013 (pkglib_MODULES): Add reboot.mod.
22014 (reboot_mod_SOURCES): New variable.
22015 (reboot_mod_CFLAGS): Likewise.
22016 (reboot_mod_LDFLAGS): Likewise.
22017 (pkglib_MODULES): Add date.mod.
22018 (date_mod_SOURCES): New variable.
22019 (date_mod_CFLAGS): Likewise.
22020 (date_mod_LDFLAGS): Likewise.
22021 (pkglib_MODULES): Add datehook.mod.
22022 (datehook_mod_SOURCES): New variable.
22023 (datehook_mod_CFLAGS): Likewise.
22024 (datehook_mod_LDFLAGS): Likewise.
22025 (pkglib_MODULES): Add lsmmap.mod.
22026 (lsmmap_mod_SOURCES): New variable.
22027 (lsmmap_mod_CFLAGS): Likewise.
22028 (lsmmap_mod_LDFLAGS): Likewise.
22029 (pkglib_MODULES): Add boot.mod.
22030 (boot_mod_SOURCES): New variable.
22031 (boot_mod_CFLAGS): Likewise.
22032 (boot_mod_LDFLAGS): Likewise.
22033 * conf/i386-coreboot.rmk: Removed redundant parts.
22034 * conf/i386-ieee1275.rmk: Likewise.
22035 * conf/i386-pc.rmk: Likewise.
22036 * conf/mips-yeeloong.rmk: Likewise.
22037 * conf/mips.rmk: Likewise.
22038 * conf/powerpc-ieee1275.rmk: Likewise.
22039 * conf/sparc64-ieee1275.rmk: Likewise.
22040 * conf/x86_64-efi.rmk: Likewise.
22041 * conf/i386-coreboot.rmk: Moved qemu parts ..
22042 * conf/i386-qemu.rmk: ... here
22043 * conf/i386-efi.rmk: Moved common parts to...
22044 * conf/x86-efi.rmk: ... here.
22045 * conf/i386.rmk: Added modules common to all x86 variants.
22046 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22047 * disk/memdisk.c: Remove grub/machine/kernel.h.
22048 * gensymlist.sh.in: Include symbol.h.
22049 * hook/datehook.c: Correct module name.
22050 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22051 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22052 * include/grub/i386/efi/serial.h: New file.
22053 * include/grub/x86_64/efi/serial.h: Likewise.
22054 * util/time.c: Likewise.
22055 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22056
22057 2010-03-14 Colin King <colin.king@ubuntu.com>
22058 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22059
22060 Shrink the pre-partition-table part of boot.img by eight bytes.
22061
22062 * boot/i386/pc/boot.S (ERR): New macro.
22063 (chs_mode): Use ERR.
22064 (geometry_error): Likewise.
22065 (hd_probe_error): Remove. This is only used once, so we wrwite
22066 it inline instead.
22067 (read_error): Instead of printing read_error_string, just set up
22068 %si and fall through to ...
22069 (error_message): ... this new function, also used by ERR.
22070
22071 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22072
22073 Speed up consecutive hostdisk operations on the same device.
22074
22075 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22076 (grub_util_biosdisk_open): Initialise disk->data.
22077 (struct linux_partition_cache): New structure.
22078 (linux_find_partition): Cache partition start positions; these are
22079 expensive to compute on every read and write.
22080 (open_device): Cache open file descriptor in disk->data, so that we
22081 don't have to reopen it and flush the buffer cache for consecutive
22082 operations on the same device.
22083 (grub_util_biosdisk_close): New function.
22084 (grub_util_biosdisk_dev): Set `close' member.
22085
22086 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22087 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22088 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22089 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22090 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22091
22092 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22093
22094 Compile parts of grub-emu as modules.
22095
22096 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22097 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22098 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22099 (all-local): Add $(GRUB_EMU).
22100 (install-local): Install $(GRUB_EMU).
22101 (uninstall): Uninstall $(GRUB_EMU).
22102 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22103 * kern/dl.c: Likewise.
22104 * commands/sleep.c: Not include machine/time.h.
22105 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22106 (COMMON_CFLAGS): Likewise.
22107 (sbin_UTILITIES): Remove grub-emu.
22108 (grub_emu_SOURCES): Removed.
22109 (kernel_img_RELOCATABLE): New variable.
22110 (pkglib_PROGRAMS): Add kernel.img.
22111 (kernel_img_SOURCES): New variable
22112 (kernel_img_CFLAGS): Likewise.
22113 (kernel_img_LDFLAGS): Likewise.
22114 (TARGET_NO_STRIP): Likewise.
22115 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22116 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22117 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22118 (grub-emu): New target.
22119 (GRUB_EMU): New variable.
22120 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22121 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22122 * loader/xnu.c: Likewise.
22123 * include/grub/pci.h: Likewise.
22124 * genemuinit.sh: New file.
22125 * genemuinitheader.sh: Likewise.
22126 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22127 Support TARGET_NO_DYNAMIC_MODULES.
22128 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22129 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22130 * disk/loopback.c: Likewise.
22131 * font/font_cmd.c: Likewise.
22132 * partmap/acorn.c: Likewise.
22133 * partmap/amiga.c: Likewise.
22134 * partmap/apple.c: Likewise.
22135 * partmap/gpt.c: Likewise.
22136 * partmap/msdos.c: Likewise.
22137 * partmap/sun.c: Likewise.
22138 * parttool/msdospart.c: Likewise.
22139 * term/gfxterm.c: Likewise.
22140 * video/bitmap.c: Likewise.
22141 * video/readers/jpeg.c: Likewise.
22142 * video/readers/png.c: Likewise.
22143 * video/readers/tga.c: Likewise.
22144 * video/video.c: Likewise.
22145 * util/grub-emu.c (read_command_list): Removed.
22146 (main): Don't call util_init_nls.
22147 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22148 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22149
22150 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22151
22152 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22153 date.mod, datehook.mod.
22154 (datetime_mod_SOURCES): New variable.
22155 (datetime_mod_CFLAGS): Likewise.
22156 (datetime_mod_LDFLAGS): Likewise.
22157 (date_mod_SOURCES): Likewise.
22158 (date_mod_CFLAGS): Likewise.
22159 (date_mod_LDFLAGS): Likewise.
22160 (datehook_mod_SOURCES): Likewise.
22161 (datehook_mod_CFLAGS): Likewise.
22162 (datehook_mod_LDFLAGS): Likewise.
22163 * conf/sparc64-ieee1275.rmk: Likewise.
22164 * lib/ieee1275/datetime.c: New file.
22165
22166 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22169 (ieee1275_fb_mod_SOURCES): New variable.
22170 (ieee1275_fb_mod_CFLAGS): Likewise.
22171 (ieee1275_fb_mod_LDFLAGS): Likewise.
22172 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22173 New proto.
22174 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22175 (HEAP_MAX_ADDR): Likewise.
22176 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22177 type.
22178 Correct stop condition.
22179 (grub_ieee1275_devices_iterate): New function.
22180 * video/ieee1275.c: New file.
22181
22182 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22183
22184 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22185
22186 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22187 as scratch.
22188 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22189 SCRATCH_PAD_DISKBOOT as scratch.
22190 (bootit): Pass Openfirmware pointer in %o4.
22191 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22192 of 0x200000.
22193 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22194 with util/grub-mkrawimage.c.
22195 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22196 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22197 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22198 (grub_aout_load) [GRUB_UTIL]: Likewise.
22199 * include/grub/kernel.h (grub_modules_get_end): New proto.
22200 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22201 (SCRATCH_PAD_BOOT): New definition.
22202 (SCRATCH_PAD_DISKBOOT): Likewise.
22203 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22204 * include/grub/sparc64/ieee1275/ieee1275.h
22205 (grub_ieee1275_original_stack): New variable
22206 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22207 New definition
22208 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22209 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22210 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22211 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22212 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22213 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22214 (grub_platform_image_format_t): New type.
22215 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22216 * kern/main.c (grub_modules_get_end)
22217 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22218 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22219 (codestart): Switch stacks.
22220 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22221 variable.
22222 (grub_heap_init): Use grub_modules_get_end.
22223 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22224 stack.
22225 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22226 (main): Likewise.
22227 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22228
22229 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
22230
22231 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22232
22233 2010-03-08 Matt Kraai <kraai@ftbfs.org>
22234
22235 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22236 bug #559005).
22237
22238 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22239
22240 * genmoddep.awk: Output all missing symbols and not only first.
22241
22242 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 * NEWS: Put the date of 1.98 release.
22245
22246 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22247
22248 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22249 ft2build.h.
22250
22251 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22254 completition in the middle of string.
22255
22256 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 * util/grub-mkrescue.in: Use mktemp with explicit template.
22259
22260 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22263
22264 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22265
22266 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22267 right pointer.
22268
22269 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Fix FreeBSD compilation.
22272
22273 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22274 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22275
22276 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22277
22278 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22279
22280 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22281
22282 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22283
22284 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22287
22288 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22289
22290 Support relative image path in theme file.
22291
22292 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22293 (image_set_property): Handle theme_dir and relative path.
22294
22295 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 * configure.ac: Alias amd64 to x86_64.
22298
22299 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22300
22301 * NEWS: mention multiboot on EFI.
22302
22303 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 * kern/main.c (grub_load_modules): Handle errors from init functions of
22306 embeded modules.
22307
22308 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22309
22310 * normal/autofs.c (autoload_fs_module): Handle errors.
22311
22312 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22313
22314 Disable linux.mod on qemu-mips since it's not functional and leads
22315 to compilation failure.
22316
22317 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22318 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22319 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22320 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22321 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22322 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22323 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22324 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22325 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22326 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22327 Reported by: BVK Chaitanya
22328
22329 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22330
22331 * INSTALL: Add gettext as a dependency and add qemu to a new section
22332 "Prerequisites for make-check".
22333
22334 2010-03-04 Christian Franke <franke@computer.org>
22335
22336 * util/grub-pe2elf.c: Add missing include "progname.h".
22337
22338 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22339
22340 * normal/crypto.c (read_crypto_list): Fix a typo.
22341 Reported by: Seth Goldberg.
22342
22343 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22344
22345 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
22346 Reported by: Seth Goldberg.
22347
22348 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22349
22350 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22351 ascii.bitmaps.
22352
22353 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22354
22355 * genmk.rb: Remove terminal*.lst in make clean.
22356 Reported by: Seth Goldberg.
22357
22358 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22359
22360 * util/i386/efi/grub-install.in: Copy gettext files.
22361
22362 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22365
22366 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22367
22368 Wait for user entry basing on presence of output rather than on errors.
22369
22370 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22371 (grub_install_newline_hook): Likewise.
22372 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22373 * normal/menu.c (show_menu): Check line_counter to determine presence
22374 of output.
22375 * normal/term.c (grub_normal_line_counter): New variable.
22376 (grub_normal_get_line_counter): New function.
22377 (grub_install_newline_hook): Likewise.
22378
22379 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22382
22383 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * configure.ac: Update version to 1.98.
22386
22387 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * util/grub.d/10_linux.in (linux_entry): Don't default to
22390 gfxpayload=keep if Linux doesn't support video handover.
22391
22392 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 Don't compile video modules on yeeloong since video subsystem is part
22395 of kernel.
22396
22397 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22398 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22399 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22400 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22401 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22402 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22403 * include/grub/bitmap_scale.h: Likewise.
22404 * include/grub/bufio.h: Likewise.
22405 * include/grub/font.h: Likewise.
22406 * include/grub/gfxterm.h: Likewise.
22407 * include/grub/video.h: Likewise.
22408 * include/grub/vbe.h: Don't include video_fb.h.
22409 * video/i386/pc/vbe.c: Include video_fb.h.
22410 * commands/i386/pc/vbetest.c: Include video.h.
22411
22412 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22413
22414 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22415 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22416 default entry if GRUB_SAVEDEFAULT=true. This allows using
22417 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22418 saving a new default on every boot.
22419
22420 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22423 * normal/term.c (read_terminal_list): Likewise.
22424 * normal/main.c (grub_normal_init_page): Likewise.
22425 (grub_normal_read_line_real): Likewise.
22426
22427 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22430 memory leak.
22431 Reported by: Seth Goldberg.
22432
22433 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22434
22435 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22436 duplicate declaration of `start'.
22437
22438 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22439
22440 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22441 filename.
22442 Reported by: Georgy Buranov
22443
22444 2010-02-20 Carles Pina i Estany <carles@pina.cat>
22445
22446 * util/grub-mkrawimage.c (usage): Change string formatting to
22447 improve gettext.
22448
22449 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22450
22451 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22452 backspace keys.
22453
22454 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22457 Reported by: Michael Suchanek.
22458
22459 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
22460
22461 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22462 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22463
22464 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22465
22466 Remove any reference to non-free fonts.
22467
22468 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22469 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22470 uses non-free components.
22471 * font/font.c (grub_font_get_name): Remove example name.
22472 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22473 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22474 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22475 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22476
22477 2010-02-16 Georgy Buranov <gburanov@gmail.com>
22478
22479 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22480
22481 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22482
22483 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22484 Double divisor.
22485 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22486 features.
22487 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22488
22489 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22492
22493 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22494
22495 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22496 * docs/grub.texi (Command-line and menu entry commands): Document play
22497 command.
22498
22499 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22500
22501 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22502 parse arguments as inline tempo and notes. Move code for playing notes
22503 to...
22504 (play): ... new function.
22505
22506 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22507
22508 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22509 grub_uint16_t instead of short.
22510 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22511 disk from little endian to cpu endianness.
22512
22513 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22514
22515 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22516 GRUB_TICKS_PER_SECOND instead of 120.
22517
22518 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22519
22520 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22521 escape sequence after \e.
22522
22523 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22524
22525 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22526 non-ASCII characters.
22527
22528 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22529
22530 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22531 set root in single quotes to prevent \, from being unescaped.
22532
22533 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 Prevent unknown commands from stopping menuentry execution.
22536
22537 * script/execute.c (grub_script_execute_cmdline): Print error after
22538 unknown command.
22539
22540 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22543 Reported by: Pavel Pisa.
22544
22545 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22548
22549 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 Merge grub_ieee1275_map_physical into grub_map and rename to
22552 grub_ieee1275_map
22553
22554 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22555 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22556 Remove.
22557 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22558 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22559 necessary.
22560 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22561
22562 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22563
22564 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22565 opening and not after.
22566
22567 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22570 constants.
22571
22572 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22573
22574 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22575 (alloc_phys): Use ALIGN_UP instead of align_addr.
22576
22577 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22580
22581 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22584
22585 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22588 verbose dprintf.
22589
22590 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 Fix over-4GiB seek on sparc64.
22593
22594 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22595 Replace pos_i and pos_lo with pos. All users updated.
22596 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22597 New constant.
22598 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22599 Likewise.
22600 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22601 and pos_lo.
22602
22603 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22604
22605 * util/grub-mkrawimage.c (main): Call set_program_name.
22606
22607 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22608
22609 Properly align 64-bit targets.
22610
22611 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22612 (generate_image): Use ALIGN_ADDR.
22613
22614 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22615
22616 Properly create cross-endian images.
22617
22618 * include/grub/types.h (grub_host_to_target_addr): New macro
22619 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22620
22621 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22624
22625 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22626
22627 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22628
22629 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22630 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22631 (grub_linux_boot): Divide by 64K when on VESA.
22632
22633 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 Support GRUB_GFXPAYLOAD_LINUX.
22636
22637 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22638 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22639
22640 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22643 to show messages instead of discarding them.
22644 Process errors after executing command and not before. Keep old method
22645 too as precaution.
22646
22647 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22648
22649 * configure.ac: Check for ft2build.h.
22650
22651 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22652
22653 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22654
22655 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 * genkernsyms.sh.in: Use TARGET_CC.
22658
22659 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
22660
22661 * NEWS: Update.
22662
22663 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22664
22665 * include/grub/multiboot2.h: Remove leftover file.
22666 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22667 * include/grub/partition.h [GRUB_UTIL]: Likewise.
22668
22669 2010-02-07 Yves Blusseau <blusseau@zetam.org>
22670
22671 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
22672
22673 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 Fix warnings in grub-emu when compiling with maximum warning options.
22676
22677 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22678 (grub_arch_modules_addr): Return 0 and not NULL.
22679 * util/misc.c (ENABLE_RELOCATABLE): New definition.
22680 (xstrdup): Use newstr instead of dup.
22681 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22682 of disk to dsk to avoid shadowing.
22683 (find_free_slot): Fix prototype.
22684 * util/getroot.c (grub_util_is_dmraid): Make static.
22685 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22686 Add missing prototype.
22687 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22688
22689 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22692 appropriately.
22693
22694 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22697 code out.
22698
22699 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22700
22701 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22702 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22703 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22704 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22705 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22706 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22707
22708 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 * include/grub/err.h (grub_err_printf): Don't export.
22711
22712 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22713
22714 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22715
22716 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22717
22718 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22719 * kern/misc.c (grub_gettext_dummy): Make static.
22720
22721 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22724 by non-valid ones.
22725 * kern/term.c (grub_putchar): Likewise.
22726
22727 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22730 buggy hook call and memory leak.
22731
22732 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22735
22736 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22739
22740 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22743 modevar.
22744 Return grub_errno on allocation error.
22745
22746 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22749
22750 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22751
22752 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22753 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22754
22755 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22756
22757 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22758 non-pxe disk.
22759 (grub_pxefs_open): Likewise.
22760
22761 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22762
22763 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22764 * util/grub.d/10_kfreebsd.in: Likewise.
22765 * util/grub.d/10_linux.in: Likewise.
22766
22767 2010-02-06 Colin D Bennett <colin@gibibit.com>
22768
22769 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22770 (gfxmenu_mod_SOURCES): New variable.
22771 (gfxmenu_mod_CFLAGS): Likewise.
22772 (gfxmenu_mod_LDFLAGS): Likewise.
22773 * include/grub/term.h (grub_term_set_current_output): Declare
22774 argument as const.
22775 * docs/gfxmenu-theme-example.txt: New file.
22776 * gfxmenu/gfxmenu.c: Likewise.
22777 * gfxmenu/gui_box.c: Likewise.
22778 * gfxmenu/gui_canvas.c: Likewise.
22779 * gfxmenu/gui_circular_progress.c: Likewise.
22780 * gfxmenu/gui_image.c: Likewise.
22781 * gfxmenu/gui_label.c: Likewise.
22782 * gfxmenu/gui_list.c: Likewise.
22783 * gfxmenu/gui_progress_bar.c: Likewise.
22784 * gfxmenu/gui_string_util.c: Likewise.
22785 * gfxmenu/gui_util.c: Likewise.
22786 * gfxmenu/icon_manager.c: Likewise.
22787 * gfxmenu/model.c: Likewise.
22788 * gfxmenu/named_colors.c: Likewise.
22789 * gfxmenu/theme_loader.c: Likewise.
22790 * gfxmenu/view.c: Likewise.
22791 * gfxmenu/widget-box.c: Likewise.
22792 * include/grub/gfxmenu_model.h: Likewise.
22793 * include/grub/gfxmenu_view.h: Likewise.
22794 * include/grub/gfxwidgets.h: Likewise.
22795 * include/grub/gui.h: Likewise.
22796 * include/grub/gui_string_util.h: Likewise.
22797 * include/grub/icon_manager.h: Likewise.
22798
22799 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22800
22801 Agglomerate scrolling in gfxterm.
22802
22803 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22804 (grub_virtual_screen_setup): Initialise 'total_screen'.
22805 (write_char): Split to ...
22806 (paint_char): ... this ...
22807 (write_char): ... and this.
22808 (paint_char): Handle delayed scrolling.
22809 (draw_cursor): Likewise.
22810 (scroll_up): Split to ...
22811 (real_scroll): ... this ...
22812 (scroll_up): ... and this.
22813 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22814 characters.
22815 (grub_gfxterm_refresh): Call real_scroll.
22816
22817 2010-02-06 Colin D Bennett <colin@gibibit.com>
22818
22819 * include/grub/misc.h (grub_iscntrl): New inline function.
22820 (grub_isalnum): Likewise.
22821 (grub_strtol): Likewise.
22822
22823 2010-02-06 Colin D Bennett <colin@gibibit.com>
22824
22825 * normal/menu_text.c (get_entry_number): Move from here ...
22826 * normal/menu.c (get_entry_number): ... moved here.
22827 * include/grub/menu.h (grub_menu_get_default_entry_index):
22828 New prototype.
22829 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22830 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22831 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22832 (grub_menu_viewer_should_return): Likewise.
22833 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22834 * normal/menu_text.c (run_menu): Enable menu switching.
22835 * normal/menu_viewer.c (should_return): New variable.
22836 (menu_viewer_changed): Likewise.
22837 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22838 (grub_menu_viewer_should_return): New function.
22839 (menuviewer_write_hook): Likewise.
22840 (grub_menu_viewer_init): Likewise.
22841
22842 2010-02-06 Colin D Bennet <colin@gibibit.com>
22843 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 Support for gfxterm in a window.
22846
22847 * include/grub/gfxterm.h: New file.
22848 * include/grub/video.h (struct grub_video_rect): New declaration.
22849 (grub_video_rect_t): Likewise.
22850 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22851 (refcount): New variable.
22852 (render_target): Likewise.
22853 (window): Likewise.
22854 (repaint_callback): Likewise.
22855 (grub_virtual_screen_setup): Use 'render_target'.
22856 (init_window): New function.
22857 (grub_gfxterm_init_window): Likewise.
22858 (grub_gfxterm_init): Check reference counter.
22859 Use init_window.
22860 (destroy_window): New function.
22861 (grub_gfxterm_destroy_window): Likewise.
22862 (grub_gfxterm_fini): Check reference counter.
22863 Use destroy_window.
22864 (redraw_screen_rect): Restore viewport.
22865 Use 'render_target' and 'window'.
22866 Call 'repaint_callback'.
22867 (write_char): Use 'render_target'.
22868 (draw_cursor): Likewise.
22869 (scroll_up): Restore viewport.
22870 Use 'render_target' and 'window'.
22871 Call 'repaint_callback'.
22872 (grub_gfxterm_cls): Likewise.
22873 (grub_gfxterm_refresh): Use 'window'.
22874 (grub_gfxterm_set_repaint_callback): New function.
22875 (grub_gfxterm_background_image_cmd): Use 'window'.
22876 (grub_gfxterm_get_term): New function.
22877 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22878
22879 2010-02-06 Colin D Bennett <colin@gibibit.com>
22880
22881 Bitmap scaling support.
22882
22883 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22884 (bitmap_scale_mod_SOURCES): New variable.
22885 (bitmap_scale_mod_CFLAGS): Likewise.
22886 (bitmap_scale_mod_LDFLAGS): Likewise.
22887 * include/grub/bitmap_scale.h: New file.
22888 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22889 (background_image_cmd_options): New variable.
22890 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22891 (cmd): Rename and change type to ...
22892 (background_image_cmd_handle): ... this. All users updated.
22893 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22894 * video/bitmap_scale.c: New file.
22895
22896 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 SDL support.
22899
22900 * Makefile.in (LIBSDL): New variable.
22901 (enable_grub_emu_sdl): Likewise.
22902 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22903 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22904 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22905 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22906 * util/sdl.c: New file.
22907
22908 2010-02-06 Colin D Bennett <colin@gibibit.com>
22909 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22910
22911 Double buffering support.
22912
22913 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22914 * include/grub/video.h: Update comment.
22915 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22916 New type.
22917 (grub_video_fb_doublebuf_blit_init): New prototype.
22918 * term/gfxterm.c (scroll_up): Support double buffering.
22919 (grub_gfxterm_refresh): Likewise.
22920 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22921 (grub_video_fb_doublebuf_blit_init): Likewise.
22922 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22923 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22924 'displayed_page', 'render_page' and 'update_screen'.
22925 (grub_video_vbe_fini): Free offscreen buffer.
22926 (doublebuf_pageflipping_commit): New function.
22927 (doublebuf_pageflipping_update_screen): Likewise.
22928 (doublebuf_pageflipping_init): Likewise.
22929 (double_buffering_init): Likewise.
22930 (grub_video_vbe_setup): Enable doublebuffering.
22931 (grub_video_vbe_swap_buffers): Implement.
22932 (grub_video_vbe_set_active_render_target): Handle double buffering.
22933 (grub_video_vbe_get_active_render_target): Likewise.
22934 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22935 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22936 (grub_video_vbe_enable_double_buffering): Likewise.
22937 (grub_video_vbe_swap_buffers): Use update_screen.
22938 (grub_video_set_mode): Use double buffering.
22939
22940 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22941
22942 * maintainance/gentrigtables.py: Remove.
22943 * lib/trig.c: Likewise.
22944
22945 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22946
22947 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22948 `trigtables.c'.
22949 (trigtables.c): New rule.
22950 (gentrigtables): Likewise.
22951 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22952
22953 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22954
22955 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22956 integer constants.
22957
22958 2010-02-06 Colin D Bennet <colin@gibibit.com>
22959
22960 Trigonometry support.
22961
22962 * include/grub/trig.h: New file.
22963 * lib/trig.c: Likewise.
22964 * maintainance/gentrigtables.py: Likewise.
22965 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22966 (trig_mod_SOURCES): New variable.
22967 (trig_mod_CFLAGS): Likewise.
22968 (trig_mod_LDFLAGS): Likewise.
22969
22970 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22971
22972 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22973 disk devices.
22974
22975 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22976
22977 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22978 error.
22979
22980 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22981
22982 * util/hostdisk.c (open_device): Don't use partition device when reading
22983 before the partition.
22984 (grub_util_biosdisk_read): Don't read from partition and before the
22985 partition in single operation.
22986 (grub_util_biosdisk_write): Don't write to partition and before the
22987 partition in single operation.
22988
22989 2010-02-03 Torsten Landschoff <torsten@debian.org>
22990
22991 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22992 last sectors.
22993
22994 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22997 CDROM reads.
22998 (grub_biosdisk_write): Refuse to write to CDROM.
22999
23000 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23003
23004 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 * font/font.c (find_glyph): Check that bmp_idx is available before
23007 using it.
23008 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23009 with (font == NULL).
23010
23011 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
23012
23013 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23014
23015 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23016
23017 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23018 * util/grub-script-check.c (getline): Fix empty lines case.
23019
23020 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23021
23022 * Makefile.in (check): Exit with fail status when one of the tests
23023 fails.
23024 * tests/example_functional_test.c (example_test): Fix reversed assert.
23025 * tests/example_unit_test.c (example_test): Likewise.
23026
23027 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
23028
23029 * util/grub.d/10_linux.in: This script does not use any of the
23030 contents of gettext.sh, only the external command `gettext', so stop
23031 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23032 the same prefix as GRUB.)
23033 * util/grub.d/10_kfreebsd.in: Likewise.
23034
23035 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23038 of the line.
23039
23040 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23043 last sectors.
23044
23045 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23046
23047 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23048 having a 4KiB and not 32KiB buffer size.
23049
23050 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23051
23052 * util/hostfs.c: Include `<errno.h>'.
23053 (grub_hostfs_read): Handle errors from fseeko() and fread().
23054
23055 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23056
23057 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23058 loop when using read hooks on files whose size isn't sector-aligned.
23059
23060 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23061
23062 Remove unused parameter.
23063
23064 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23065 (grub_iso9660_open): Remove initialization of `data->length'.
23066
23067 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23068
23069 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23070 memleak conditions.
23071
23072 2010-01-27 Carles Pina i Estany <carles@pina.cat>
23073
23074 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23075 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23076
23077 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23078
23079 * util/bin2h.c (usage): Fix warning (space after backslash).
23080
23081 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23082
23083 * font/font.c: Include `grub/fontformat.h.
23084 Remove font file format constants.
23085 (grub_font_load): Use the new macros.
23086 * include/grub/fontformat.h: New file.
23087 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23088 (write_font_pf2): Use the new macros.
23089
23090 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23091
23092 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23093 does.
23094
23095 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23096
23097 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23098
23099 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23100 (_start): Macroify `0x7F'.
23101
23102 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23103 (make_install_device): Use "(pxe)" as fallback prefix when booting
23104 via PXE.
23105
23106 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 * configure.ac: Reset LIBS after check for libgcc symbols.
23109
23110 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
23111
23112 * util/hostdisk.c (open_device): Add trailing newline to debug
23113 message.
23114
23115 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23116
23117 * configure.ac: Check for `limits.h'.
23118 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23119
23120 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23121
23122 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23123 capitalize error strings.
23124
23125 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23126
23127 * util/grub.d/10_hurd.in: Add a recovery mode.
23128
23129 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 * configure.ac: Check for libgcc symbols with -nostdlib.
23132
23133 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23134
23135 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23136
23137 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23138
23139 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23140 stack since heap may be unavailable at that point.
23141 (grub_ofconsole_gotoxy): Likewise.
23142
23143 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 * configure.ac: Check for _restgpr_14_x.
23146 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23147 and _savegpr_* prototypes.
23148
23149 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23150
23151 Use generic grub_reboot() for i386-efi.
23152
23153 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23154 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23155 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23156
23157 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23160 presence of "prefix" variable as it breaks when normal.mod is
23161 embedded.
23162
23163 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23164
23165 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23166 stack since heap is unavailable at that point.
23167
23168 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23169
23170 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23171 (grub_freebsd_bootinfo): Rewritten.
23172 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23173
23174 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23175
23176 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23177
23178 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23181 domain now.
23182
23183 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
23184
23185 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23186 around for handling "/" to the correct fix. Fix a memory leak. Use
23187 xstrdup instead of strdup.
23188
23189 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23190
23191 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23192
23193 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23196
23197 * font/font.c (struct grub_font): New member 'bmp_idx'.
23198 (font_init): Initialise 'bmp_idx'.
23199 (load_font_index): Fill 'bmp_idx'.
23200 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23201
23202 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23203
23204 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23205 unnecessary calls.
23206
23207 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 Move context handling out of the kernel.
23210
23211 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23212 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23213 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23214 * conf/i386-efi.rmk: Likewise.
23215 * conf/i386-ieee1275.rmk: Likewise.
23216 * conf/i386-pc.rmk: Likewise.
23217 * conf/powerpc-ieee1275.rmk: Likewise.
23218 * conf/sparc64-ieee1275.rmk: Likewise.
23219 * conf/x86_64-efi.rmk: Likewise.
23220 * include/grub/env.h: Include grub/menu.h.
23221 (grub_env_var_type): Removed.
23222 (grub_env_var): Replaced field 'type' with 'global'.
23223 (grub_env_find): New prototype.
23224 (grub_env_context_open): Remove EXPORT_FUNC.
23225 (grub_env_context_close): Likewise.
23226 (grub_env_export): Likewise.
23227 (grub_env_set_data_slot): Removed.
23228 (grub_env_get_data_slot): Likewise.
23229 (grub_env_unset_data_slot): Likewise.
23230 (grub_env_unset_menu): New prototype.
23231 (grub_env_set_menu): Likewise.
23232 (grub_env_get_menu): Likewise.
23233 * include/grub/env_private.h: New file.
23234 * include/grub/normal.h (grub_context_init): New prototype.
23235 (grub_context_fini): Likewise.
23236 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23237 * normal/context.c (grub_cmd_export): ... to here.
23238 * kern/env.c: Include env_private.h.
23239 (HASHSZ): Moved to include/grub/env_private.h.
23240 (grub_env_context): Likewise.
23241 (grub_env_sorted_var): Likewise.
23242 (current_context): Renamed from this ...
23243 (grub_current_context): ...to this. 'static' removed. All users updated.
23244 (grub_env_find): Removed 'static'.
23245 (grub_env_context_open): Moved to normal/context.c.
23246 (grub_env_context_close): Likewise.
23247 (grub_env_export): Likewise.
23248 (mangle_data_slot_name): Removed.
23249 (grub_env_set_data_slot): Likewise.
23250 (grub_env_get_data_slot): Likewise.
23251 (grub_env_unset_data_slot): Likewise.
23252 * kern/main.c (grub_set_root_dev): Don't export root.
23253 It will be done later.
23254 (grub_main): Don't export prefix.
23255 It will be done later.
23256 * normal/context.c: New file.
23257 * normal/main.c (free_menu): Use grub_env_unset_menu.
23258 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23259 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23260 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23261 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23262
23263 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 setpci support.
23266
23267 * commands/setpci.c: New file.
23268 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23269 (setpci_mod_SOURCES): New variable.
23270 (setpci_mod_CFLAGS): Likewise.
23271 (setpci_mod_LDFLAGS): Likewise.
23272
23273 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 Byte-addressable PCI configuration space.
23276
23277 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23278 dword address.
23279 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23280 GRUB_PCI_REG_CACHELINE.
23281 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23282 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23283 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23284 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23285 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23286 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23287 grub_pci_make_address.
23288 (lock_rom_area): Likewise.
23289 * commands/lspci.c (grub_lspci_iter): Use macroses
23290 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23291 of grub_pci_make_address.
23292 * disk/ata.c (grub_ata_pciinit): Likewise.
23293 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23294 (GRUB_PCI_REG_VENDOR): Likewise.
23295 (GRUB_PCI_REG_DEVICE): Likewise.
23296 (GRUB_PCI_REG_COMMAND): Likewise.
23297 (GRUB_PCI_REG_STATUS): Likewise.
23298 (GRUB_PCI_REG_REVISION): Likewise.
23299 (GRUB_PCI_REG_CLASS): Likewise.
23300 (GRUB_PCI_REG_CACHELINE): Likewise.
23301 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23302 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23303 (GRUB_PCI_REG_BIST): Likewise.
23304 (GRUB_PCI_REG_ADDRESSES): Likewise.
23305 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23306 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23307 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23309 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23310 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23311 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23312 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23313 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23314 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23315 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23316 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23317 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23318 (GRUB_PCI_REG_MIN_GNT): Likewise.
23319 (GRUB_PCI_REG_MAX_LAT): Likewise.
23320 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23321 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23322 * video/efi_uga.c (find_framebuf): Likewise.
23323 * video/sm712.c (grub_video_sm712_setup): Likewise.
23324 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23325 space.
23326
23327 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23328
23329 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23330 can be reliably determined to be supported.
23331
23332 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23333
23334 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23335 that VESA is supported.
23336 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23337 supported.
23338
23339 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23340
23341 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23342
23343 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23344
23345 * util/misc.c (make_system_path_relative_to_its_root): Work around
23346 special-casing of "/", as previous incarnation of this routine did.
23347
23348 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23349
23350 Fix any-emu compilation.
23351
23352 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23353 * grub_bin2h_SOURCES: New variable.
23354
23355 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23358
23359 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23360
23361 * util/grub.d/00_header.in: Fix handling of locale_dir.
23362
23363 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23366 as possible unifont location (Gentoo).
23367 Reported by: Alexander Brüning
23368
23369 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23370
23371 Don't try to generate lists for kernel.img.
23372
23373 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23374 (pkglib_MODULES): Remove kernel.img.
23375 (kernel_img_EXPORTS): Removed.
23376 (kernel_img_RELOCATABLE): New variable.
23377 * conf/x86_64-efi.rmk: Likewise.
23378 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23379
23380 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23381
23382 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23383 grub_xasprintf or grub_snprintf.
23384 (grub_vsprintf): Likewise.
23385 (grub_snprintf): New proto.
23386 (grub_vsnprintf): Likewise.
23387 (grub_xasprintf): Likewise.
23388 (grub_xvasprintf): Likewise.
23389 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23390 (grub_sprintf): Removed.
23391 (grub_vsnprintf): New function.
23392 (grub_snprintf): Likewise.
23393 (grub_xvasprintf): Likewise.
23394 (grub_xasprintf): Likewise.
23395 (grub_vsprintf): Renamed to ...
23396 (grub_vsnprintf_real): ...this. New argument max_len.
23397
23398 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23399
23400 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23401 fix grub-script-check warning.
23402
23403 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 * include/grub/font.h (grub_font_load): Fix prototype.
23406
23407 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23408
23409 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23410
23411 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23412
23413 * include/grub/x86_64/at_keyboard.h: New file.
23414
23415 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23416
23417 * loader/mips/linux.c: Include missing grub/i18n.h.
23418
23419 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23420
23421 * normal/menu.c (notify_execution_failure): Clarify error message.
23422
23423 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23426 return value (and revert all return statements). Update users.
23427
23428 2010-01-20 Dan Merillat <debian@dan.merillat.org>
23429
23430 * kern/device.c (grub_device_iterate): Allocate new part_ent
23431 structure based on sizeof (*p) rather than sizeof (p->next), to
23432 account for structure padding.
23433
23434 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23435 disk is NULL, which might happen for LVM physical volumes with no
23436 LVM signature.
23437
23438 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23439
23440 * loader/mips/linux.c (grub_cmd_initrd)
23441 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23442
23443 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23444
23445 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23446 (grub_video_video_init, grub_video_bitmap_init)
23447 (grub_font_manager_init, grub_term_gfxterm_init)
23448 (grub_at_keyboard_init): New extern declarations.
23449 (grub_machine_init): Initialize gfxterm and at_keyboard.
23450
23451 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23452
23453 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23454 `gfxterm.mod' into core image.
23455
23456 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23457 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23458 (kernel_img_FORMAT): Copy to ...
23459
23460 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23461 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23462 (kernel_img_FORMAT): ... here, and ...
23463
23464 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23465 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23466 (kernel_img_FORMAT): ... here.
23467
23468 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23469 and input (at_keyboard) terminals in kernel.
23470 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23471
23472 (pkglib_MODULES): Remove `pci.mod'.
23473 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23474 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23475 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23476 (at_keyboard_mod_LDFLAGS): Remove variables.
23477
23478 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
23479
23480 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23481
23482 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23483
23484 * include/grub/mips/libgcc.h: Only export symbols for functions
23485 that libgcc provides.
23486
23487 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 MIPS support.
23490
23491 * bus/bonito.c: New file.
23492 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23493 GRUB_PCI_NUM_DEVICES.
23494 * term/i386/pc/serial.c: Move to ...
23495 * term/serial.c: ... here. All users updated.
23496 * util/i386/pc/grub-mkimage.c: Move to ...
23497 * util/grub-mkrawimage.c: ... here. All users updated.
23498 * term/i386/pc/at_keyboard.c: Move to ...
23499 * term/at_keyboard.c: ... here. All users updated.
23500 * conf/mips-qemu-mips.rmk: New file.
23501 * conf/mips-yeeloong.rmk: Likewise.
23502 * conf/mips.rmk: Likewise.
23503 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23504 mipsel-qemu-mips.
23505 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23506 to port addresses.
23507 (grub_ata_pciinit): Support CS5536.
23508 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23509 * font/font_cmd.c (loadfont_command): Open file before passing it to
23510 grub_font_load.
23511 (pseudo_file_read): New function.
23512 (pseudo_file_close): Likewise.
23513 (pseudo_fs): New structure.
23514 (load_font_module): New function.
23515 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23516 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23517 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23518 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23519 * include/grub/i386/at_keyboard.h: Split into ...
23520 * include/grub/at_keyboard.h: ... this ...
23521 * include/grub/i386/at_keyboard.h: ... and this.
23522 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23523 New prototype.
23524 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23525 updated.
23526 (grub_elf64_size): Likewise.
23527 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23528 filename.
23529 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23530 * include/grub/i386/coreboot/serial.h: Rewritten.
23531 * include/grub/i386/ieee1275/serial.h: Include
23532 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23533 * include/grub/i386/pc/serial.h: Moved from here ...
23534 * include/grub/serial.h: ... to here. All users updated.
23535 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23536 (GRUB_PCI_NUM_BUS): Likewise.
23537 (GRUB_PCI_NUM_DEVICES): Likewise.
23538 (grub_pci_device_map_range): Add missing volatile keyword.
23539 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23540 * include/grub/mips/at_keyboard.h: New file.
23541 * include/grub/mips/cache.h: Likewise.
23542 * include/grub/mips/io.h: Likewise.
23543 * include/grub/mips/kernel.h: Likewise.
23544 * include/grub/mips/libgcc.h: Likewise.
23545 * include/grub/mips/pci.h: Likewise.
23546 * include/grub/mips/qemu-mips/boot.h: Likewise.
23547 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23548 * include/grub/mips/qemu-mips/loader.h: Likewise.
23549 * include/grub/mips/qemu-mips/memory.h: Likewise.
23550 * include/grub/mips/qemu-mips/serial.h: Likewise.
23551 * include/grub/mips/qemu-mips/time.h: Likewise.
23552 * include/grub/mips/relocator.h: Likewise.
23553 * include/grub/mips/time.h: Likewise.
23554 * include/grub/mips/types.h: Likewise.
23555 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23556 * include/grub/mips/yeeloong/boot.h: Likewise.
23557 * include/grub/mips/yeeloong/kernel.h: Likewise.
23558 * include/grub/mips/yeeloong/loader.h: Likewise.
23559 * include/grub/mips/yeeloong/memory.h: Likewise.
23560 * include/grub/mips/yeeloong/pci.h: Likewise.
23561 * include/grub/mips/yeeloong/serial.h: Likewise.
23562 * include/grub/mips/yeeloong/time.h: Likewise.
23563 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23564 * kern/elf.c (grub_elf32_size): New parameter. All users
23565 updated.
23566 (grub_elf64_size): Likewise.
23567 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23568 Load modules before saying "Welcome to GRUB!".
23569 Call grub_refresh after saying "Welcome to GRUB!".
23570 * kern/mips/cache.S: New file.
23571 * kern/mips/cache_flush.S: Likewise.
23572 * kern/mips/dl.c: Likewise.
23573 * kern/mips/init.c: Likewise.
23574 * kern/mips/qemu-mips/init.c: Likewise.
23575 * kern/mips/startup.S: Likewise.
23576 * kern/mips/yeeloong/init.c: Likewise.
23577 * kern/term.c (grub_putcode): Handle NULL terminal.
23578 (grub_getcharwidth): Likewise.
23579 (grub_getkey): Likewise.
23580 (grub_checkkey): Likewise.
23581 (grub_getkeystatus): Likewise.
23582 (grub_getxy): Likewise.
23583 (grub_getwh): Likewise.
23584 (grub_gotoxy): Likewise.
23585 (grub_cls): Likewise.
23586 (grub_setcolorstate): Likewise.
23587 (grub_setcolor): Likewise.
23588 (grub_getcolor): Likewise.
23589 (grub_refresh): Likewise.
23590 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23591 (write_jump): Add hatch nop.
23592 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23593 * lib/mips/setjmp.S: New file.
23594 * loader/mips/linux.c: Likewise.
23595 * term/i386/pc/at_keyboard.c: Move from here ...
23596 * term/at_keyboard.c: ... to here.
23597 * term/i386/pc/serial.c: Moved from here ...
23598 * term/serial.c: ... to here. All users updated.
23599 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23600 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23601 (serial_translate_key_sequence): Avoid deadlock.
23602 (grub_serial_getkey): Handle backspace.
23603 (grub_serial_putchar): Fix newline handling.
23604 * util/i386/pc/grub-mkimage.c: Move from here ...
23605 * util/grub-mkrawimage.c: ... to here. All users updated.
23606 (generate_image): New parameters 'font_path' and 'format'.
23607 Support embedding font.
23608 Use grub_host_to_target* instead of grub_cpu_to_le*.
23609 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23610 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23611 (options): New option "--font".
23612 (usage): Likewise.
23613 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23614 (main): Handle "--font".
23615 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23616 (grub_virtual_screen_setup): Set bg_color_display.
23617 (redraw_screen_rect): Use bg_color_display instead of incorrect
23618 bg_color.
23619 (grub_gfxterm_cls): Likewise.
23620 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23621 Support embedding config file.
23622 (add_segments): Likewise.
23623 (options): New option "--config".
23624 (main): Handle "--config".
23625 * video/sm712.c: New file.
23626
23627 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23628
23629 Fix parallel builds.
23630
23631 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23632 font.c depend on ascii.h).
23633
23634 2010-01-12 Carles Pina i Estany <carles@pina.cat>
23635
23636 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23637
23638 2010-01-11 Carles Pina i Estany <carles@pina.cat>
23639
23640 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23641 By default: disabled.
23642 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23643 parameter.
23644
23645 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23646
23647 * font/font.c: Update copyright years.
23648 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23649
23650 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23651
23652 * font/font.c: Include `ascii.h'.
23653 (ASCII_BITMAP_SIZE): New macro.
23654 (ascii_font_glyph): Define.
23655 (ascii_glyph_lookup): New function.
23656 (grub_font_get_string_width): Change comment. If glyph not found, use
23657 ascii_glyph_lookup.
23658 (grub_font_get_glyph_with_fallback): If glyph not available returns
23659 ascii_glyph_lookup.
23660 * util/grub-mkfont.c (file_formats): New enum.
23661 (options): Add `ascii-bitmaps' new option.
23662 (usage): Add `asii-bitmaps' new option.
23663 (write_font_ascii_bitmap): New function.
23664 (write_font): Rename to ...
23665 (write_font_p2): ... this. Remove print_glyphs call.
23666 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23667 used. Call print_glyphs.
23668 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23669
23670 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23671
23672 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23673 (grub_bin2h_SOURCES): New variable.
23674 * util/bin2h.c: New file.
23675
23676 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23677
23678 * include/multiboot.h: Resynced with spec.
23679 * include/multiboot2.h: Likewise.
23680 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23681 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23682
23683 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23684
23685 * include/grub/term.h (grub_term_register_input,
23686 grub_term_register_output): Check return of terminal init()
23687 routines, and abort if errors are raised.
23688
23689 * commands/terminal.c: Update copyright year.
23690
23691 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23692
23693 * commands/terminal.c (grub_cmd_terminal_input)
23694 (grub_cmd_terminal_output): Check return of terminal init()
23695 routines, and abort if errors are raised.
23696
23697 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23698
23699 * include/grub/i386/bsd.h: Fix include pathes.
23700
23701 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 Add missing *BSD copyright headers.
23704
23705 * include/grub/aout.h: Add BSD licence.
23706 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23707 * include/grub/i386/freebsd_linker.h: ... here,
23708 * include/grub/i386/freebsd_reboot.h: ... here,
23709 * include/grub/i386/netbsd_bootinfo.h: ... here,
23710 * include/grub/i386/netbsd_reboot.h: ... here,
23711 * include/grub/i386/openbsd_bootarg.h: ... here,
23712 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23713 licence to each file.
23714
23715 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 * acinclude.m4: Remove `nop' assembly instruction; it's not
23718 implemented by all architectures.
23719
23720 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23721
23722 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23723 ELILO. This is no longer necessary.
23724
23725 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23726
23727 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23728
23729 * util/grub-script-check.c: grub-script-check tool.
23730 * conf/common.rmk: Make rules for grub-script-check.
23731
23732 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23733
23734 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23735 spotting it back in 2008. Shame on me for forgetting he did.
23736
23737 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23738
23739 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23742 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23743 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23744 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23745 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23746 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23747
23748 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23749
23750 * include/grub/test.h: Add license header.
23751 * tests/example_functional_test.c: Likewise.
23752 * tests/example_unit_test.c: Likewise.
23753 * tests/lib/functional_test.c: Likewise.
23754 * tests/lib/test.c: Likewise.
23755 * tests/lib/unit_test.c: Likewise.
23756
23757 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 Use flag-based instead of hook-based video mode selection and "auto"
23760 keyword.
23761
23762 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23763 (grub_video_set_mode): Changed prototype. All users updated.
23764 (grub_video_check_mode_flag): New inline function.
23765 * video/video.c (parse_modespec): New function.
23766 (grub_video_set_mode): Parse flags and keywords.
23767
23768 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23769
23770 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23771 fprintf call.
23772
23773 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23774
23775 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23776
23777 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23778
23779 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23780 string.
23781 * util/grub-emu.c (usage): Likewise.
23782 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23783 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23784 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23785 * util/i386/pc/grub-setup.c (usage): Likewise.
23786
23787 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23788
23789 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23790 the message.
23791 (grub_util_info): Likewise.
23792 (grub_util_error): Likewise.
23793 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23794 and/or new lines in `grub_util_warna', `grub_util_info',
23795 `grub_util_error' calls.
23796 * util/getroot.c: Likewise.
23797 * util/grub-editenv.c: Likewise.
23798 * util/grub-emu.c: Likewise.
23799 * util/grub-fstest.c: Likewise.
23800 * util/grub-mkdevicemap.c: Likewise.
23801 * util/grub-mkfont.c: Likewise.
23802 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23803 * util/grub-mkrelpath.c: Likewise.
23804 * util/grub-pe2elf.c: Likewise.
23805 * util/grub-probe.c: Likewise.
23806 * util/hostdisk.c: Likewise.
23807 * util/i386/efi/grub-mkimage.c: Likewise.
23808 * util/i386/pc/grub-mkimage.c: Likewise.
23809 * util/i386/pc/grub-setup.c: Likewise.
23810 * util/ieee1275/ofpath.c: Likewise.
23811 * util/mkisofs/eltorito.c: Likewise.
23812 * util/mkisofs/rock.c: Likewise.
23813 * util/mkisofs/write.c: Likewise.
23814 * util/raid.c: Likewise.
23815 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23816 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23817
23818 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 Enable multiboot on non-pc.
23821
23822 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23823 multiboot.mod and multiboot2.mod to ...
23824 * conf/i386.rmk (pkglib_MODULES): ... here.
23825 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23826 Moved to ...
23827 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23828 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23829 Moved to ...
23830 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23831 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23832 Moved to ...
23833 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23834 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23835 Moved to ...
23836 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23837 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23838 relocator.mod.
23839 (ata_mod_SOURCES): Removed.
23840 (ata_mod_CFLAGS): Likewise.
23841 (ata_mod_LDFLAGS): Likewise.
23842 (relocator_mod_SOURCES): Removed.
23843 (relocator_mod_CFLAGS): Likewise.
23844 (relocator_mod_ASFLAGS): Likewise.
23845 (relocator_mod_LDFLAGS): Likewise.
23846 Include i386.mk.
23847 * include/grub/x86_64/multiboot.h: New file.
23848 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23849 Terminate EFI.
23850
23851 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23852
23853 Video multiboot support.
23854
23855 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23856 New prototype.
23857 * include/multiboot.h: Resynced with multiboot specification.
23858 * include/multiboot2.h: Likewise.
23859 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23860 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23861 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23862 (HAS_VGA_TEXT): Likewise.
23863 (accepts_video): New variable.
23864 (grub_multiboot_set_accepts_video): New function.
23865 (grub_multiboot_get_mbi_size): Account for video structures.
23866 (set_video_mode): New function.
23867 (retrieve_video_parameters): Likewise.
23868 (grub_multiboot_make_mbi): Fill video fields.
23869
23870 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 Video driver ids.
23873
23874 * include/grub/video.h (grub_video_driver_id): New type.
23875 (grub_video_adapter): New member 'id'. All users updated.
23876 (grub_video_get_driver_id): New proto.
23877 * video/video.c (grub_video_get_driver_id): New function.
23878
23879 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23880
23881 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23882 `var=val'.
23883
23884 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23885
23886 * normal/cmdline.c (print_completion): Gettextizze.
23887
23888 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23889
23890 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23891
23892 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23893
23894 * gettext/gettext.c (grub_gettext_translate): Push and pop
23895 grub_errno.
23896 (grub_gettext_delete_list): Change comment style.
23897 * kern/err.c (grub_error): Gettextizze.
23898 (grub_fatal): Gettextizze.
23899
23900 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23901
23902 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23903 (grub_linux16_real_boot): ... this.
23904 * kern/i386/loader.S: Likewise.
23905 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23906 (grub_linux16_boot): New function. Switches to text mode and calls
23907 grub_linux16_real_boot().
23908
23909 * loader/i386/bsd.c: Include `<grub/video.h>'.
23910 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23911 text mode before calling grub_unix_real_boot().
23912
23913 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23914 (grub_multiboot_boot): Switch to text mode before calling
23915 grub_relocator32_boot().
23916
23917 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23918 (grub_chainloader_boot): Switch to text mode before calling
23919 grub_chainloader_real_boot().
23920
23921 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23922 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23923
23924 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23925 non-empty value.
23926
23927 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23928 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23929
23930 * util/grub.d/00_header.in: Define a "savedefault" function for use
23931 in menu entries.
23932 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23933
23934 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23935 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23936
23937 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23938 saved_entry if boot_once is unset.
23939 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23940 previous saved entry (i.e. grub-reboot).
23941
23942 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23943
23944 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23945
23946 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23947
23948 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23949 `var=val'.
23950 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23951
23952 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23953
23954 * util/grub-reboot.in: Fix --version output.
23955 * util/grub-set-default.in: Likewise.
23956
23957 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23958
23959 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23960 blocks.
23961
23962 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23963
23964 * util/grub.d/00_header.in: Quote the value assigned to `default',
23965 in case it contains spaces.
23966
23967 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23968
23969 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23970 `save_default_entry' call from the macosx case to the linux case.
23971
23972 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23973 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23974
23975 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23976 in `chosen' environment variable.
23977 * normal/menu_text.c (get_entry_number): Check if the variable
23978 matches the title of a menu entry.
23979 (run_menu): Pass menu to get_entry_number.
23980
23981 * util/grub-reboot.in: New file.
23982 * util/grub-set-default.in: New file.
23983 * conf/common.rmk (grub-reboot): New utility.
23984 (grub-set-default): New utility.
23985
23986 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23987 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23988 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23989 move it to `saved_entry' for the next boot. Load environment on
23990 initialisation.
23991 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23992 * util/grub.d/10_hurd.in: Likewise.
23993 * util/grub.d/10_linux.in (linux_entry): Likewise.
23994 * util/grub.d/10_windows.in: Likewise.
23995 * util/grub.d/30_os-prober.in: Likewise.
23996
23997 * util/grub-install.in: Create environment block.
23998 * util/i386/efi/grub-install.in: Likewise.
23999 * util/ieee1275/grub-install.in: Likewise.
24000 * util/sparc64/ieee1275/grub-install.in: Likewise.
24001
24002 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24003
24004 Unit testing framework for GRUB.
24005
24006 * Makefile.in: Test framework build rules for 'make check'.
24007 * conf/tests.rmk: Build rules for individual tests and framework.
24008
24009 * include/grub/test.h: Header file for whitebox tests.
24010 * tests/lib/functional_test.c: Framework support for whitebox
24011 functional tests.
24012 * tests/lib/test.c: Common whitebox testing code for unit and
24013 functional tests.
24014 * tests/lib/unit_test.c: Framework support for whitebox unit
24015 tests.
24016
24017 * tests/util/grub-shell-tester.in: Support utility for grub-script
24018 tests.
24019 * tests/util/grub-shell.in: Utility to execute grub-script
24020 commands in a Qemu instance.
24021
24022 * tests/example_functional_test.c: Example whitebox functional
24023 test.
24024 * tests/example_grub_script_test.in: Example grub-script test.
24025 * tests/example_scripted_test.in: Example scripted test.
24026 * tests/example_unit_test.c: Example whitebox unit test.
24027
24028 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24029
24030 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24031 Add loader/i386/multiboot_mbi.c.
24032 (multiboot2_mod_SOURCES): Likewise.
24033 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24034 (multiboot2_mod_SOURCES): Likewise.
24035 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24036 (grub_multiboot_make_mbi): Likewise.
24037 (grub_multiboot_free_mbi): Likewise.
24038 (grub_multiboot_init_mbi): Likewise.
24039 (grub_multiboot_add_module): Likewise.
24040 (grub_multiboot_set_bootdev): Likewise.
24041 * loader/i386/multiboot.c (mbi): Removed.
24042 (mbi_dest): Likewise.
24043 (alloc_mbi): New variable.
24044 (grub_multiboot_payload_size): Removed. All users updated.
24045 (grub_multiboot_pure_size): New variable.
24046 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24047 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24048 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24049 (grub_fill_multiboot_mmap): Likewise.
24050 (grub_multiboot_get_bootdev): Likewise.
24051 (grub_multiboot): Use multiboot_mbi functions.
24052 * loader/i386/multiboot_mbi.c: New file.
24053
24054 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24055
24056 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24057 it would result in module crash.
24058
24059 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24060
24061 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24062 (grub_ofconsole_getwh): Split to ...
24063 (grub_ofconsole_getwh): ... this.
24064 (grub_ofconsole_dimensions): ...and this.
24065 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24066
24067 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24068
24069 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24070
24071 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * loader/i386/pc/multiboot2.c: Removed stalled file.
24074
24075 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24078 Reported by: Grégoire Sutre
24079
24080 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24081
24082 * util/misc.c (canonicalize_file_name): New function.
24083 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24084 instead of realpath().
24085
24086 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
24087
24088 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24089 and make it clearer that it's optional. Based on confusion
24090 witnessed on IRC.
24091
24092 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24093
24094 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24095 in premature implicit newline.
24096
24097 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24100 which resulted in garbled command line at the end of screen.
24101
24102 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24103
24104 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24105 initialization with similar approach as with other Linux loaders.
24106
24107 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24108
24109 Fix i386-ieee1275 build.
24110
24111 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24112 and grub_term_height() for video_{width,height} initialization.
24113
24114 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24115
24116 Fix grub-emu build.
24117
24118 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24119
24120 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24121 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24122
24123 Support for multiple terminals.
24124
24125 * Makefile.in (pkglib_DATA): terminal.lst.
24126 (terminal.lst): New target.
24127 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24128 (GRUB_MOD_INIT(handler)): Likewise.
24129 (GRUB_MOD_FINI(handler)): Likewise.
24130 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24131 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24132 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24133 (grub_cmd_sleep): Use grub_term_save_pos.
24134 * commands/terminal.c: New file.
24135 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24136 commands/terminal.c and lib/charset.c.
24137 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24138 (pkglib_MODULES): Add terminal.mod.
24139 (terminal_mod_SOURCES): New variable.
24140 (terminal_mod_CFLAGS): Likewise.
24141 (terminal_mod_LDFLAGS): Likewise.
24142 * genhandlerlist.sh: Don't handle terminals.
24143 * genmk.rb: Generate terminal-*.lst.
24144 * genterminallist.sh: New file.
24145 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24146 (grub_is_valid_utf8): Likewise.
24147 (grub_utf8_to_ucs4_alloc): Likewise.
24148 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24149 (grub_menu_register_viewer): Changed argument.
24150 (grub_menu_try_text): New proto.
24151 (grub_gfxmenu_try_hook): New declaration.
24152 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24153 (grub_menu_init_page): Additional argument term.
24154 (grub_normal_init_page): Likewise.
24155 (grub_cmdline_get): Arguments simplified.
24156 (grub_utf8_to_ucs4_alloc): Removed.
24157 (grub_print_ucs4): Additional argument term.
24158 (grub_getstringwidth): Likewise.
24159 (grub_print_message_indented): Likewise.
24160 (grub_menu_text_register_instances): New proto.
24161 (grub_show_menu): Likewise.
24162 (read_terminal_list): Likewise.
24163 (grub_set_more): Likewise.
24164 * include/grub/parser.h: Include handler.h.
24165 * include/grub/reader.h: Rewritten.
24166 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24167 (GRUB_TERM_WIDTH): Changed to function.
24168 (GRUB_TERM_HEIGHT): Likewise.
24169 (GRUB_TERM_BORDER_WIDTH): Likewise.
24170 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24171 (GRUB_TERM_NUM_ENTRIES): Likewise.
24172 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24173 (GRUB_TERM_CURSOR_X): Likewise.
24174 (grub_term_input_class): Likewise.
24175 (grub_term_output_class): Likewise.
24176 (grub_term_outputs_disabled): New declaration.
24177 (grub_term_inputs_disabled): Likewise.
24178 (grub_term_outputs): Likewise.
24179 (grub_term_inputs): Likewise.
24180 (grub_term_register_input): Rewritten.
24181 (grub_term_register_output): Likewise.
24182 (grub_term_unregister_input): Likewise.
24183 (grub_term_unregister_output): Likewise.
24184 (FOR_ACTIVE_TERM_INPUTS): New macro.
24185 (FOR_DISABLED_TERM_INPUTS): Likewise.
24186 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24187 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24188 * include/grub/terminfo.h: Add oterm argument to all protypes.
24189 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24190 Use grub_rescue_run.
24191 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24192 All users updated.
24193 * kern/reader.c: Removed. All users updated.
24194 * kern/rescue_reader.c (grub_rescue_init): Removed.
24195 (grub_rescue_reader): Likewise.
24196 (grub_register_rescue_reader): Likewise.
24197 (grub_rescue_run): New function based on kern/reader.c.
24198 * kern/term.c: Adapted for multiterm.
24199 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24200 (grub_is_valid_utf8): Likewise.
24201 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24202 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24203 right terminal.
24204 * loader/i386/linux.c (grub_linux_boot): Likewise.
24205 * normal/auth.c (grub_username_get): New function.
24206 (grub_auth_check_authentication): Use grub_username_get.
24207 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24208 * normal/color.c: Adapt for multiterm.
24209 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24210 (grub_normal_init_page): Additional argument term.
24211 (read_lists): Call read_terminal_lists.
24212 (grub_enter_normal_mode): Call grub_cmdline_run.
24213 Handle grub_normal_exit_level.
24214 (grub_cmd_normal): Make reentrant.
24215 (grub_cmd_normal_exit): New function.
24216 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24217 * normal/menu.c: Adapt for multiterm.
24218 * normal/menu_entry.c: Likewise.
24219 * normal/menu_text.c: Likewise.
24220 * normal/menu_viewer.c: Removed. All users updated.
24221 * normal/term.c: New file.
24222 * util/console.c: Change order of includes to workaround a bug in
24223 ncurses headers.
24224 * term/terminfo.c: New argument oterm on all exported functions.
24225 All users updated.
24226 * util/grub-editenv.c (grub_term_input_class): Removed.
24227 (grub_term_output_class): Likewise.
24228
24229 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24230
24231 Make loader output a bit more user-friendly.
24232
24233 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24234 is being loaded. Likewise for the Hurd.
24235
24236 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24237 that kernel of FreeBSD ${version} is being loaded.
24238
24239 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24240 grub_dprintf().
24241 (grub_cmd_initrd): Likewise.
24242 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24243 that Linux ${version} is being loaded. Likewise for initrd.
24244
24245 2010-01-09 Carles Pina i Estany <carles@pina.cat>
24246
24247 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24248
24249 2010-01-08 Carles Pina i Estany <carles@pina.cat>
24250
24251 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24252 (GRUB_MOD_INIT): Gettextizze.
24253 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24254 (GRUB_MOD_INIT): Gettextizze.
24255 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24256 (grub_cmd_linux): Capitalise Linux.
24257 (GRUB_MOD_INIT): Gettextizze.
24258 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24259 (grub_cmd_linux): Capitalise Linux.
24260 (GRUB_MOD_INIT): Gettextizze.
24261 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24262 (grub_cmd_linux): Capitalise Linux.
24263 (GRUB_MOD_INIT): Gettextizze.
24264 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24265 (GRUB_MOD_INIT): Gettextizze.
24266 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24267 (grub_cmd_linux): Capitalise Linux.
24268 (GRUB_MOD_INIT): Gettextizze.
24269 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24270 (grub_cpu_xnu_init): Gettextizze.
24271 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24272 (GRUB_MOD_INIT): Gettextizze.
24273 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24274 (GRUB_MOD_INIT): Gettextizze.
24275 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24276 (grub_linux_load64): Capitalise Linux.
24277 (GRUB_MOD_INIT): Gettextizze.
24278 * loader/xnu.c: Include `<grub/i18n.h>'.
24279 (GRUB_MOD_INIT): Gettextizze.
24280 * po/POTFILES: Add `loader/efi/appleloader.c',
24281 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24282 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24283 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24284 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24285 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24286 and `loader/xnu.c'.
24287
24288 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24289
24290 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24291
24292 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24293
24294 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24295 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24296 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24297
24298 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24299
24300 Reset Multiboot 2 support. New loader implements the draft in
24301 /branches/multiboot2 and shares as much code as possible with the
24302 production Multiboot 1 implementation.
24303
24304 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24305 * loader/multiboot2.c: Likewise.
24306 * loader/i386/multiboot_helper.S: Likewise.
24307 * include/multiboot2.h: Replace with latest version from the draft
24308 in /branches/multiboot2.
24309
24310 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24311 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24312 and `loader/multiboot2.c'.
24313 (pkglib_MODULES): Add `multiboot2.mod'.
24314 (multiboot2_mod_SOURCES): New variable.
24315 (multiboot2_mod_LDFLAGS): Likewise.
24316 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24317
24318 * conf/i386-pc.rmk: Likewise.
24319
24320 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24321 (multiboot_mod_SOURCES): Remove variable.
24322 (multiboot_mod_LDFLAGS): Likewise.
24323 (multiboot_mod_CFLAGS): Likewise.
24324
24325 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24326 `<multiboot2.h>' instead of `<multiboot.h>'.
24327 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24328 (MULTIBOOT_HEADER_MAGIC): New macros.
24329
24330 * loader/multiboot_loader.c (module_version_status): Remove variable.
24331 (find_multi_boot2_header): Remove function.
24332 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24333 logic. Always check for the Multiboot version we're compiling for.
24334 (grub_cmd_module_loader): Likewise.
24335 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24336 command instead of `multiboot'.
24337
24338 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24339
24340 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24341 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24342 all users.
24343
24344 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24345 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24346
24347 Fix breakage introduced with previous commit.
24348
24349 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24350 commands.
24351 * normal/handler.c (read_handler_list): Revert part of previous commit
24352 affecting this file.
24353 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24354 (grub_normal_execute): ... here.
24355
24356 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24357
24358 Merge prefix-redefinition-fix branch.
24359
24360 * normal/autofs.c (read_fs_list): Make function capable of being
24361 run multiple times, gracefuly replacing the previous data
24362 structures.
24363 * normal/dyncmd.c (read_command_list): Likewise.
24364 * normal/handler.c (read_handler_list): Likewise.
24365 * normal/main.c (read_lists): New function. Calls all the
24366 list reading functions.
24367 (grub_normal_execute): Use read_lists() instead of calling all
24368 list reading functions explicitly. Register read_lists() as a
24369 variable hook attached to ${prefix}.
24370
24371 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24372
24373 Merge crypto branch.
24374
24375 * Makefile.in (pkglib_DATA): Add crypto.lst.
24376 (crypto.lst): New target.
24377 * commands/hashsum.c: New file.
24378 * commands/password.c (check_password): Use grub_crypto_memcmp.
24379 * commands/password_pbkdf2.c: New file.
24380 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24381 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24382 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24383 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24384 -I$(srcdir)/lib/libgcrypt_wrap.
24385 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24386 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24387 password_pbkdf2.mod.
24388 (crypto_mod_SOURCES): New variable.
24389 (crypto_mod_CFLAGS): Likewise.
24390 (crypto_mod_LDFLAGS): Likewise.
24391 (hashsum_mod_SOURCES): New variable.
24392 (hashsum_mod_CFLAGS): Likewise.
24393 (hashsum_mod_LDFLAGS): Likewise.
24394 (pbkdf2_mod_SOURCES): New variable.
24395 (pbkdf2_mod_CFLAGS): Likewise.
24396 (pbkdf2_mod_LDFLAGS): Likewise.
24397 (password_pbkdf2_mod_SOURCES): New variable.
24398 (password_pbkdf2_mod_CFLAGS): Likewise.
24399 (password_pbkdf2_mod_LDFLAGS): Likewise.
24400 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24401 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24402 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24403 Include conf/gcry.rmk.
24404 * include/grub/auth.h: Rewritten.
24405 * include/grub/crypto.h: New file.
24406 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24407 * include/grub/normal.h (read_crypto_list): New prototype.
24408 * lib/crypto.c: New file.
24409 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24410 * lib/pbkdf2.c: Likewise.
24411 * normal/auth.c (grub_auth_strcmp): Removed.
24412 (grub_iswordseparator): Likewise.
24413 (grub_auth_strword): Likewise.
24414 (is_authenticated): Use grub_strword.
24415 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24416 and grub_strword. Pass entered password to authentication callback.
24417 * normal/crypto.c: New file.
24418 * normal/main.c: Call read_crypto_list.
24419 * util/grub-mkpasswd-pbkdf2.c: New file.
24420 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24421
24422 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24423
24424 Fix descent and ascent calculation.
24425
24426 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24427 (options): New option "asce".
24428 (usage): Likewise.
24429 (add_char): Ignore invalid glyphs for descent calculation.
24430 Calculate ascent from actual content.
24431 (print_glyphs): Use 'asce'.
24432 (write_font): Likewise. Allow ascent override.
24433 (main): Handle "asce" option.
24434
24435 2010-01-06 Carles Pina i Estany <carles@pina.cat>
24436
24437 * kern/err.c: Include `<grub/i18n.h>'.
24438 (grub_print_error): Add full stop. Gettextizze.
24439 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24440 (grub_bsd_load_elf): Capitalise ELF.
24441 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24442 (grub_cmd_freebsd_module): Likewise.
24443 (grub_cmd_freebsd_module_elf): Likewise.
24444 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24445
24446 2010-01-06 Carles Pina i Estany <carles@pina.cat>
24447
24448 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24449 * commands/search_file.c (HELP_MESSAGE): New macro.
24450 * commands/search_label.c (HELP_MESSAGE): Likewise.
24451 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24452 * po/POTFILES: Add `commands/search_file.c',
24453 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24454 `commands/search.c'.
24455
24456 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24457
24458 * config.rpath: Update from Gnulib.
24459
24460 2010-01-05 Yves Blusseau <blusseau@zetam.org>
24461
24462 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24463
24464 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24465
24466 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24467
24468 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24469
24470 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24471 arguments to fread so that we get a return value in bytes, rather
24472 than something that will normally be rounded down to 0.
24473 Adjust error handling to avoid producing garbage when size_t is not
24474 the same size as long long.
24475
24476 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24477
24478 * util/mkisofs/write.c (padblock_write): Check return value of
24479 fread.
24480
24481 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24482
24483 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24484 floppy images now.
24485
24486 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24487
24488 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24489
24490 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24491 instead of manual alignment.
24492 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24493 verbose). Avoid attempts to read past end of the device
24494 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24495 but GRUB_DISK_CACHE_SIZE may exceed that).
24496
24497 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24498
24499 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24500 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24501 it to upper layer.
24502
24503 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24506 New constant.
24507 (grub_efi_piwg_device_path): New structure
24508 (grub_efi_piwg_device_path_t): New type.
24509 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24510 (devpath_1): Transform to a structure. All users updated.
24511 (devpath_2): Likewise.
24512 (devpath_3): Likewise.
24513 (devpath_4): Likewise.
24514 (devpath_5): Likewise.
24515
24516 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * loader/efi/appleloader.c: Restored. Update all users.
24519
24520 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24521
24522 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24523
24524 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24525 (struct boot_blocklist): Move from here ...
24526 * include/grub/i386/pc/boot.h [ASM_FILE]
24527 (struct grub_boot_blocklist): ... to here. Update all users.
24528 (setup): Only initialize `start' member of `first_block'
24529 structure. Add assert() calls to verify the other members.
24530
24531 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24532 (generate_image): Fix broken blocklist length initialization.
24533 Add assert() call to verify blocklist `segment' field.
24534
24535 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24536
24537 * loader/efi/appleloader.c: Remove. Update all users.
24538
24539 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24540
24541 * boot/i386/pc/boot.S: Update copyright year.
24542 * boot/i386/pc/cdboot.S: Likewise.
24543 * boot/i386/pc/diskboot.S: Likewise.
24544 * boot/i386/pc/lnxboot.S: Likewise.
24545 * boot/i386/pc/pxeboot.S: Likewise.
24546 * bus/pci.c: Likewise.
24547 * commands/cmp.c: Likewise.
24548 * commands/help.c: Likewise.
24549 * commands/hexdump.c: Likewise.
24550 * commands/i386/pc/halt.c: Likewise.
24551 * commands/i386/pc/play.c: Likewise.
24552 * commands/i386/pc/vbeinfo.c: Likewise.
24553 * commands/ls.c: Likewise.
24554 * commands/test.c: Likewise.
24555 * disk/dmraid_nvidia.c: Likewise.
24556 * disk/i386/pc/biosdisk.c: Likewise.
24557 * disk/ieee1275/nand.c: Likewise.
24558 * disk/ieee1275/ofdisk.c: Likewise.
24559 * disk/lvm.c: Likewise.
24560 * disk/raid.c: Likewise.
24561 * disk/raid6_recover.c: Likewise.
24562 * disk/scsi.c: Likewise.
24563 * fs/affs.c: Likewise.
24564 * fs/cpio.c: Likewise.
24565 * fs/ext2.c: Likewise.
24566 * fs/hfs.c: Likewise.
24567 * fs/iso9660.c: Likewise.
24568 * fs/ntfs.c: Likewise.
24569 * fs/sfs.c: Likewise.
24570 * fs/udf.c: Likewise.
24571 * fs/ufs.c: Likewise.
24572 * fs/xfs.c: Likewise.
24573 * gencmdlist.sh: Likewise.
24574 * genmk.rb: Likewise.
24575 * include/grub/disk.h: Likewise.
24576 * include/grub/efi/api.h: Likewise.
24577 * include/grub/efi/efi.h: Likewise.
24578 * include/grub/efi/pe32.h: Likewise.
24579 * include/grub/elf.h: Likewise.
24580 * include/grub/fs.h: Likewise.
24581 * include/grub/i386/at_keyboard.h: Likewise.
24582 * include/grub/i386/pc/memory.h: Likewise.
24583 * include/grub/i386/pc/vbe.h: Likewise.
24584 * include/grub/i386/pci.h: Likewise.
24585 * include/grub/i386/tsc.h: Likewise.
24586 * include/grub/ieee1275/ieee1275.h: Likewise.
24587 * include/grub/ntfs.h: Likewise.
24588 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24589 * include/grub/sparc64/libgcc.h: Likewise.
24590 * include/grub/symbol.h: Likewise.
24591 * include/grub/types.h: Likewise.
24592 * include/multiboot2.h: Likewise.
24593 * io/gzio.c: Likewise.
24594 * kern/device.c: Likewise.
24595 * kern/disk.c: Likewise.
24596 * kern/efi/efi.c: Likewise.
24597 * kern/efi/mm.c: Likewise.
24598 * kern/elf.c: Likewise.
24599 * kern/file.c: Likewise.
24600 * kern/i386/dl.c: Likewise.
24601 * kern/i386/pc/init.c: Likewise.
24602 * kern/i386/pc/startup.S: Likewise.
24603 * kern/ieee1275/ieee1275.c: Likewise.
24604 * kern/ieee1275/init.c: Likewise.
24605 * kern/main.c: Likewise.
24606 * kern/mm.c: Likewise.
24607 * kern/powerpc/dl.c: Likewise.
24608 * kern/sparc64/dl.c: Likewise.
24609 * kern/x86_64/dl.c: Likewise.
24610 * lib/hexdump.c: Likewise.
24611 * loader/efi/appleloader.c: Likewise.
24612 * loader/i386/ieee1275/linux.c: Likewise.
24613 * loader/i386/pc/chainloader.c: Likewise.
24614 * loader/i386/pc/linux.c: Likewise.
24615 * loader/i386/pc/multiboot2.c: Likewise.
24616 * loader/ieee1275/multiboot2.c: Likewise.
24617 * loader/multiboot2.c: Likewise.
24618 * loader/multiboot_loader.c: Likewise.
24619 * loader/powerpc/ieee1275/linux.c: Likewise.
24620 * normal/completion.c: Likewise.
24621 * normal/menu_entry.c: Likewise.
24622 * partmap/apple.c: Likewise.
24623 * util/grub.d/10_hurd.in: Likewise.
24624 * util/hostfs.c: Likewise.
24625 * video/readers/png.c: Likewise.
24626
24627 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
24628
24629 * include/grub/misc.h (GNUC_PREREQ): New macro.
24630 (ATTRIBUTE_ERROR): New macro.
24631 * include/grub/list.h (grub_bad_type_cast_real): Use
24632 ATTRIBUTE_ERROR.
24633
24634 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24635
24636 * normal/menu_text.c (print_message): Change messages.
24637
24638 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24639
24640 * normal/menu_entry.c (store_completion): Gettextizze.
24641
24642 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24643
24644 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24645
24646 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24647
24648 * po/POTFILES: Sort correctly.
24649
24650 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24651
24652 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24653 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24654 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24655 full stop.
24656 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24657 summary. Gettextizze the strings.
24658 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24659 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24660 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24661 full stop.
24662 (GRUB_MOD_INIT): Remove command name from summary.
24663 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24664 summary.
24665 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24666 * term/i386/pc/serial.c (options): Add full stops.
24667 (GRUB_MOD_INIT): Remove command name from the summary.
24668
24669 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24670
24671 * commands/acpi.c: Gettextizze help strings and/or options. Include
24672 `grub/i18n.h' if needed.
24673 * commands/blocklist.c: Likewise.
24674 * commands/boot.c: Likewise.
24675 * commands/cat.c: Likewise.
24676 * commands/cmp.c: Likewise.
24677 * commands/configfile.c: Likewise.
24678 * commands/crc.c: Likewise.
24679 * commands/date.c: Likewise.
24680 * commands/echo.c: Likewise.
24681 * commands/efi/fixvideo.c: Likewise.
24682 * commands/efi/loadbios.c: Likewise.
24683 * commands/gptsync.c: Likewise.
24684 * commands/halt.c: Likewise.
24685 * commands/handler.c: Likewise.
24686 * commands/hdparm.c: Likewise.
24687 * commands/hexdump.c: Likewise.
24688 * commands/i386/cpuid.c: Likewise.
24689 * commands/i386/pc/drivemap.c: Likewise.
24690 * commands/i386/pc/halt.c: Likewise.
24691 * commands/i386/pc/pxecmd.c: Likewise.
24692 * commands/i386/pc/vbeinfo.c: Likewise.
24693 * commands/i386/pc/vbetest.c: Likewise.
24694 * commands/ieee1275/suspend.c: Likewise.
24695 * commands/keystatus.c: Likewise.
24696 * commands/loadenv.c: Likewise.
24697 * commands/ls.c: Likewise.
24698 * commands/lsmmap.c: Likewise.
24699 * commands/lspci.c: Likewise.
24700 * commands/memrw.c: Likewise.
24701 * commands/minicmd.c: Likewise.
24702 * commands/parttool.c: Likewise.
24703 * commands/password.c: Likewise.
24704 * commands/probe.c: Likewise.
24705 * commands/read.c: Likewise.
24706 * commands/reboot.c: Likewise.
24707 * commands/search.c: Likewise.
24708 * commands/sleep.c: Likewise.
24709 * commands/test.c: Likewise.
24710 * commands/true.c: Likewise.
24711 * commands/usbtest.c: Likewise.
24712 * commands/videotest.c: Likewise.
24713 * commands/xnu_uuid.c: Likewise.
24714 * disk/loopback.c: Likewise.
24715 * hello/hello.c: Likewise.
24716 * loader/i386/bsd.c: Likewise.
24717 * term/i386/pc/serial.c: Likewise.
24718 * po/POTFILES: Add new files.
24719
24720 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24721
24722 * term/i386/pc/at_keyboard.c
24723 (keyboard_controller_wait_untill_ready): Rename to ...
24724 (keyboard_controller_wait_until_ready): ... this. Update all users.
24725
24726 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24727
24728 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24729 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24730 string using string width.
24731 * normal/menu_text.c (grub_print_message_indented): Use
24732 grub_print_spaces and not print_spaces.
24733 (print_timeout): Likewise.
24734 (print_spaces): Move to...
24735 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24736
24737 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24738
24739 Import from Gnulib.
24740
24741 * gnulib/getdelim.c: New file.
24742 * gnulib/getline.c: Likewise.
24743
24744 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24745
24746 * include/grub/list.h (grub_assert_fail): Removed.
24747 (grub_bad_type_cast_real): New function.
24748 (grub_bad_type_cast): New macro.
24749 (GRUB_AS_LIST): Use grub_bad_type_cast.
24750 (GRUB_AS_LIST_P): Likewise.
24751 (GRUB_AS_NAMED_LIST): Likewise.
24752 (GRUB_AS_NAMED_LIST_P): Likewise.
24753 (GRUB_AS_PRIO_LIST): Likewise.
24754 (GRUB_AS_PRIO_LIST_P): Likewise.
24755 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24756
24757 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24758
24759 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24760 Fix syntax error.
24761
24762 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24763
24764 * configure.ac: Check for TARGET_CFLAGS initialization before we
24765 initialize it ourselves (sigh).
24766 Move a few modifications to TARGET_CFLAGS to be unconditional
24767 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24768 eh_frame)
24769
24770 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24771 * term/i386/pc/at_keyboard.c
24772 (keyboard_controller_wait_untill_ready): Likewise.
24773 (keyboard_controller_led): Rename `led_status' paramter to avoid
24774 name conflict.
24775
24776 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24777
24778 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24779 quotes.
24780
24781 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24784
24785 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 * normal/menu_text.c (grub_print_message_indented): Prevent
24788 past-the-end-of-array dereference.
24789
24790 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24793 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24794
24795 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24796
24797 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24798 * normal/main.c (grub_normal_read_line): Remove a space from the
24799 default prompt.
24800
24801 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24802
24803 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24804 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24805 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24806 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24807 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24808 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24809 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24810
24811 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24812
24813 * video/readers/jpeg.c (cmd): Declare.
24814 (grub_cmd_jpegtest): Use `grub_command_t' type.
24815 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24816 Assign to `cmd'.
24817 (GRUB_MOD_FINI): Use `cmd' to unregister.
24818 * video/readers/png.c (cmd): Declare.
24819 (grub_cmd_pngtest): Use `grub_command_t' type.
24820 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24821 Assign to `cmd'.
24822 (GRUB_MOD_FINI): Use `cmd' to unregister.
24823 * video/readers/tga.c (cmd): Declare.
24824 (grub_cmd_tgatest): Use `grub_command_t' type.
24825 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24826 Assign to `cmd'.
24827 (GRUB_MOD_FINI): Use `cmd' to unregister.
24828
24829 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24830
24831 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24832 stops.
24833 * kern/corecmd.c (grub_register_core_commands): Likewise.
24834 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24835 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24836 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24837 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24838 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24839 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24840 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24841 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24842 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24843 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24844 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24845 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24846 * normal/handler.c (insert_handler): Likewise.
24847 * normal/main.c (GRUB_MOD_INIT): Likewise.
24848 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24849
24850 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24851
24852 * commands/help.c (grub_cmd_help): Print the command name before the
24853 summary.
24854 (GRUB_MOD_INIT): Remove command name from the summary.
24855 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24856 string as summary.
24857 * lib/arg.c (find_long): Print the command name before the summary.
24858 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24859 summary.
24860 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24861 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24862 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24863 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24864 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24865 * commands/date.c (GRUB_MOD_INIT): Likewise.
24866 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24867 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24868 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24869 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24870 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24871 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24872 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24873 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24874 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24875 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24876 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24877 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24878 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24879 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24880 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24881 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24882 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24883 * commands/password.c (GRUB_MOD_INIT): Likewise.
24884 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24885 * commands/read.c (GRUB_MOD_INIT): Likewise.
24886 * commands/search.c (GRUB_MOD_INIT): Likewise.
24887 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24888 * commands/test.c (GRUB_MOD_INIT): Likewise.
24889 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24890 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24891 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24892 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24893 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24894 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24895 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24896 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24897 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24898 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24899 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24900 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24901 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24902 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24903
24904 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24905
24906 Use search command for preliminar UUID search.
24907
24908 * commands/search.c: Split into ...
24909 * commands/search_wrap.c: ...this
24910 * commands/search.c: ...and this.
24911 * commands/search_file.c: New file.
24912 * commands/search_label.c: New file.
24913 * commands/search_uuid.c: New file.
24914 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24915 Add commands/search_wrap.c, commands/search_file.c,
24916 commands/search_label.c and commands/search_uuid.c.
24917 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24918 (search_mod_SOURCES): Set to commands/search_wrap.c.
24919 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24920 search_label.mod.
24921 (search_fs_file_mod_SOURCES): New variable.
24922 (search_fs_file_mod_CFLAGS): Likewise.
24923 (search_fs_file_mod_LDFLAGS): Likewise.
24924 (search_label_mod_SOURCES): Likewise.
24925 (search_label_mod_CFLAGS): Likewise.
24926 (search_label_mod_LDFLAGS): Likewise.
24927 (search_fs_uuid_mod_SOURCES): New variable.
24928 (search_fs_uuid_mod_CFLAGS): Likewise.
24929 (search_fs_uuid_mod_LDFLAGS): Likewise.
24930 (fs_file_mod_SOURCES): Removed.
24931 (fs_file_mod_CFLAGS): Likewise.
24932 (fs_file_mod_LDFLAGS): Likewise.
24933 (fs_uuid_mod_SOURCES): Removed.
24934 (fs_uuid_mod_CFLAGS): Likewise.
24935 (fs_uuid_mod_LDFLAGS): Likewise.
24936 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24937 Set to util/grub-install.in.
24938 * disk/fs_file.c: Removed.
24939 * disk/fs_uuid.c: Likewise.
24940 * include/grub/search.h: New file.
24941 * util/grub-install.in: Handle sparc64.
24942 Create and use load.cfg.
24943 * util/sparc64/ieee1275/grub-install.in: Removed.
24944
24945 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24948 Ignore return status if CF is cleared.
24949 (grub_biosdisk_get_diskinfo_standard): Likewise.
24950
24951 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24952
24953 * term/i386/pc/at_keyboard.c
24954 (keyboard_controller_wait_untill_ready): New function.
24955 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24956 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24957 for keyboard polling, rather than duplicate the same loop. This
24958 saves a few bytes in code size.
24959
24960 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 Support for (pxe[:server[:gateway]]) syntax and
24963 use environment variable for PXE.
24964
24965 * commands/i386/pc/pxecmd.c (options): Removed.
24966 (print_ip): Removed.
24967 (grub_cmd_pxe): Removed
24968 (grub_cmd_pxe_unload): New function.
24969 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24970 (grub_pxe_your_ip): Made static.
24971 (grub_pxe_default_server_ip): Likewise.
24972 (grub_pxe_default_gateway_ip): Likewise.
24973 (grub_pxe_blksize): Likewise.
24974 (parse_ip): New function.
24975 (grub_pxe_open): Support server and gateway specification.
24976 (grub_pxe_close): Free disk->data.
24977 (grub_pxefs_open): Use disk->data.
24978 (grub_pxefs_read): Likewise.
24979 (grub_env_write_readonly): New function.
24980 (set_mac_env): Likewise.
24981 (set_env_limn_ro): Likewise.
24982 (parse_dhcp_vendor): Likewise.
24983 (grub_pxe_detect): Set the environment variables.
24984 (set_ip_env): New function.
24985 (write_ip_env): Likewise.
24986 (grub_env_write_pxe_default_server): Likewise.
24987 (grub_env_write_pxe_default_gateway): Likewise.
24988 (grub_env_write_pxe_blocksize): Likewise.
24989 (GRUB_MOD_INIT(pxe)): Set environment variables.
24990 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24991 (grub_pxe_mac_addr_t): ... this. All users updated.
24992 (grub_pxe_your_ip): Removed.
24993 (grub_pxe_server_ip): Likewise.
24994 (grub_pxe_gateway_ip): Likewise.
24995 (grub_pxe_blksize): Likewise.
24996
24997 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24998
24999 * commands/help.c: Include `<grub/i18n.h>'.
25000 (grub_cmd_help): Gettextizze.
25001 (GRUB_MOD_INIT): Likewise.
25002 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25003 (GRUB_MOD_INIT): Gettextizze.
25004 * commands/search.c: Include `<grub/i18n.h>'.
25005 (options): Gettextizze.
25006 (GRUB_MOD_INIT): Gettextizze.
25007 * lib/arg.c: Include `<grub/i18n.h>'.
25008 (help_options): Gettextizze.
25009 (find_long): Likewise.
25010 (grub_arg_show_help): Likewise.
25011 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25012 (read_command_list): Gettextizze.
25013 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
25014 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
25015
25016 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25017
25018 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25019 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25020 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25021 (led_status): New variable.
25022 (keyboard_controller_led): New function.
25023 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25024 update led status for caps lock, num lock and scroll lock.
25025
25026 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
25027
25028 * util/hostdisk.c (open_device): Fix a comment.
25029
25030 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * util/grub-install.in (host_os): New variable.
25033 * util/i386/efi/grub-install.in (host_os): Likewise.
25034
25035 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25036
25037 * util/mkisofs/write.c (padblock_write): Abort when given an
25038 excedingly large embed image, instead of silently truncating it.
25039
25040 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25041
25042 * include/multiboot.h: Indentation fixes.
25043
25044 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25045
25046 * include/multiboot.h (struct multiboot_aout_symbol_table)
25047 (struct multiboot_elf_section_header_table): New structure
25048 declarations (stolen from GRUB Legacy).
25049 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25050 table information.
25051
25052 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25053 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25054 type aliases.
25055
25056 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25057
25058 * include/multiboot.h: Make comments src2texi-friendly.
25059
25060 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25061
25062 For consistency with [multiboot]/docs/boot.S.
25063
25064 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25065 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25066 (MULTIBOOT_MAGIC2): Rename from this ...
25067 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25068
25069 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25070
25071 * include/multiboot.h: Remove `<grub/types.h>'.
25072 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25073 types. Update all users.
25074
25075 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25076
25077 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25078 `couldn't' and `can not' by `cannot'.
25079 * commands/i386/pc/drivemap.c: Likewise.
25080 * disk/ata.c: Likewise.
25081 * disk/ieee1275/nand.c: Likewise.
25082 * fs/affs.c: Likewise.
25083 * fs/fat.c: Likewise.
25084 * fs/hfs.c: Likewise.
25085 * fs/hfsplus.c: Likewise.
25086 * fs/iso9660.c: Likewise.
25087 * fs/jfs.c: Likewise.
25088 * fs/minix.c: Likewise.
25089 * fs/reiserfs.c: Likewise.
25090 * fs/sfs.c: Likewise.
25091 * fs/udf.c: Likewise.
25092 * fs/ufs.c: Likewise.
25093 * fs/xfs.c: Likewise.
25094 * loader/powerpc/ieee1275/linux.c: Likewise.
25095 * loader/sparc64/ieee1275/linux.c: Likewise.
25096 * util/grub-probe.c: Likewise.
25097 * util/misc.c: Likewise.
25098
25099 2009-12-24 Carles Pina i Estany <carles@pina.cat>
25100
25101 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25102 grub_errno calls.
25103 * commands/acpi.c: Likewise.
25104 * commands/blocklist.c: Likewise.
25105 * commands/efi/loadbios.c: Likewise.
25106 * commands/i386/pc/drivemap.c: Likewise.
25107 * commands/loadenv.c: Likewise.
25108 * commands/memrw.c: Likewise.
25109 * commands/password.c: Likewise.
25110 * commands/videotest.c: Likewise.
25111 * disk/ata.c: Likewise.
25112 * disk/ata_pthru.c: Likewise.
25113 * disk/dmraid_nvidia.c: Likewise.
25114 * disk/ieee1275/nand.c: Likewise.
25115 * disk/ieee1275/ofdisk.c: Likewise.
25116 * disk/loopback.c: Likewise.
25117 * disk/lvm.c: Likewise.
25118 * disk/mdraid_linux.c: Likewise.
25119 * disk/raid.c: Likewise.
25120 * disk/raid6_recover.c: Likewise.
25121 * disk/scsi.c: Likewise.
25122 * efiemu/main.c: Likewise.
25123 * efiemu/mm.c: Likewise.
25124 * efiemu/pnvram.c: Likewise.
25125 * efiemu/symbols.c: Likewise.
25126 * font/font.c: Likewise.
25127 * fs/cpio.c: Likewise.
25128 * fs/hfsplus.c: Likewise.
25129 * fs/iso9660.c: Likewise.
25130 * fs/jfs.c: Likewise.
25131 * fs/minix.c: Likewise.
25132 * fs/ntfs.c: Likewise.
25133 * fs/ntfscomp.c: Likewise.
25134 * fs/reiserfs.c: Likewise.
25135 * fs/ufs.c: Likewise.
25136 * fs/xfs.c: Likewise.
25137 * gettext/gettext.c: Likewise.
25138 * include/grub/auth.h: Likewise.
25139 * kern/elf.c: Likewise.
25140 * kern/file.c: Likewise.
25141 * kern/ieee1275/init.c: Likewise.
25142 * kern/ieee1275/mmap.c: Likewise.
25143 * kern/ieee1275/openfw.c: Likewise.
25144 * kern/powerpc/dl.c: Likewise.
25145 * kern/sparc64/dl.c: Likewise.
25146 * lib/arg.c: Likewise.
25147 * loader/i386/bsd.c: Likewise.
25148 * loader/i386/bsdXX.c: Likewise.
25149 * loader/i386/efi/linux.c: Likewise.
25150 * loader/i386/efi/xnu.c: Likewise.
25151 * loader/i386/ieee1275/linux.c: Likewise.
25152 * loader/i386/linux.c: Likewise.
25153 * loader/i386/multiboot.c: Likewise.
25154 * loader/i386/pc/linux.c: Likewise.
25155 * loader/i386/pc/multiboot2.c: Likewise.
25156 * loader/i386/xnu.c: Likewise.
25157 * loader/ieee1275/multiboot2.c: Likewise.
25158 * loader/macho.c: Likewise.
25159 * loader/machoXX.c: Likewise.
25160 * loader/multiboot2.c: Likewise.
25161 * loader/multiboot_loader.c: Likewise.
25162 * loader/powerpc/ieee1275/linux.c: Likewise.
25163 * loader/sparc64/ieee1275/linux.c: Likewise.
25164 * loader/xnu.c: Likewise.
25165 * loader/xnu_resume.c: Likewise.
25166 * mmap/i386/pc/mmap.c: Likewise.
25167 * normal/menu_viewer.c: Likewise.
25168 * partmap/acorn.c: Likewise.
25169 * partmap/amiga.c: Likewise.
25170 * partmap/apple.c: Likewise.
25171 * script/lexer.c: Likewise.
25172 * term/gfxterm.c: Likewise.
25173 * term/i386/pc/serial.c: Likewise.
25174 * term/i386/pc/vga.c: Likewise.
25175 * term/ieee1275/ofconsole.c: Likewise.
25176 * term/terminfo.c: Likewise.
25177 * video/bitmap.c: Likewise.
25178 * video/efi_gop.c: Likewise.
25179 * video/efi_uga.c: Likewise.
25180 * video/fb/video_fb.c: Likewise.
25181 * video/i386/pc/vbe.c: Likewise.
25182 * video/readers/tga.c: Likewise.
25183 * video/video.c: Likewise.
25184
25185 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
25186
25187 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25188 * commands/lspci.c: Likewise.
25189 * commands/probe.c: Likewise.
25190 * commands/xnu_uuid.c: Likewise.
25191 * conf/i386-coreboot.rmk: Likewise.
25192 * conf/i386-efi.rmk: Likewise.
25193 * conf/i386-ieee1275.rmk: Likewise.
25194 * conf/i386-pc.rmk: Likewise.
25195 * conf/powerpc-ieee1275.rmk: Likewise.
25196 * conf/sparc64-ieee1275.rmk: Likewise.
25197 * conf/x86_64-efi.rmk: Likewise.
25198 * fs/i386/pc/pxe.c: Likewise.
25199 * gettext/gettext.c: Likewise.
25200 * include/grub/efi/graphics_output.h: Likewise.
25201 * include/grub/i386/pc/memory.h: Likewise.
25202 * kern/env.c: Likewise.
25203 * kern/i386/qemu/startup.S: Likewise.
25204 * lib/i386/pc/biosnum.c: Likewise.
25205 * lib/i386/relocator.c: Likewise.
25206 * lib/i386/relocator_asm.S: Likewise.
25207 * lib/relocator.c: Likewise.
25208 * loader/i386/bsd.c: Likewise.
25209 * loader/i386/multiboot.c: Likewise.
25210 * loader/i386/pc/chainloader.c: Likewise.
25211 * loader/i386/xnu.c: Likewise.
25212 * loader/xnu.c: Likewise.
25213 * normal/main.c: Likewise.
25214 * normal/menu_text.c: Likewise.
25215 * util/getroot.c: Likewise.
25216 * util/grub-mkconfig_lib.in: Likewise.
25217 * util/grub.d/00_header.in: Likewise.
25218 * util/i386/pc/grub-mkimage.c: Likewise.
25219 * util/mkisofs/eltorito.c: Likewise.
25220 * util/mkisofs/exclude.h: Likewise.
25221 * util/mkisofs/hash.c: Likewise.
25222 * util/mkisofs/iso9660.h: Likewise.
25223 * util/mkisofs/joliet.c: Likewise.
25224 * util/mkisofs/mkisofs.c: Likewise.
25225 * util/mkisofs/mkisofs.h: Likewise.
25226 * util/mkisofs/multi.c: Likewise.
25227 * util/mkisofs/name.c: Likewise.
25228 * util/mkisofs/rock.c: Likewise.
25229 * util/mkisofs/tree.c: Likewise.
25230 * util/mkisofs/write.c: Likewise.
25231 * video/efi_gop.c: Likewise.
25232
25233 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25236 size counting.
25237
25238 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25239
25240 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25241 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25242
25243 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25244
25245 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25246 (GRUB_MOD_INIT(memrw)): Update help line.
25247
25248 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25251 Use grub_extcmd_t. All users updated.
25252 (options): New variable.
25253 (grub_cmd_read): Restructure for readability. Support "-v" option.
25254 (grub_cmd_write): Restructure for readability.
25255
25256 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25257
25258 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25259
25260 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25261
25262 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25263 with the actual contents of the correspondending make variable.
25264 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25265 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25266 specifying `*.lst' and `efiemu??.o'
25267
25268 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25269
25270 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25271 after function name.
25272 Noticed by Rene Engelhard <rene@debian.org>.
25273
25274 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25275
25276 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25277 (options): New variable.
25278 (iospace): Likewise.
25279 (grub_lspci_iter): List IO spaces if "-i" was given.
25280 (grub_cmd_lspci): Parse options.
25281 (GRUB_MOD_INIT(lspci)): Use extcmd.
25282 (GRUB_MOD_FINI(lspci)): Likewise.
25283
25284 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25285
25286 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25287 `function' keyword.
25288 Patch by Tony Mancill <tmancill@debian.org>.
25289
25290 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25291
25292 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25293 (grub_uhci_portstatus): Likewise.
25294 (grub_uhci_portstatus): Add necessary delay.
25295 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
25296
25297 2009-12-21 Carles Pina i Estany <carles@pina.cat>
25298
25299 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25300 (GRUB_MOD_INIT): Likewise.
25301 * commands/boot.c (GRUB_MOD_INIT): Likewise.
25302 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25303 * commands/echo.c (options): Fix capitalizations and/or full stops.
25304 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25305 (enable_rom_area): Likewise.
25306 (GRUB_MOD_INIT): Likewise.
25307 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25308 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25309 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25310 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25311 * commands/hexdump.c (options): Likewise.
25312 * commands/i386/cpuid.c (options): Likewise.
25313 (GRUB_MOD_INIT): Likewise.
25314 * commands/i386/pc/drivemap.c (options): Likewise.
25315 (GRUB_MOD_INIT): Likewise.
25316 * commands/i386/pc/halt (options): Likewise.
25317 (GRUB_MOD_INIT): Likewise.
25318 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25319 * commands/i386/pc/pxecmd.c (options): Likewise.
25320 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25321 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25322 * commands/keystatus.c (options): Likewise.
25323 (GRUB_MOD_INIT): Likewise.
25324 * commands/loadenv.c (options): Likewise.
25325 * commands/ls.c (options): Likewise.
25326 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25327 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25328 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25329 * commands/parttool.c (helpmsg): Likewise.
25330 * commands/probe.c (options): Likewise.
25331 * commands/read.c (GRUB_MOD_INIT): Likewise.
25332 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25333 * commands/search.c (options): Likewise.
25334 * commands/sleep.c (options): Likewise.
25335 * commands/test.c (GRUB_MOD_INIT): Likewise.
25336 * commands/true.c (GRUB_MOD_INIT): Likewise.
25337 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25338 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25339 * lib/arg.c (help_options): Likewise.
25340 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25341 `$(XGETTEXT)'.
25342 * po/POTFILES: Add `commands/loadenv.c'.
25343
25344 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
25345
25346 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
25347 instead of specifying them explicit.
25348
25349 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25350
25351 * NEWS: Add grub-probe support for GNU/Hurd.
25352
25353 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25354
25355 * NEWS: gettext was added after 1.97.
25356
25357 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25358
25359 * util/mkisofs/msdos_partition.h: New file (based on
25360 include/grub/msdos_partition.h).
25361 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25362 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25363 (ld_options, main): Recognize --protective-msdos-label.
25364 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25365 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25366 (padblock_write): If `use_protective_msdos_label' is set, patch a
25367 protective DOS-style label in the output image.
25368
25369 * util/grub-mkrescue.in: Use --protective-msdos-label.
25370
25371 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25372
25373 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25374 boot.
25375
25376 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25377
25378 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25379 variables.
25380 (ld_options, main): Recognize `--embedded-boot'.
25381 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25382 declarations.
25383 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25384 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25385 (padblock_write): Likewise. Rewrite to support embedded boot image.
25386
25387 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25388 for BIOS-based disk boot instead of only ElTorito.
25389
25390 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25391
25392 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25393 build (not needed for bootstrap).
25394
25395 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25396
25397 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25398 from i386-pc build (not needed for bootstrap).
25399 Rewrite a pair of strings.
25400
25401 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25402
25403 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25404
25405 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
25406
25407 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25408
25409 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25410
25411 * kern/env.c (grub_env_context_open): Mark exported variable for
25412 reexport.
25413
25414 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25415
25416 * kern/env.c (grub_env_export): Create nonexistent variables before
25417 exporting.
25418
25419 2009-12-20 Carles Pina i Estany <carles@pina.cat>
25420
25421 * include/grub/auth.h: Include `<grub/i18n.h>'.
25422 (GRUB_GET_PASSWORD): Gettextizze string.
25423 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25424 menu_text.c.
25425 (grub_utf8_to_ucs4_alloc): Fix indentation.
25426 (grub_print_ucs4): Likewise.
25427 (grub_getstringwidth): Likewise.
25428 (print_message_indented): New declaration.
25429 * normal/auth.c: Include `<grub/i18n.h>'.
25430 (grub_auth_check_authentication): Gettexttize string.
25431 * normal/cmdline.c: Include `<grub/i18n.h>'.
25432 (grub_cmdline_get): Gettextizze.
25433 * normal/color.c: Include `<grub/i18n.h>'.
25434 (grub_parse_color_name_pair): Gettexttize strings.
25435 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25436 string (use `print_message_indented').
25437 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25438 `include/grub/normal.h'.
25439 (print_message_indented): Renamed to ...
25440 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25441 used in normal/main.c).
25442 (print_message): Use `grub_print_message_indented' instead of
25443 `print_message_indented'.
25444 (print_timeout): Likewise.
25445 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25446 (grub_normal_print_device_info): Gettexttize strings.
25447 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25448
25449 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25450
25451 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25452 of arguments. Return number of tokens and not arguments. All users
25453 updated.
25454
25455 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25458 non-MSDOS paritions.
25459
25460 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 * include/grub/types.h (UNUSED): Removed since it conflicts with
25463 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25464 Reported by Grégoire Sutre.
25465
25466 2009-12-19 Carles Pina i Estany <carles@pina.cat>
25467
25468 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25469 (grub_print_ucs4_alloc): Likewise.
25470 (grub_getstringwidth): Likewise.
25471 * normal/main.c (grub_normal_init_page): Gettextize version string.
25472 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25473 (getstringwidth): Renamed to ...
25474 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25475 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25476 (grub_print_ucs4): Remove `static' qualifer (now used in
25477 normal/main.c).
25478 * po/POTFILES: Add normal/main.c.
25479
25480 2009-12-19 Carles Pina i Estany <carles@pina.cat>
25481
25482 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25483 (print_message_indented): Add `margin_left' and `margin_right'
25484 parameters.
25485 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25486 strings.
25487 (print_timeout): Use `print_message_indented' to print the message.
25488 Deletes `second_stage' parameter.
25489 (run_menu): Update `print_timeout' calls.
25490
25491 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25492
25493 Fix console palette on OpenFirmware.
25494
25495 * term/ieee1275/ofconsole.c (MAX): Removed.
25496 (colors): Redone based on VGA palette.
25497 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25498 colors are supported.
25499 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25500
25501 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25502
25503 Fix potential EfiEmu double prepare.
25504
25505 * efiemu/main.c (prepared): New variable
25506 (grub_efiemu_unload): Set prepare to '0'.
25507 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25508
25509 set_virtual_address_map support.
25510
25511 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25512 prototype.
25513 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25514 prototype.
25515 (grub_efiemu_crc32): Likewise.
25516 (grub_efiemu_crc64): Likewise.
25517 (grub_efiemu_set_virtual_address_map): Likewise.
25518 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25519 New definition.
25520 (grub_autoefi_set_virtual_address_map): Likewise.
25521 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25522 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25523 Restructure flow to accomodate it.
25524 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25525 (grub_efiemu_crc): Recompute CRC32.
25526 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25527 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25528 * efiemu/symbols.c (relocated_handle): New variable.
25529 (grub_efiemu_free_syms): Free relocated_handle.
25530 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25531 (grub_efiemu_write_sym_markers): New function.
25532 (grub_efiemu_set_virtual_address_map): Likewise.
25533
25534 Newer XNU parameters.
25535
25536 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25537 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25538 (grub_xnu_fill_devicetree): New prototype.
25539 (grub_xnu_heap_real_start): New variable.
25540 * loader/xnu.c (get_name_ptr): New function.
25541 (grub_xnu_load_driver): Fill namelen and name.
25542
25543 64-bit xnu support.
25544
25545 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25546 and 'loader/macho64.c'.
25547 * conf/i386-pc.rmk: Likewise.
25548 * conf/x86_64-efi.rmk: Likewise.
25549 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25550 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25551 * include/grub/macho.h (grub_macho_segment64): New structure.
25552 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25553 (grub_macho_size32): ... to this.
25554 (grub_macho32_get_entry_point): Renamed from ...
25555 (grub_macho_get_entry_point32): ... to this.
25556 (grub_macho_contains_macho64): New prototype.
25557 (grub_macho_size64): Likewise.
25558 (grub_macho_get_entry_point64): Likewise.
25559 (grub_macho32_load): Renamed from ...
25560 (grub_macho_load32): ... to this.
25561 (grub_macho32_filesize): Renamed from ...
25562 (grub_macho_filesize32): ... to this.
25563 (grub_macho32_readfile): Renamed from ...
25564 (grub_macho_readfile32): ... to this.
25565 (grub_macho_filesize64): New prototype.
25566 (grub_macho_readfile64): Likewise.
25567 (grub_macho_parse32): Likewise.
25568 (grub_macho_parse64): Likewise.
25569 * loader/macho.c: Split into ...
25570 * loader/machoXX.c: ... and this. Replace 32 with XX.
25571 * loader/macho32.c: New file.
25572 * loader/macho64.c: Likewise.
25573 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25574 (grub_cmd_xnu_kernel): Make 32-bit only.
25575 (grub_cmd_xnu_kernel64): New function.
25576 (grub_xnu_load_driver): Support Mach-O 64.
25577 (grub_cmd_xnu_mkext): Likewise.
25578 * util/grub.d/30_os-prober.in (osx_entry): New function.
25579 Generate entries for 64-bit boot too.
25580
25581 Eliminate ad-hoc tree format in XNU and EfiEmu.
25582
25583 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25584 * efiemu/pnvram.c: Rewritten to use environment variables.
25585 All users updated.
25586
25587 Inline utf16_to_utf8.
25588
25589 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25590 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25591 All users updated.
25592 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25593
25594 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25595 * commands/usbtest.c (grub_usb_get_string): ... move here.
25596 (usb_print_str): Fix error handling.
25597 * include/grub/usb.h (grub_usb_get_string): Remove.
25598
25599 UTF-8 to UTF-16 transformation.
25600
25601 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25602 (charset_mod_SOURCES): New variable.
25603 (charset_mod_CFLAGS): Likewise.
25604 (charset_mod_LDFLAGS): Likewise.
25605 * include/grub/utf.h: New file.
25606 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25607
25608 Support for device properties.
25609
25610 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25611 (grub_xnu_devprop_device_header): Likewise.
25612 (grub_xnu_devprop_device_descriptor): Likewise.
25613 (grub_xnu_devprop_add_device): New prototype.
25614 (grub_xnu_devprop_remove_device): Likewise.
25615 (grub_xnu_devprop_remove_property): Likewise.
25616 (grub_xnu_devprop_add_property_utf8): Likewise.
25617 (grub_xnu_devprop_add_property_utf16): Likewise.
25618 (grub_cpu_xnu_init): Likewise.
25619 (grub_cpu_xnu_fini): Likewise.
25620 (grub_cpu_xnu_unload): Likewise.
25621 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25622 (property_descriptor): Likewise.
25623 (devices): New variable.
25624 (grub_xnu_devprop_remove_property): New function.
25625 (grub_xnu_devprop_add_device): Likewise.
25626 (grub_xnu_devprop_remove_device): Likewise.
25627 (grub_xnu_devprop_add_property): Likewise.
25628 (grub_xnu_devprop_add_property_utf8): Likewise.
25629 (grub_xnu_devprop_add_property_utf16): Likewise.
25630 (hextoval): Likewise.
25631 (grub_cpu_xnu_fill_devprop): Likewise.
25632 (grub_cmd_devprop_load): Likewise.
25633 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25634 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25635 (cmd_devprop_load): New variable.
25636 (grub_cpu_xnu_init): New function.
25637 (grub_cpu_xnu_fini): Likewise.
25638 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25639 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25640 (grub_cmd_xnu_devtree): Likewise.
25641 (hextoval): New function.
25642 (unescape): Likewise.
25643 (grub_xnu_fill_devicetree): Likewise.
25644
25645 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25646 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25647
25648 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25649
25650 Workaround for broken ATI VBE.
25651
25652 * video/i386/pc/vbe.c (last_set_mode): New variable.
25653 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25654 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25655 (grub_video_vbe_setup): Don't check for reserved flag.
25656
25657 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
25658
25659 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25660 the `find' command.
25661
25662 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25663
25664 UUID support for HFS.
25665
25666 * fs/hfs.c (grub_hfs_uuid): New function.
25667 (grub_hfs_fs): New value .uuid.
25668 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25669
25670 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
25671
25672 Fix a segfault with parsing unknown long options.
25673
25674 * util/grub-mkrelpath.c (options): Zero terminate it.
25675
25676 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25677
25678 * include/grub/misc.h (grub_puts): New declaration.
25679 (grub_puts_): Likewise.
25680 * kern/misc.c (grub_puts): New definition.
25681 (grub_puts_): Likewise.
25682
25683 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25684
25685 * util/grub-probe.c (probe): Improve error message.
25686
25687 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25688
25689 * loader/i386/multiboot_elfxx.c
25690 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25691 initialization.
25692
25693 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25694
25695 Relocator framework
25696
25697 * loader/i386/xnu_helper.S: Removed. All users updated.
25698 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25699 (relocator_mod_SOURCES): New variable.
25700 (relocator_mod_CFLAGS): Likewise.
25701 (relocator_mod_LDFLAGS): Likewise.
25702 (relocator_mod_ASFLAGS): Likewise.
25703 * conf/x86_64.rmk: Likewise.
25704 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25705 (grub_multiboot_payload_entry_offset): Likewise.
25706 (grub_multiboot_forward_relocator): Likewise.
25707 (grub_multiboot_forward_relocator_end): Likewise.
25708 (grub_multiboot_backward_relocator): Likewise.
25709 (grub_multiboot_backward_relocator_end): Likewise.
25710 (grub_multiboot_payload_eip): New variable.
25711 (grub_multiboot_payload_orig): Likewise.
25712 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25713 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25714 * include/grub/i386/memory.h
25715 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25716 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25717 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25718 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25719 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25720 * include/grub/i386/relocator.h: New file.
25721 * include/grub/x86_64/relocator.h: Likewise.
25722 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25723 (XNU_RELOCATOR): New macro.
25724 (grub_xnu_launcher_start): Remove.
25725 (grub_xnu_launcher_end): Likewise.
25726 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25727 (grub_xnu_heap_real_start): Remove.
25728 (grub_xnu_heap_start): Change to void *. All users updated.
25729 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25730 * lib/i386/relocator.c: New file.
25731 * lib/i386/relocator_asm.S: Likewise.
25732 * lib/i386/relocator_backward.S: Likewise.
25733 * lib/mips/relocator.c: Likewise.
25734 * lib/mips/relocator_asm.S: Likewise.
25735 * lib/relocator.c: Likewise.
25736 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25737 (entry): Removed.
25738 (playground): Likewise.
25739 (grub_multiboot_payload_orig): New variable.
25740 (grub_multiboot_payload_dest): Likewise.
25741 (grub_multiboot_payload_size): Likewise.
25742 (grub_multiboot_payload_eip): Likewise.
25743 (grub_multiboot_payload_esp): Likewise.
25744 (grub_multiboot_boot): Use grub_relocator32_boot.
25745 (grub_multiboot_unload): Free relocators.
25746 (grub_multiboot): Setup stack. Use relocators.
25747 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25748 (grub_multiboot_load_elfXX): Use relocators.
25749 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25750 (grub_multiboot_payload_size): Likewise.
25751 (grub_multiboot_payload_dest): Likewise.
25752 (grub_multiboot_payload_entry_offset): Likewise.
25753 (grub_multiboot_forward_relocator): Likewise.
25754 (grub_multiboot_backward_relocator): Likewise.
25755 (grub_multiboot_real_boot): Likewise.
25756 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25757 (grub_xnu_entry_point): Likewise.
25758 (grub_xnu_arg1): Likewise.
25759 (grub_xnu_stack): Likewise.
25760 (grub_xnu_launch): Removed.
25761 (grub_xnu_boot_resume): New function.
25762 (grub_xnu_boot): Use relocators.
25763 * loader/i386/xnu_helper.S: Removed.
25764 * loader/xnu.c (grub_xnu_heap_start): New variable.
25765 (grub_xnu_heap_size): Likewise.
25766 (grub_xnu_heap_malloc): Use relocators.
25767 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25768
25769 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25770
25771 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25772 anything.
25773
25774 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25775
25776 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25777 GRUB_ERR_NONE before calling grub_env_set.
25778
25779 2009-12-12 Robert Millan <rmh@aybabtu.com>
25780
25781 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25782 * genmk.rb (video): New variable.
25783 (CLEANFILES, VIDEOFILES): Add #{video}.
25784 (#{video}): New target rule.
25785 * genvideolist.sh: New file.
25786 * Makefile.in (pkglib_DATA): Add video.lst.
25787 (video.lst): New target rule.
25788 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25789 `video.lst'.
25790 * util/grub.d/30_os-prober.in: Replace `vbe' with
25791 ${GRUB_VIDEO_BACKEND}.
25792
25793 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25794
25795 * THANKS: Add David Miller.
25796
25797 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25798
25799 libpciaccess support.
25800
25801 * Makefile.in (LIBPCIACCESS): New variable.
25802 (enable_grub_emu_pci): Likewise.
25803 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25804 util/pci.c and commands/lspci.c.
25805 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25806 * configure.ac (grub-emu-pci): New option.
25807 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25808 (grub_pci_device_unmap_range): Likewise.
25809 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25810 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25811 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25812 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25813 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25814 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25815 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25816 * include/grub/pciutils.h: New file.
25817 * util/pci.c: Likewise.
25818
25819 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25820
25821 * util/misc.c: Don't include <errno.h> twice.
25822
25823 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25824
25825 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25826 name in an error message.
25827 (grub_biosdisk_rw): Likewise.
25828
25829 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25830
25831 Eliminate NTFS 4Gib barrier.
25832
25833 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25834 (read_run_data): Likewise.
25835 (grub_ntfs_read_run_list): Likewise.
25836 (grub_ntfs_read_block): Likewise.
25837 (grub_ntfs_iterate_dir): Likewise.
25838 (read_mft): Likewise.
25839 (read_data): Likewise.
25840 Use COM_LOG_LEN.
25841 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25842 to avoid 64-bit division
25843 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25844 (grub_ntfs_rlst): Use grub_disk_addr_t.
25845
25846 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25847
25848 Eliminate grub-fstest 4Gib barrier.
25849
25850 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25851 (read_file): Fix error reporting.
25852
25853 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25854
25855 Eliminate hexdump 4Gib barrier.
25856
25857 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25858 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25859
25860 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25861
25862 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25863 Fixes amarsh bug.
25864
25865 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25866
25867 Remove miscellaneous files in distclean target.
25868
25869 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25870
25871 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25872
25873 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25874 if they're already set. This resolves the conflict between my
25875 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25876 fixing the --grub-probe option again.
25877 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25878 change on 2009-10-06, so that we now once again source
25879 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25880
25881 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25882
25883 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25884 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25885 `util/devicemap.c'.
25886
25887 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25888
25889 * include/grub/misc.h (grub_printf_): New declaration.
25890 * kern/misc.c (grub_printf_): New definition.
25891 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25892 instead of `grub_printf' and `_'.
25893 * normal/menu_entry.c (store_completion): Likewise.
25894 (run): Likewise.
25895 (grub_menu_entry_run): Likewise.
25896 * normal/menu_text.c (grub_wait_after_message): Likewise.
25897 (notify_booting): Likewise.
25898 (notify_fallback): Likewise.
25899 (notify_execution_failure): Likewise.
25900
25901 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25902
25903 * configure.ac: Check for vasprintf.
25904 * util/misc.c (asprintf): Move allocation from here ...
25905 (vasprintf): ... to here. New function.
25906 (xasprintf): New function.
25907 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25908 prototypes.
25909 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25910 * util/grub-mkfont.c (write_font): Likewise.
25911 * util/grub-probe.c (probe): Likewise.
25912 * util/hostdisk.c (make_device_name): Likewise.
25913
25914 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25915
25916 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25917 anything even prefixed with 'cdrom' as a cdrom.
25918
25919 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25920
25921 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25922 mount points.
25923
25924 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25925
25926 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25927 grub_gettext_msg_list.
25928 (grub_gettext_gettranslation_from_position): Return const char *
25929 and not char *.
25930 (grub_gettext_translate): Add the translated strings into a list,
25931 returns from the list if existing there.
25932 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25933 (grub_gettext_delete_list): Delete the list.
25934 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25935 lang environment variable is changed.
25936 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25937
25938 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25939
25940 Rename kernel.mod to kernel.img.
25941
25942 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25943 (kernel_mod_EXPORTS): Rename to ...
25944 (kernel_img_EXPORTS): ... this.
25945 (kernel_mod_SOURCES): Rename to ...
25946 (kernel_img_SOURCES): ... this.
25947 (kernel_mod_HEADERS): Rename to ...
25948 (kernel_img_HEADERS): ... this. All users updated.
25949 (kernel_mod_CFLAGS): Rename to ...
25950 (kernel_img_CFLAGS): ... this.
25951 (kernel_mod_ASFLAGS): Rename to ...
25952 (kernel_img_ASFLAGS): ... this.
25953 (kernel_mod_LDFLAGS): Rename to ...
25954 (kernel_img_LDFLAGS): ... this.
25955 * conf/x86_64-efi.rmk: Likewise.
25956 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25957 (read_kernel_image): ... this. All users updated.
25958 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25959
25960 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25961
25962 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25963 (print_spaces): New function.
25964 (grub_print_ucs4): New function.
25965 (getstringwidth): New function.
25966 (print_message_indented): New function.
25967 (print_message): Gettexttize strings using print_message_indented.
25968 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25969 width.
25970 (get_entry_number): Gettextize and uses dynamic terminal width.
25971 (notify_booting, notify_fallback, notify_execution_failure):
25972 Gettextize.
25973 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25974 string.
25975 (run): Likewise.
25976 (grub_menu_entry_run): Likewise.
25977 * PO/POTFILES: Add normal/menu_entry.c.
25978
25979 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25980
25981 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25982
25983 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25984
25985 * util/grub-install.in: Install gettext .mo files.
25986 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25987
25988 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25989
25990 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25991 grub_dprintf.
25992
25993 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25994
25995 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25996 non-firmware-dependant one in realmode.S takes precedence.
25997
25998 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25999
26000 * commands/halt.c: Replace misc arch-specific headers with
26001 `<grub/misc.h>'.
26002 * commands/reboot.c: Likewise.
26003 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26004 `<grub/misc.h>'.
26005 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26006 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26007 (kernel_img_SOURCES): ... to here.
26008
26009 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26010 * include/grub/i386/pc/init.h: Likewise.
26011 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26012 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26013
26014 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26015
26016 * include/grub/i386/halt.h: Remove.
26017 * include/grub/i386/reboot.h: Likewise.
26018
26019 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26020
26021 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
26022
26023 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26024 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26025 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26026 "progname.h"
26027 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26028 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26029 (usage): Add missing comma in printf.
26030
26031 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26032
26033 Use the same reboot approach on i386 coreboot and qemu as we do on
26034 BIOS.
26035
26036 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26037 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26038 * kern/i386/reboot.c: Remove.
26039 * include/grub/i386/reboot.h (grub_reboot): Export function.
26040 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26041 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26042 0xf000:0xfff0 instead of 0xffff:0x0000.
26043 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26044 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26045
26046 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26047
26048 Fix $srcdir != $objdir build.
26049
26050 * Makefile.in (po/%.po): Rewrite as ...
26051 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26052
26053 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26054
26055 Fix GNU/Hurd grub-install crash.
26056 * util/grub-probe.c (probe): Try to access `path' only when it is not
26057 NULL.
26058
26059 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 Correct module naming.
26062
26063 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26064 (GRUB_MOD_INIT(efi_uga)): ... to this
26065 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26066 (GRUB_MOD_FINI(efi_uga)): ... to this
26067 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26068 (GRUB_MOD_INIT(efi_gop)): ... to this
26069 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26070 (GRUB_MOD_FINI(efi_gop)): ... to this
26071
26072 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26075 translatable.
26076 (usage): Translate `arg' strings using gettext().
26077 Thanks to Jordi Mallach for the suggestion.
26078
26079 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26080
26081 GOP support. Based on patch from Bean
26082 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26083
26084 * video/efi_gop.c: New file.
26085 * include/grub/efi/graphics_output.h: Likewise.
26086 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26087 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26088 variables.
26089 * conf/x86_64-efi.rmk: Likewise.
26090
26091 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26092
26093 Rename efi_fb to efi_uga.
26094
26095 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26096 'efi_uga.mod'.
26097 (efi_fb_mod_SOURCES): Rename this ...
26098 (efi_uga_mod_SOURCES): ... to this.
26099 (efi_fb_mod_CFLAGS): Rename this ...
26100 (efi_uga_mod_CFLAGS): ... to this.
26101 (efi_fb_mod_LDFLAGS): Rename this ...
26102 (efi_uga_mod_LDFLAGS): ... to this.
26103 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26104 'efi_uga.mod'.
26105 (efi_fb_mod_SOURCES): Rename this ...
26106 (efi_uga_mod_SOURCES): ... to this.
26107 (efi_fb_mod_CFLAGS): Rename this ...
26108 (efi_uga_mod_CFLAGS): ... to this.
26109 (efi_fb_mod_LDFLAGS): Rename this ...
26110 (efi_uga_mod_LDFLAGS): ... to this.
26111 * video/efi_fb.c: Move this ...
26112 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26113
26114 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26115
26116 * po/README: New file. Explain our PO file workflow.
26117
26118 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26119
26120 * po/ChangeLog: Remove. Move relevant entries back to ...
26121 * ChangeLog: ... here.
26122 * po/ca.po: Remove (now handled by TLP).
26123 * po/id.po: Likewise.
26124 * po/zh_CN.po: Likewise.
26125 * Makefile.in (LINGUAS): Initialize in a way that supports
26126 empty set.
26127
26128 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26129
26130 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26131 reliing on po/LINGUAS.
26132 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26133 (po/%.po): ... this.
26134
26135 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26136
26137 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26138 (main): Use `program_name' instead of nonexistent `progname'.
26139
26140 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26141
26142 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26143 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26144
26145 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26146
26147 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26148 commit.
26149 * conf/i386-efi.rmk: Likewise.
26150 * conf/i386-ieee1275.rmk: Likewise.
26151 * conf/powerpc-ieee1275.rmk: Likewise.
26152 * conf/sparc64-ieee1275.rmk: Likewise.
26153 * conf/x86_64-efi.rmk: Likewise.
26154
26155 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26156
26157 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26158
26159 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26160
26161 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26162
26163 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26164
26165 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26166 (grub_mkdevicemap_SOURCES): New variable.
26167 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26168 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26169 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26170 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26171 (grub_mkdevicemap_SOURCES): Remove.
26172 * conf/i386-efi.rmk: Likewise.
26173 * conf/i386-ieee1275.rmk: Likewise.
26174 * conf/i386-pc.rmk: Likewise.
26175 * conf/powerpc-ieee1275.rmk: Likewise.
26176 * conf/sparc64-ieee1275.rmk: Likewise.
26177 * conf/x86_64-efi.rmk: Likewise.
26178 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26179 (usage): Fix strings to use `program_name'.
26180 (main): Initialize gettext.
26181 * util/grub-editenv.c: Likewise.
26182 * util/grub-emu.c: Likewise.
26183 * util/grub-fstest.c: Likewise.
26184 * util/grub-mkdevicemap.c: Likewise.
26185 * util/grub-mkfont.c: Likewise.
26186 * util/grub-mkrelpath.c: Likewise.
26187 * util/grub-pe2elf.c: Likewise.
26188 * util/grub-probe.c: Likewise.
26189 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26190 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26191 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26192
26193 * util/misc.c: Include `"progname.h"'.
26194 (progname): Remove variable.
26195 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26196
26197 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26198
26199 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26200 printf and print a newline after the menuentry header line.
26201 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26202
26203 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26204
26205 autoconf >= 2.60 support $(localedir).
26206
26207 * INSTALL: Note that autoconf 2.60 is required.
26208 * configure.ac (AC_PREREQ): Bump to 2.60.
26209 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26210 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26211
26212 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26213
26214 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26215 aclocal is run.
26216
26217 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26218
26219 * normal/main.c (grub_normal_read_line): Fix off-by-one
26220 buffer overflow.
26221
26222 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26225 "parser.grub" in grub_command_execute() call.
26226
26227 2009-11-24 Carles Pina i Estany <carles@pina.cat>
26228
26229 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26230 * conf/i386-efi.rmk: Likewise.
26231 * conf/i386-ieee1275.rmk: Likewise.
26232 * conf/i386-pc.rmk: Likewise.
26233 * conf/powerpc-ieee1275.rmk: Likewise.
26234 * conf/sparc64-ieee1275.rmk: Likewise.
26235 * conf/x86_64-efi.rmk: Likewise.
26236 * gettext/gettex.c: Include <grub/i18n.h>.
26237 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26238 here ...
26239 * include/grub/i18n.h: ... to here
26240 * include/grub/i18n.h: ... to here.
26241 * kern/misc.c: Include <grub/i18n.h>
26242 (grub_gettext_dummy): Move above user.
26243
26244 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26245
26246 * util/Makefile.in (install-local): Convert a `for' into a normal
26247 shell expansion.
26248
26249 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26250
26251 * autogen.sh: Add automake call.
26252 * config.guess: Remove.
26253 * config.sub: Likewise.
26254 * install-sh: Likewise.
26255
26256 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26257
26258 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26259
26260 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26261
26262 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26263 function to a normal shell `for'.
26264
26265 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26266
26267 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26268
26269 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26270
26271 * util/grub-mkrelpath.c: New file.
26272 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26273 (grub_mkrelpath_SOURCES): New variable.
26274 * include/grub/util/misc.h: New function prototype.
26275 * util/misc.c (make_system_path_relative_to_its_root): New function.
26276
26277 * util/grub-mkconfig_lib.in (bindir): New variable.
26278 (grub_mkrelpath): Likewise.
26279 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26280
26281 * util/probe.c (probe): Make the file path relative to its root.
26282 Change a info message to use the GRUB path. Enable again the
26283 check if we can read the file with GRUB facilities.
26284
26285 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26286 to its root.
26287
26288 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26289
26290 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26291 platform.
26292
26293 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26294
26295 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26296 strncmp().
26297
26298 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26299
26300 * util/getroot.c (grub_util_is_dmraid): New function.
26301 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26302 devices as normal ones, not as LVM.
26303
26304 2009-11-23 Carles Pina i Estany <carles@pina.cat>
26305
26306 * conf/common.rmk: Add grub-gettext_lib target and updates
26307 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26308 LDFLAGS.
26309 * gettext/gettext.c: New file. (Reads mo files).
26310 * include/grub/file.h (grub_file_pread): New prototype.
26311 * include/grub/i18n.h (_): New prototype.
26312 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26313 prototypes.
26314 * kern/misc.c (grub_gettext_dummy): New function.
26315 * normal/menu_text.c: Include <grub/i18n.h>.
26316 * normal/menu_text.c (print_timeout): Gettexttize string.
26317 * normal/menu_text.c (print_message): Gettexttize string.
26318 * po/POTFILES: Add `normal/menu_text.c'.
26319 * po/ca.po: Add new translations.
26320 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26321 gettext module and defines locale_dir and lang in grub.cfg.
26322 * NEWS: Add gettext support.
26323
26324 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26325
26326 * util/hostdisk.c: Include `<grub/i18n.h>'.
26327 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26328 (make_device_name): Rewrite using asprintf.
26329 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26330 (find_system_device): If a device is not found, generate one just
26331 by reusing the OS path name.
26332 (read_device_map): Make it permissible for device.map not to exist.
26333
26334 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26335
26336 * script/sh/execute.c: Move from here ...
26337 * script/execute.c: ... to here. Update all users.
26338 * script/sh/function.c: Move from here ...
26339 * script/function.c: ... to here. Update all users.
26340 * script/sh/lexer.c: Move from here ...
26341 * script/lexer.c: ... to here. Update all users.
26342 * script/sh/main.c: Move from here ...
26343 * script/main.c: ... to here. Update all users.
26344 * script/sh/parser.y: Move from here ...
26345 * script/parser.y: ... to here. Update all users.
26346 * script/sh/script.c: Move from here ...
26347 * script/script.c: ... to here. Update all users.
26348
26349 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26350
26351 * configure.ac: Detect all `emu' platforms. Define
26352 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26353 --enable-grub-emu logic. Disable include/grub/machine
26354 symlink on `emu' platforms.
26355
26356 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26357 * gensymlist.sh.in: Likewise.
26358
26359 * include/grub/i386/coreboot/machine.h: Remove file.
26360 * include/grub/i386/efi/machine.h: Likewise.
26361 * include/grub/i386/ieee1275/machine.h: Likewise.
26362 * include/grub/i386/pc/machine.h: Likewise.
26363 * include/grub/i386/qemu/machine.h: Likewise.
26364 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26365 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26366 * include/grub/x86_64/efi/machine.h: Likewise.
26367
26368 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26369 * commands/halt.c: Likewise.
26370 * commands/reboot.c: Likewise.
26371 * include/grub/autoefi.h: Likewise.
26372 * include/grub/i386/at_keyboard.h: Likewise.
26373 * include/grub/i386/kernel.h: Likewise.
26374 * include/grub/i386/loader.h: Likewise.
26375 * include/grub/i386/pc/memory.h: Likewise.
26376 * kern/dl.c: Likewise.
26377 * kern/i386/coreboot/init.c: Likewise.
26378 * loader/i386/bsd.c: Likewise.
26379 * loader/i386/linux.c: Likewise.
26380 * loader/multiboot_loader.c: Likewise.
26381 * term/i386/pc/serial.c: Likewise.
26382 * term/usb_keyboard.c: Likewise.
26383
26384 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26385 `<grub/machine/machine.h>'
26386 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26387 * util/misc.c: Remove `<grub/machine/machine.h>' and
26388 `<grub/machine/time.h>'.
26389
26390 * Makefile.in (enable_grub_emu): Remove variable.
26391 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26392
26393 * conf/any-emu.rmk: New file.
26394 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26395 (grub_emu_init.c): Move from here ...
26396 * conf/any-emu.rmk: ... to here.
26397
26398 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26399 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26400 * conf/any-emu.rmk: ... to here.
26401
26402 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26403
26404 * include/grub/parser.h (grub_parser_register): Document need
26405 of `name' parameter.
26406 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26407 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26408 "sh" to "grub".
26409
26410 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26411
26412 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26413 `$(XGETTEXT)'.
26414 * include/grub/i18n.h (N_): New macro.
26415 * util/mkisofs/mkisofs.h: Likewise.
26416 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26417 around N_().
26418 (usage): Use gettext() to translate help strings when printing them.
26419
26420 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26421
26422 Based on patch from Bean
26423 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26424
26425 * video/efi_fb.c: New file.
26426 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26427 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26428 variables.
26429 * conf/x86_64-efi.rmk: Likewise.
26430
26431 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26432
26433 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26434 * util/i386/pc/grub-setup.c: Likewise.
26435
26436 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26437
26438 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26439 <hurd/fs.h>
26440 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26441 file_get_storage_info to implement grub_guess_root_device.
26442
26443 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26444
26445 * Makefile.in (target): Use make's builtin $(shell) function
26446 instead of calling directly $(SHELL) to create the locale directories,
26447 inside the $(foreach) function.
26448
26449 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26450
26451 * util/grub-mkrescue.in: Print an error and usage if output option
26452 has not been given.
26453
26454 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26455
26456 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26457 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26458 root and /boot are on different devices.
26459
26460 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26461
26462 Fix build for srcdir != objdir.
26463
26464 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26465 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26466 $(srcdir).
26467 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26468 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26469 reference for input.
26470
26471 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26472
26473 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26474 or hardlinking it). Remove -J option, Joliet is not compatible with
26475 multiple source directories.
26476
26477 2009-11-21 Carles Pina i Estany <carles@pina.cat>
26478 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26479
26480 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26481 (process_input_dir): New function. Process an arbitrary input
26482 directory.
26483 Misc adjustments to support both "override mode" and system-wide mode.
26484
26485 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
26486
26487 * configure.ac (UNIFONT_BDF): Rename to ...
26488 (FONT_SOURCE): ... this. Update all users.
26489
26490 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
26491
26492 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26493 to the list of unifont files to look for.
26494
26495 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26496
26497 Patch from Joe Auricchio <jauricchio@gmail.com>
26498 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26499 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26500 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26501
26502 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26503
26504 * Makefile.in (install-local): Add a missing backslash.
26505
26506 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26507
26508 * include/grub/x86_64/io.h: New file.
26509
26510 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26511
26512 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26513 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26514 Include `"progname.h"'.
26515 (main): Initialize gettext.
26516 * util/i386/pc/grub-setup.c: Gettexttize.
26517 * util/i386/pc/grub-mkimage.c: Likewise.
26518
26519 * Makefile.in (po/*.po): Redefine as ...
26520 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26521
26522 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26523
26524 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26525
26526 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26527 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26528 (program_name): Remove.
26529 (main): Initialize gettext support.
26530 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26531 Include `<libintl.h>'.
26532 (_): New macro.
26533
26534 * util/mkisofs/eltorito.c: Gettexttize.
26535 * util/mkisofs/joliet.c: Likewise.
26536 * util/mkisofs/mkisofs.c: Likewise.
26537 * util/mkisofs/multi.c: Likewise.
26538 * util/mkisofs/rock.c: Likewise.
26539 * util/mkisofs/tree.c: Likewise.
26540 * util/mkisofs/write.c: Likewise.
26541
26542 * po/POTFILES: Update with new files.
26543
26544 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26545
26546 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26547 * util/mkisofs/iso9660.h: Likewise.
26548 * util/mkisofs/joliet.c: Likewise.
26549 * util/mkisofs/mkisofs.c: Likewise.
26550 * util/mkisofs/mkisofs.h: Likewise.
26551 * util/mkisofs/rock.c: Likewise.
26552 * util/mkisofs/tree.c: Likewise.
26553 * util/mkisofs/write.c: Likewise.
26554
26555 * util/mkisofs/eltorito.c (rcsid): Remove.
26556 * util/mkisofs/hash.c: Likewise.
26557 * util/mkisofs/joliet.c: Likewise.
26558 * util/mkisofs/name.c: Likewise.
26559 * util/mkisofs/rock.c: Likewise.
26560 * util/mkisofs/tree.c: Likewise.
26561 * util/mkisofs/write.c: Likewise.
26562
26563 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26564
26565 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26566 instead of static allocation.
26567 * util/mkisofs/match.h: Likewise.
26568
26569 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26570
26571 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26572 and `util/grub.d/10_linux.in'.
26573 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26574 translatable Shell files.
26575
26576 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26577
26578 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26579
26580 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26581
26582 * INSTALL: Document Automake is needed for bootstrap.
26583 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
26584 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26585 Add gettext initialization.
26586 (kfreebsd_entry): Make menuentry output translatable.
26587
26588 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26591 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26592 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26593 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26594 (LINGUAS): Auto-generate using `po/LINGUAS'.
26595 * po/LINGUAS: New file.
26596
26597 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26598
26599 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26600 other things).
26601 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26602 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26603 bindtextdomain() calls for gettext initialization.
26604
26605 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26606
26607 * gnulib/progname.c: New file (imported from Gnulib).
26608 * gnulib/progname.h: Likewise.
26609 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26610 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26611 (usage): Replace `progname' with `program_name'.
26612 (main): Use set_program_name() for program name initialization.
26613
26614 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26615
26616 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26617 from here ...
26618 * Makefile.in (CPPFLAGS): ... to here.
26619
26620 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26621
26622 * aclocal.m4: Move from here ...
26623 * acinclude.m4: ... to here.
26624 * autogen.sh: Add call to `aclocal'.
26625 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26626
26627 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26628
26629 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26630 (LINGUAS): New variable.
26631 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26632 (install-local): Install MO files.
26633 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26634 * include/grub/i18n.h: New file.
26635 * po/POTFILES: New file.
26636 * po/ca.po: New file.
26637 * util/grub.d/10_linux.in (bindir): New variable.
26638 Add gettext initialization.
26639 (linux_entry): Make menuentry output translatable.
26640 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26641 (usage): Make --help output translatable.
26642 (main): Initialize gettext.
26643
26644 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26645
26646 * import_gcry.py: New file (written by Vladimir with minor
26647 adjustments).
26648 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26649 ciphers.
26650 * INSTALL: Document that Python is required for bootstrap.
26651
26652 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26653
26654 Import ciphers from libgcrypt 1.4.4.
26655
26656 * lib/libgcrypt/cipher/ChangeLog
26657 * lib/libgcrypt/cipher/ac.c
26658 * lib/libgcrypt/cipher/arcfour.c
26659 * lib/libgcrypt/cipher/bithelp.h
26660 * lib/libgcrypt/cipher/blowfish.c
26661 * lib/libgcrypt/cipher/camellia-glue.c
26662 * lib/libgcrypt/cipher/camellia.c
26663 * lib/libgcrypt/cipher/camellia.h
26664 * lib/libgcrypt/cipher/cast5.c
26665 * lib/libgcrypt/cipher/cipher.c
26666 * lib/libgcrypt/cipher/crc.c
26667 * lib/libgcrypt/cipher/des.c
26668 * lib/libgcrypt/cipher/dsa.c
26669 * lib/libgcrypt/cipher/ecc.c
26670 * lib/libgcrypt/cipher/elgamal.c
26671 * lib/libgcrypt/cipher/hash-common.c
26672 * lib/libgcrypt/cipher/hash-common.h
26673 * lib/libgcrypt/cipher/hmac-tests.c
26674 * lib/libgcrypt/cipher/md.c
26675 * lib/libgcrypt/cipher/md4.c
26676 * lib/libgcrypt/cipher/md5.c
26677 * lib/libgcrypt/cipher/primegen.c
26678 * lib/libgcrypt/cipher/pubkey.c
26679 * lib/libgcrypt/cipher/rfc2268.c
26680 * lib/libgcrypt/cipher/rijndael-tables.h
26681 * lib/libgcrypt/cipher/rijndael.c
26682 * lib/libgcrypt/cipher/rmd.h
26683 * lib/libgcrypt/cipher/rmd160.c
26684 * lib/libgcrypt/cipher/rsa.c
26685 * lib/libgcrypt/cipher/seed.c
26686 * lib/libgcrypt/cipher/serpent.c
26687 * lib/libgcrypt/cipher/sha1.c
26688 * lib/libgcrypt/cipher/sha256.c
26689 * lib/libgcrypt/cipher/sha512.c
26690 * lib/libgcrypt/cipher/tiger.c
26691 * lib/libgcrypt/cipher/twofish.c
26692 * lib/libgcrypt/cipher/whirlpool.c
26693
26694 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26695
26696 Fix build for systems without error().
26697
26698 * gnulib/error.c: New file (imported from Gnulib).
26699 * gnulib/error.h: Likewise.
26700 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26701 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26702 (this variable is now used by error()).
26703
26704 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26705
26706 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26707 instead of relying that char is signed.
26708
26709 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26710
26711 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26712 blocksize different from specified.
26713 (grub_pxefs_read): Likewise.
26714
26715 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26716
26717 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26718
26719 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26720 (grub_ata_readwrite): Likewise. Update 2 format strings.
26721 (grub_atapi_read): Likewise.
26722
26723 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26724 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26725 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26726 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26727 (ata_mod_LDFLAGS): Move from here ...
26728 * conf/i386.rmk: ... to here ...
26729 * conf/x86_64-efi.rmk: ... and here.
26730 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26731 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26732
26733 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26734
26735 Relicense multiboot.h, with RMS' blessing.
26736
26737 * include/multiboot.h: Change to X11 license.
26738
26739 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26740
26741 Support --version in grub-mkisofs.
26742
26743 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26744 (OPTION_VERSION): New macro.
26745 (ld_options): Recognize --version.
26746 (usage): Move `program_name' from here ...
26747 (program_name): ... to here. Add `static' qualifier.
26748 (main): Recognize `OPTION_VERSION'.
26749
26750 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26751
26752 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26753 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26754
26755 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 Fix help2man generation for mkisofs.
26758
26759 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26760 (usage): Send output to stdout (rather than stderr).
26761
26762 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26765 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26766 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26767 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26768 (bin_SCRIPTS): Add `grub-mkfloppy'.
26769 (grub_mkfloppy_SOURCES): New variable.
26770
26771 * util/grub-mkrescue.in: New file.
26772 * util/i386/pc/grub-mkfloppy.in: New file.
26773
26774 * util/i386/coreboot/grub-mkrescue.in: Remove.
26775 * util/i386/pc/grub-mkrescue.in: Remove.
26776
26777 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26778
26779 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26780 from here ...
26781 * include/multiboot.h (struct multiboot_header): ... to here. Update
26782 all users.
26783 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26784 from here ...
26785 * include/multiboot.h (struct multiboot_info): ... to here. Update
26786 all users.
26787 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26788 from here ...
26789 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26790 Update all users.
26791 * include/grub/multiboot.h (struct grub_mod_list): Move
26792 from here ...
26793 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26794 Update all users.
26795
26796 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26797
26798 * include/multiboot2.h (multiboot_word): Rename from this ...
26799 (multiboot2_word): ... to this. Update all users.
26800 (multiboot_header): Rename from this ...
26801 (multiboot2_header): ... to this. Update all users.
26802 (multiboot_tag_header): Rename from this ...
26803 (multiboot2_tag_header): ... to this. Update all users.
26804 (multiboot_tag_start): Rename from this ...
26805 (multiboot2_tag_start): ... to this. Update all users.
26806 (multiboot_tag_name): Rename from this ...
26807 (multiboot2_tag_name): ... to this. Update all users.
26808 (multiboot_tag_module): Rename from this ...
26809 (multiboot2_tag_module): ... to this. Update all users.
26810 (multiboot_tag_memory): Rename from this ...
26811 (multiboot2_tag_memory): ... to this. Update all users.
26812 (multiboot_tag_unused): Rename from this ...
26813 (multiboot2_tag_unused): ... to this. Update all users.
26814 (multiboot_tag_end): Rename from this ...
26815 (multiboot2_tag_end): ... to this. Update all users.
26816
26817 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26818
26819 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26820 this platform we should support Multiboot1 first.
26821
26822 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26823 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26824 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26825
26826 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26827
26828 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26829 of write calls (converting them to fwrite() if they aren't already).
26830 (get_torito_desc): Likewise.
26831 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26832
26833 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26834
26835 * util/i386/pc/grub-install.in: Move from here ...
26836 * util/grub-install.in: ... to here. Update all users.
26837
26838 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26839
26840 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26841
26842 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26843
26844 Support for El Torito without floppy emulation.
26845
26846 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26847 (init_boot_catalog): Improve error handling.
26848 (get_torito_desc): Don't use floppy emulation unless requested by
26849 user. Patch boot information table when requested via
26850 `-boot-info-table'.
26851 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26852 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26853 (use_boot_info_table): New variables.
26854 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26855 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26856 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26857 `--eltorito-emul-floppy'.
26858 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26859 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26860 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26861 (use_boot_info_table, get_731): New prototypes.
26862 * util/mkisofs/write.c (get_731): New function.
26863
26864 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26865
26866 Fix the generation of the man page.
26867
26868 * util/pc/i386/grub-install.in: Source
26869 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26870
26871 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26872
26873 Large file support for grub-mkisofs.
26874
26875 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26876 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26877 (session_start): Upgrade type to `uint64_t'. Update all users.
26878 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26879 (struct directory_entry): Upgrade type of `starting_block' and
26880 `size' to `uint64_t'. Update all users.
26881 (struct deferred): Remove unused structure.
26882 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26883 Update all users.
26884 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26885 file is larger than `UINT32_MAX'.
26886 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26887 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26888 return value.
26889 (struct deferred_write): Upgrade type of `extent' and `size' to
26890 `uint64_t'. Update all users.
26891 (last_extent_written): Upgrade type to `uint64_t'. Update all
26892 users.
26893 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26894 Update all users. Upgrade type of `remain' to `int64_t' and
26895 `use' to `size_t'. Use error() to handle fread() errors.
26896 (write_files): Rely on write_one_file() rather than calling
26897 xfwrite() directly.
26898
26899 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26900
26901 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26902
26903 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26904
26905 * util/mkisofs/fnmatch.c: Remove.
26906 * util/mkisofs/getopt1.c: Likewise.
26907 * util/mkisofs/getopt.c: Likewise.
26908 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26909 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26910 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26911 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26912 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26913
26914 * configure.ac: Detect `mingw32msvc' host_os.
26915 Check for lstat(), getuid() and getgid().
26916
26917 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26918 instances of `u_char' with `uint8_t'.
26919
26920 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26921 [!HAVE_GETUID] (getuid): New function (stub).
26922 [!HAVE_GETGID] (getgid): Likewise.
26923 [!HAVE_LSTAT] (lstat): Likewise.
26924 [!S_IROTH] (S_IROTH): New macro (dummy).
26925 [!S_IRGRP] (S_IRGRP): Likewise.
26926
26927 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26928
26929 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26930 conditional expression).
26931
26932 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26933
26934 Import from Gnulib.
26935
26936 * gnulib/fnmatch.c: New file.
26937 * gnulib/fnmatch.h: Likewise.
26938 * gnulib/fnmatch_loop.c: Likewise.
26939 * gnulib/getopt.c: Likewise.
26940 * gnulib/getopt.h: Likewise.
26941 * gnulib/getopt1.c: Likewise.
26942 * gnulib/getopt_int.h: Likewise.
26943 * gnulib/gettext.h: Likewise.
26944
26945 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26946
26947 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26948 * normal/handler.c (read_handler_list): Likewise.
26949
26950 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26951
26952 Misc cleanup.
26953
26954 * kern/command.c (grub_register_command_prio): Use
26955 grub_zalloc() instead of explicitly zeroing data.
26956 * kern/list.c: Include `<grub/mm.h>'.
26957 (grub_named_list_find): Replace `0' with `NULL'.
26958 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26959 (fs_module_list): Change type to `grub_named_list_t'. Update all
26960 users.
26961 * normal/dyncmd.c (read_command_list): Add space between function
26962 call and parenthesis.
26963 * normal/handler.c (read_handler_list): Likewise.
26964
26965 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26966
26967 * normal/auth.c (punishment_delay): Moved from here ...
26968 (grub_auth_strcmp): ... to here (inside function).
26969
26970 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26971
26972 * include/grub/list.h (struct grub_named_list): Remove `const'
26973 qualifier from `name'.
26974 (struct grub_prio_list): Likewise.
26975
26976 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26977
26978 * normal/auth.c: Include `<grub/time.h>'.
26979 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26980
26981 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26982
26983 * normal/auth.c (punishment_delay): New variable.
26984 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26985 (grub_auth_check_authentication): Punish failed login attempts with
26986 an incremental (2^N) delay.
26987
26988 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26989
26990 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26991 path with $(srcdir).
26992
26993 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26994
26995 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26996
26997 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26998
26999 * util/i386/coreboot/grub-mkrescue.in: New file.
27000 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27001 variables.
27002
27003 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27004 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27005 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27006 requirements.
27007 * util/mkisofs/defaults.h: New file.
27008 * util/mkisofs/eltorito.c: Likewise.
27009 * util/mkisofs/exclude.h: Likewise.
27010 * util/mkisofs/fnmatch.c: Likewise.
27011 * util/mkisofs/getopt.c: Likewise.
27012 * util/mkisofs/getopt1.c: Likewise.
27013 * util/mkisofs/hash.c: Likewise.
27014 * util/mkisofs/include/fctldefs.h: Likewise.
27015 * util/mkisofs/include/mconfig.h: Likewise.
27016 * util/mkisofs/include/prototyp.h: Likewise.
27017 * util/mkisofs/include/statdefs.h: Likewise.
27018 * util/mkisofs/iso9660.h: Likewise.
27019 * util/mkisofs/joliet.c: Likewise.
27020 * util/mkisofs/match.c: Likewise.
27021 * util/mkisofs/match.h: Likewise.
27022 * util/mkisofs/mkisofs.c: Likewise.
27023 * util/mkisofs/mkisofs.h: Likewise.
27024 * util/mkisofs/multi.c: Likewise.
27025 * util/mkisofs/name.c: Likewise.
27026 * util/mkisofs/rock.c: Likewise.
27027 * util/mkisofs/tree.c: Likewise.
27028 * util/mkisofs/write.c: Likewise.
27029
27030 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27031
27032 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27033 being insecure.
27034
27035 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27036
27037 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27038 `grub-mkimage' (and use $0 when possible).
27039
27040 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27041
27042 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27043 error message for excessively large memory map.
27044
27045 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27046
27047 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27048 executable bit.
27049
27050 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27051
27052 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27053 message for coreboot users.
27054
27055 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27056
27057 Fix build with GNU gold.
27058
27059 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27060 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27061 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27062 link addresses.
27063 * aclocal.m4: Likewise.
27064
27065 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
27066
27067 * configure.ac (AC_PREREQ): Bump to 2.59d.
27068 * INSTALL: Make it more clear when Autoconf and Ruby are
27069 needed and when to run `./autogen.sh'.
27070
27071 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27072
27073 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27074 OSes.
27075
27076 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27077
27078 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27079
27080 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27081
27082 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27083 giving it to GNU Mach.
27084
27085 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27086
27087 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27088 GNU partition number to get internal GRUB partition number.
27089
27090 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27091
27092 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27093 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27094
27095 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27096
27097 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27098 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27099 case.
27100
27101 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
27102
27103 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27104
27105 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27106
27107 Fix build problem.
27108
27109 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27110 `-isystem=$(srcdir)/include'.
27111
27112 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27113
27114 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27115 checked (grub-install doesn't currently rely on it).
27116
27117 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27118
27119 Revert SVN r2660.
27120
27121 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27122 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27123 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27124 * conf/i386-ieee1275.rmk: Likewise.
27125 * conf/i386-pc.rmk: Likewise.
27126 * conf/powerpc-ieee1275.rmk: Likewise.
27127 * conf/sparc64-ieee1275.rmk: Likewise.
27128 * conf/x86_64-efi.rmk: Likewise.
27129
27130 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27131
27132 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27133
27134 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27135
27136 * include/grub/misc.h: Stop checking for APPLE_CC.
27137
27138 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27139
27140 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27141 doesn't cause an infinite call loop.
27142
27143 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
27144
27145 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27146 strings.
27147
27148 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27149
27150 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27151 variable.
27152 * Makefile.in: Likewise.
27153
27154 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27155
27156 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27157
27158 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27159
27160 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27161
27162 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27163
27164 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27165
27166 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27167
27168 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27169 from here ...
27170 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27171
27172 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27173
27174 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27175 in $(MAKEINFO) invocation. This makes it clear in output that
27176 errors are being ignored.
27177
27178 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27179
27180 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27181 from here ...
27182 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27183 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27184 * conf/i386-ieee1275.rmk: Likewise.
27185 * conf/i386-pc.rmk: Likewise.
27186 * conf/powerpc-ieee1275.rmk: Likewise.
27187 * conf/sparc64-ieee1275.rmk: Likewise.
27188 * conf/x86_64-efi.rmk: Likewise.
27189
27190 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27191
27192 * util/grub-editenv.c (main): If only a command is given, use
27193 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27194 (usage): FILENAME is now optional and has a default.
27195
27196 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27197
27198 Improve grub-mkconfig performance when there are several menu
27199 entries on a single filesystem.
27200
27201 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27202 prepare_grub_to_access_device.
27203 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27204 * util/grub.d/30_os-prober.in: Likewise.
27205
27206 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27207
27208 * util/grub.d/10_freebsd.in: Remove.
27209 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27210 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27211
27212 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27213
27214 * docs/grub.cfg: Fix example usage of *BSD loaders.
27215
27216 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27217
27218 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27219 grub_util_error() call.
27220
27221 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27222
27223 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27224 `reserved_first_sector' member.
27225 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27226 `reserved_first_sector' to 1.
27227 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27228 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27229 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27230 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27231 filesystems which begin at first sector.
27232 (options): New option --skip-fs-probe.
27233 (main): Handle --skip-fs-probe and pass it to setup().
27234
27235 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27236
27237 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27238 (memset): Fix function prototype.
27239
27240 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27241 2009-10-25 Vasily Averin <vvs@parallels.com>
27242
27243 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27244 `dirent.direntlen == 0'.
27245
27246 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27247
27248 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27249 `cpio'.
27250 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27251
27252 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27253
27254 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27255 `__trampoline_setup' and `__ucmpdi2'.
27256 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27257 that libgcc provides.
27258
27259 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27262 * include/grub/sparc64/libgcc.h (memset): Likewise.
27263 * include/grub/misc.h (memset, memcmp): New function prototypes.
27264
27265 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27266
27267 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27268 `cpio'.
27269 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27270
27271 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27272
27273 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27274 * docs/grub.cfg: Compensate for recent change in multiboot
27275 loader (since 2009-08-14 it won't pass filename to payload).
27276 * util/grub.d/10_hurd.in: Likewise.
27277
27278 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
27279
27280 * config.guess: Update to latest version from config git
27281 repository.
27282 * config.sub: Likewise.
27283
27284 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27285
27286 Fix build on sparc64.
27287
27288 * configure.ac: Perform checks for libgcc symbols before
27289 adding `-nostdlib' to LDFLAGS.
27290
27291 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 Let user specify OpenBSD root device.
27294
27295 * loader/i386/bsd.c (openbsd_root): New variable.
27296 (openbsd_opts): New option 'root'.
27297 (OPENBSD_ROOT_ARG): New macro.
27298 (grub_openbsd_boot): Use 'openbsd_root'.
27299 (grub_cmd_openbsd): Fill 'openbsd_root'.
27300
27301 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27302
27303 * NEWS: Misc adjustments.
27304
27305 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27306
27307 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27308
27309 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 * configure.ac: Bump version to 1.97.
27312
27313 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
27314
27315 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27316 -mno-3dnow on x86 architectures. Some toolchains enable these
27317 features by default, but they rely on registers that aren't enabled
27318 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27319
27320 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27321
27322 Make entry text a bit more readable.
27323
27324 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27325
27326 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27327
27328 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27329
27330 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27331
27332 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27333 operations.
27334
27335 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 * configure.ac: Add missing dollar.
27338
27339 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27340
27341 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27342
27343 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27344 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27345 exports.
27346 * include/grub/sparc64/libgcc.h: Likewise. Use
27347 preprocessor conditionals.
27348
27349 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27350
27351 * conf/common.rmk (grub-dumpbios): Remove rule.
27352 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27353 * util/grub-dumpbios.in: Remove file.
27354
27355 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27356
27357 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27358 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27359
27360 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27361 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27362 users.
27363
27364 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27365 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27366 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27367 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27368 users.
27369
27370 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27371
27372 * term/tparm.c: Switch to GPLv3.
27373
27374 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27375
27376 * include/grub/i386/cpuid.h: Add header protection.
27377
27378 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27379
27380 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27381
27382 * include/grub/i386/cpuid.h: New file.
27383 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27384 (has_longmode): Rename to ...
27385 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27386 `static' attribute.
27387 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27388 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27389 on a CPU that doesn't implement AMD64 instruction set.
27390
27391 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27392
27393 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27394 that version.texi is rebuilt on version number changes.
27395
27396 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27397
27398 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27399 Fixes bug #27602.
27400
27401 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27402
27403 * util/i386/pc/grub-install.in: Source
27404 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27405 that the --grub-probe option will work.
27406 * util/sparc64/ieee1275/grub-install.in: Likewise.
27407
27408 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27409
27410 * configure.ac: Bump version to 1.97~beta4.
27411
27412 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27413
27414 Resync grub-mkdevicemap in x86_64-efi.
27415
27416 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27417 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27418 `util/devicemap.c'.
27419
27420 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
27421
27422 * util/grub-editenv.c (create_envblk_file): Write new block with a
27423 .new suffix and then rename it into place, to ensure atomic
27424 creation.
27425
27426 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27427
27428 Do not automatically install headers.
27429
27430 * Makefile.in (include_DATA): Remove. Update all users.
27431
27432 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27433
27434 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27435 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27436
27437 * util/osdetect.lua: Remove.
27438 * script/lua/lauxlib.c: Likewise.
27439 * script/lua/ldebug.c: Likewise.
27440 * script/lua/grub_main.c: Likewise.
27441 * script/lua/lauxlib.h: Likewise.
27442 * script/lua/ldebug.h: Likewise.
27443 * script/lua/ltablib.c: Likewise.
27444 * script/lua/liolib.c: Likewise.
27445 * script/lua/lstrlib.c: Likewise.
27446 * script/lua/lualib.h: Likewise.
27447 * script/lua/ldo.c: Likewise.
27448 * script/lua/ldump.c: Likewise.
27449 * script/lua/ldo.h: Likewise.
27450 * script/lua/loslib.c: Likewise.
27451 * script/lua/lundump.c: Likewise.
27452 * script/lua/grub_lib.c: Likewise.
27453 * script/lua/ldblib.c: Likewise.
27454 * script/lua/lundump.h: Likewise.
27455 * script/lua/lmem.c: Likewise.
27456 * script/lua/grub_lib.h: Likewise.
27457 * script/lua/lmathlib.c: Likewise.
27458 * script/lua/lstate.c: Likewise.
27459 * script/lua/ltm.c: Likewise.
27460 * script/lua/lvm.c: Likewise.
27461 * script/lua/lmem.h: Likewise.
27462 * script/lua/lstate.h: Likewise.
27463 * script/lua/ltm.h: Likewise.
27464 * script/lua/ltable.c: Likewise.
27465 * script/lua/lvm.h: Likewise.
27466 * script/lua/llex.c: Likewise.
27467 * script/lua/lgc.c: Likewise.
27468 * script/lua/grub_lua.h: Likewise.
27469 * script/lua/loadlib.c: Likewise.
27470 * script/lua/lfunc.c: Likewise.
27471 * script/lua/lopcodes.c: Likewise.
27472 * script/lua/lparser.c: Likewise.
27473 * script/lua/ltable.h: Likewise.
27474 * script/lua/llex.h: Likewise.
27475 * script/lua/lgc.h: Likewise.
27476 * script/lua/lfunc.h: Likewise.
27477 * script/lua/lbaselib.c: Likewise.
27478 * script/lua/lopcodes.h: Likewise.
27479 * script/lua/lparser.h: Likewise.
27480 * script/lua/lzio.c: Likewise.
27481 * script/lua/linit.c: Likewise.
27482 * script/lua/lobject.c: Likewise.
27483 * script/lua/llimits.h: Likewise.
27484 * script/lua/lstring.c: Likewise.
27485 * script/lua/lzio.h: Likewise.
27486 * script/lua/lapi.c: Likewise.
27487 * script/lua/lcode.c: Likewise.
27488 * script/lua/lua.h: Likewise.
27489 * script/lua/lobject.h: Likewise.
27490 * script/lua/lstring.h: Likewise.
27491 * script/lua/lapi.h: Likewise.
27492 * script/lua/lcode.h: Likewise.
27493 * script/lua/luaconf.h: Likewise.
27494
27495 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
27496
27497 * docs/grub.texi (Command-line and menu entry commands): Document
27498 date and echo commands.
27499
27500 2009-09-24 Pavel Roskin <proski@gnu.org>
27501
27502 * include/grub/kernel.h (struct grub_module_header): Remove
27503 `grub_module_header_types'. Make `type' unsigned. Make `size'
27504 32-bit on all platforms.
27505 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27506 8-bit field. Use grub_host_to_target32() for `size'.
27507 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27508 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27509 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27510
27511 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27512
27513 Fix "lost keypress" bug in at_keyboard.
27514
27515 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27516 Checks for readyness of input buffer (without flushing it).
27517 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27518 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27519
27520 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27521
27522 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27523 size check within GRUB_MACHINE_PCBIOS section.
27524
27525 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27526
27527 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27528 return value.
27529 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27530 KEYBOARD_ISREADY check.
27531 (grub_at_keyboard_checkkey): Rename to ...
27532 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27533 Remove gratuitous cast.
27534
27535 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
27536
27537 * configure.ac: Call AC_PROG_MKDIR_P.
27538 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27539 version.texi in $(builddir) rather than $(srcdir).
27540 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27541 to makeinfo's @include search path.
27542
27543 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27544
27545 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27546
27547 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27548
27549 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27550 for `*.dpkg-new'.
27551
27552 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
27553
27554 Build info documentation. Some code borrowed from Automake.
27555
27556 * configure.ac: Check for makeinfo.
27557 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27558 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27559 docs/version.texi.
27560 (MOSTLYCLEANFILES): Add vti.tmp.
27561 (docs/version.texi, docs/stamp-vti): Update automatically.
27562 (docs/grub.info): Build info documentation. Use --force and ignore
27563 errors for now.
27564 (all-local): Add $(INFOS).
27565 (install-local): Install info files.
27566 (uninstall): Uninstall info files.
27567 * docs/version.texi: Remove from revision control. This file is
27568 automatically generated on build now.
27569 * gendistlist.sh: Add `*.info'.
27570
27571 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27572
27573 * kern/term.c: Fix indentation.
27574
27575 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27576
27577 * util/hostdisk.c: Fix a comment.
27578
27579 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27580
27581 Fix regression introduced in r2539.
27582
27583 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27584 to 0xA1.
27585
27586 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
27587
27588 * util/grub.d/30_os-prober.in: Don't throw away stderr from
27589 os-prober. Under normal operation, it does not print anything to
27590 stderr; if it does, we need to debug it, and throwing away stderr
27591 makes that excessively difficult.
27592
27593 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27594
27595 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27596
27597 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27598
27599 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27600 AC_LANG_PROGRAM from autoconf.
27601 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27602 prototypes (fixes warning).
27603
27604 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27605 `--disable-werror' was used.
27606
27607 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27608
27609 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27610 uninitialized `lastaddr'.
27611
27612 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
27615
27616 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27617
27618 * commands/test.c (get_fileinfo): Return immediately if
27619 grub_fs_probe fails.
27620
27621 2009-09-14 José Martínez <xosemp@gmail.com>
27622
27623 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27624
27625 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27626
27627 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27628 output.
27629
27630 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27631
27632 * configure.ac: Remove --enable-grub-pe2elf. Only build
27633 grub-pe2elf when needed by the build system itself.
27634 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27635
27636 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27637
27638 * configure.ac: Bump version to 1.97~beta3.
27639 * docs/version.texi: Likewise.
27640
27641 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27642
27643 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27644 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27645 from here ...
27646 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27647 (grub_linux_setup_video): ... to here (with some adjustments).
27648
27649 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27650
27651 Fix memory corruption issue (spotted by Colin Watson).
27652
27653 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27654 causing returned size to be stored in an incorrect memory location.
27655 Fix use of uninitialized value when storing the returned size.
27656
27657 2009-09-12 Yves Blusseau <blusseau@zetam.org>
27658
27659 Change clean rules to properly remove files
27660
27661 * genmk.rb: add new clean rules
27662 * Makefile.in (clean): add the new targets
27663 (mostlyclean): likewise
27664
27665 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27666
27667 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27668 to grub_uint64_t.
27669 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27670 non-resident files.
27671
27672 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27673
27674 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27675 part of bug #27349.
27676
27677 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27678
27679 * util/grub-mkconfig.in: Make the created config mode 400 and
27680 print a warning if it fails.
27681
27682 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27683
27684 * util/grub.d/40_custom.in: Ask user to type custom entries below
27685 comment, rather than below 'exec tail' line.
27686
27687 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27688
27689 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27690 visible in grub.cfg.
27691
27692 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27693
27694 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27695 file.
27696
27697 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27698
27699 * docs/grub.cfg: Add an example menu entry for memtest86+.
27700
27701 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27702
27703 * config.guess: Update to latest version from config git.
27704 * config.sub: Likewise.
27705
27706 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27707
27708 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27709 unknown-command case. Fixes bug #27320.
27710
27711 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27712
27713 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27714 `help' if the command exists.
27715
27716 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27717
27718 * INSTALL: Require GCC 4.1.3 or later.
27719
27720 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27721
27722 * Makefile.in (RMKFILES): add i386-qemu.rmk
27723 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27724 $(srcdir)/stamp-h.in
27725
27726 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27727
27728 * util/grub-probe.c (probe): Comment out buggy codepath, which
27729 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27730 should be re-enabled after 1.97.
27731
27732 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27733
27734 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27735 find searches for.
27736
27737 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27738
27739 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27740 unnecessary calls to grub_error.
27741
27742 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27743
27744 * NEWS: Mention `keystatus' and Unicode fonts.
27745
27746 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27747
27748 * configure.ac: Bump version to 1.97~beta2.
27749 * docs/version.texi: Likewise.
27750
27751 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27752
27753 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27754 containing unwind information in some cases where it previously did
27755 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27756 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27757 discussion.
27758
27759 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27760
27761 Embedding loadenv module into grub-emu
27762
27763 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27764 commands/loadenv.c
27765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27766 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27767 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27769 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27770 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27771
27772 2009-09-03 Magnus Granberg <zorry@ume.nu>
27773
27774 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27775 include -fPIE in the default specs.
27776 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27777 to TARGET_CFLAGS.
27778
27779 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27780
27781 * INSTALL: Note that GNU Bison 2.3 or later is required.
27782
27783 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27784
27785 * kern/i386/pc/startup.S: Fix typo.
27786
27787 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27788
27789 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27790 according to GCS.
27791
27792 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27793
27794 * docs/grub.texi (Naming convention): Describe one-based partition
27795 numbering.
27796 (Device syntax): Likewise.
27797 (File name syntax): Likewise.
27798 (Block list syntax): Likewise.
27799 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27800 menu.lst.
27801 (File name syntax): Likewise.
27802 (Command-line and menu entry commands): Document acpi, blocklist,
27803 crc, export, insmod, keystatus, ls, set, and unset commands.
27804
27805 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27806
27807 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27808 to avoid implying that only one of --shift, --ctrl, or --alt may be
27809 used.
27810
27811 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27812
27813 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27814 rather than comparing against S_IFREG, which will almost never work.
27815
27816 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27817
27818 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27819 (write_blocklists): Likewise.
27820
27821 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27822
27823 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27824 argument to grub_printf.
27825
27826 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27827
27828 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27829 non GNU test.
27830
27831 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27832
27833 * kern/file.c (grub_file_read): Spelling fix
27834
27835 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27836
27837 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27838 loading of headers in some cases.
27839
27840 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27841
27842 * configure.ac: Bump version to 1.97~beta1.
27843 * docs/version.texi: Likewise.
27844
27845 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27846
27847 * include/grub/i386/xnu.h: Add license header.
27848 include grub/err.h explicitly.
27849
27850 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27851
27852 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27853 to `ufs' in the vfs.root.mountfrom kernel parameter.
27854
27855 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27856
27857 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27858
27859 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27860 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27861
27862 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27863 `ARRAY_SIZE' macro.
27864
27865 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27866
27867 * kern/file.c (grub_file_read): Check offset.
27868 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27869 * fs/jfs.c (grub_jfs_read_file): Likewise.
27870 * fs/ntfs.c (grub_ntfs_read): Likewise.
27871 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27872 * fs/minix.c (grub_minix_read_file): Correct offset check.
27873 * fs/ufs.c (grub_ufs_read_file): Likewise.
27874
27875 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27876
27877 * term/i386/pc/console.c (bios_data_area): Cast
27878 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27879
27880 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27881
27882 1-bit optimised blitters.
27883
27884 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27885 prototype.
27886 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27887 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27888 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27889 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27890 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27891 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27892 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27893 function.
27894 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27895 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27896 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27897 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27898 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27899 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27900 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27901 when possible.
27902 * video/video.c (grub_video_get_blit_format): Return
27903 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27904
27905 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27906
27907 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27908 the first argument to grub_printf.
27909
27910 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27911 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27912
27913 Add `getkeystatus' terminal method. Add a new `keystatus' command
27914 to query it.
27915
27916 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27917 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27918 modifier key bitmasks.
27919 (struct grub_term_input): Add `getkeystatus' member.
27920 (grub_getkeystatus): Add prototype.
27921 * kern/term.c (grub_getkeystatus): New function.
27922
27923 * include/grub/i386/pc/memory.h
27924 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27925 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27926 Data Area layout.
27927 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27928 (grub_console_term_input): Set `getkeystatus' member.
27929 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27930 constants.
27931 (grub_usb_keyboard_getreport): Likewise.
27932 (grub_usb_keyboard_checkkey): Likewise.
27933 (grub_usb_keyboard_getkeystatus): New function.
27934 (grub_usb_keyboard_term): Set `getkeystatus' member.
27935
27936 * commands/keystatus.c: New file.
27937 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27938 (keystatus_mod_SOURCES): New variable.
27939 (keystatus_mod_CFLAGS): Likewise.
27940 (keystatus_mod_LDFLAGS): Likewise.
27941 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27942 commands/keystatus.c.
27943 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27944 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27945 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27947 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27948 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27949
27950 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27951
27952 Split befs.mod and afs.mod into *_be.mod and *.mod
27953
27954 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27955 (grub_fstest_SOURCES): Likewise.
27956 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27957 (afs_be_mod_SOURCES): New variable.
27958 (afs_be_mod_CFLAGS): Likewise.
27959 (afs_be_mod_LDFLAGS): Likewise.
27960 (befs_be_mod_SOURCES): Likewise.
27961 (befs_be_mod_CFLAGS): Likewise.
27962 (befs_be_mod_LDFLAGS): Likewise.
27963 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27964 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27965 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27966 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27967 (grub_emu_SOURCES): Likewise.
27968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27969 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27970 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27971 * fs/afs_be.c: New file.
27972 * fs/befs_be.c: New file.
27973 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27974 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27975 (U16): Replaced with ...
27976 (grub_afs_to_cpu16): ...this. All users updated.
27977 (U32): Replaced with ...
27978 (grub_afs_to_cpu32): ...this. All users updated.
27979 (U64): Replaced with ...
27980 (grub_afs_to_cpu64): ...this. All users updated.
27981 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27982 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27983 (grub_afs_validate_sblock): Check only one endianness.
27984 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27985 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27986 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27987 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27988 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27989 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27990 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27991 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27992
27993 2009-08-26 Bean <bean123ch@gmail.com>
27994
27995 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27996 64-bit number.
27997 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27998 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27999 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28000
28001 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28002
28003 NetBSD memory map support.
28004
28005 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28006 (grub_netbsd_btinfo_mmap_header): New structure.
28007 (grub_netbsd_btinfo_mmap_entry): Likewise.
28008 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28009
28010 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 Enable bsd.mod on coreboot.
28013
28014 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28015 (bsd_mod_SOURCES): New variable.
28016 (bsd_mod_CFLAGS): Likewise.
28017 (bsd_mod_LDFLAGS): Likewise.
28018 (bsd_mod_ASFLAGS): Likewise.
28019 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28020 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28021
28022 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28023
28024 Cleanup NetBSD root support.
28025
28026 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28027 grub_bsd_get_device.
28028 Fix typo.
28029
28030 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
28031
28032 * util/grub.d/00_header.in: Move check for the video backend of
28033 gfxterm from here ...
28034 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28035 a suitable video backend.
28036
28037 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28038
28039 Fix breakage in grub-setup.
28040
28041 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28042 "msdos_partition_map".
28043
28044 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28045
28046 Fix breakage in normal/auth.c.
28047
28048 * normal/auth.c (grub_iswordseparator): New function.
28049
28050 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28051
28052 Authentication support.
28053
28054 * commands/password.c: New file.
28055 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28056 (password_mod_SOURCES): New variable.
28057 (password_mod_CFLAGS): Likewise.
28058 (password_mod_LDFLAGS): Likewise.
28059 (normal_mod_SOURCES): Add normal/auth.c.
28060 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28061 normal/auth.c.
28062 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28063 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28064 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28066 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28067 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28068 * include/grub/auth.h: New file.
28069 * include/grub/err.h (grub_err_t): New enum value
28070 GRUB_ERR_ACCESS_DENIED.
28071 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28072 'users'.
28073 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28074 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28075 users updated.
28076 * normal/auth.c: New file.
28077 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28078 (grub_cmdline_run): Don't allow to go to command line without
28079 authentication.
28080 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28081 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28082 menuentry without superuser rights.
28083 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28084 user isn't a superuser.
28085
28086 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28087
28088 Save space by inlining misc.c functions.
28089
28090 * kern/misc.c (grub_iswordseparator): Made static.
28091 * kern/misc.c (grub_strcat): Moved from here ...
28092 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28093 * kern/misc.c (grub_strncat): Moved from here ...
28094 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28095 * kern/misc.c (grub_strcasecmp): Moved from here ...
28096 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28097 * kern/misc.c (grub_strncasecmp): Moved from here ...
28098 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28099 * kern/misc.c (grub_isalpha): Moved from here ...
28100 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28101 * kern/misc.c (grub_isdigit): Moved from here ...
28102 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28103 * kern/misc.c (grub_isgraph): Moved from here ...
28104 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28105 * kern/misc.c (grub_tolower): Moved from here ...
28106 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28107
28108 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28109
28110 * script/sh/function.c (grub_script_function_find): Cut error message
28111 not to flood terminal.
28112 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28113 limit.
28114 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28115
28116 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
28117
28118 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28119 `report' grub_uint8_t *.
28120 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28121 Use a 50-millisecond timeout rather than just repeating
28122 grub_usb_keyboard_getreport 50 times.
28123 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28124
28125 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 Rename *_partition_map to part_*
28128
28129 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28130 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28131 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28132 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28133 All users updated.
28134 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28135 All users updated.
28136 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28137 * util/grub-probe.c (probe_partmap): Don't transform partition name
28138 to get module name.
28139
28140 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28141
28142 Fix OpenBSD and NetBSD support.
28143
28144 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28145 memory address conflict.
28146 (OPENBSD_MMAP_ACPI): New definition.
28147 (OPENBSD_MMAP_NVS): Likewise.
28148 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28149 and OPENBSD_MMAP_NVS.
28150 Add memory map terminator
28151 Explicit cast when calling grub_unix_real_boot.
28152 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
28153
28154 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 Let user specify NetBSD root device.
28157
28158 * loader/i386/bsd.c (netbsd_root): New variable.
28159 (netbsd_opts): New option 'root'.
28160 (NETBSD_ROOT_ARG): New macro.
28161 (grub_netbsd_boot): Use 'netbsd_root'.
28162 (grub_bsd_unload): Free 'netbsd_root'.
28163 (grub_cmd_netbsd): Fill 'netbsd_root'.
28164
28165 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Support for 64-bit NetBSD.
28168
28169 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28170 point when booting non-FreeBSD.
28171
28172 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28173
28174 Support --no-smp and --no-acpi for NetBSD.
28175
28176 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28177 (NETBSD_AB_NOACPI): Likewise.
28178 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28179 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28180
28181 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28184 errors.
28185 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28186 errors. Call grub_error when needed.
28187
28188 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28189
28190 * commands/search.c (search_fs): Try searching without autoload first.
28191 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28192 filesystem module explicitly for faster booting.
28193
28194 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28195
28196 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28197
28198 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28199
28200 * util/grub.d/30_os-prober.in: Disable os-prober if
28201 `GRUB_DISABLE_OS_PROBER' was set to true.
28202
28203 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28204
28205 * partmap/pc.c: Rename to ...
28206 * partmap/msdos.c: ... this. Update all users.
28207 (grub_pc_partition_map): Rename to ...
28208 (grub_msdos_partition_map): ... this. Update all users.
28209
28210 * parttool/pcpart.c: Rename to ...
28211 * parttool/msdospart.c: ... this. Update all users.
28212
28213 * include/grub/pc_partition.h: Rename to ...
28214 * include/grub/msdos_partition.h: ... this. Update all users.
28215 (grub_pc_partition_bsd_entry): Rename to ...
28216 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28217 (grub_pc_partition_disk_label): Rename to ...
28218 (grub_msdos_partition_disk_label): ... this. Update all users.
28219 (grub_pc_partition_entry): Rename to ...
28220 (grub_msdos_partition_entry): ... this. Update all users.
28221 (grub_pc_partition_mbr): Rename to ...
28222 (grub_msdos_partition_mbr): ... this. Update all users.
28223 (grub_pc_partition): Rename to ...
28224 (grub_msdos_partition): ... this. Update all users.
28225 (grub_pc_partition_is_empty): Rename to ...
28226 (grub_msdos_partition_is_empty): ... this. Update all users.
28227 (grub_pc_partition_is_extended): Rename to ...
28228 (grub_msdos_partition_is_extended): ... this. Update all users.
28229 (grub_pc_partition_is_bsd): Rename to ...
28230 (grub_msdos_partition_is_bsd): ... this. Update all users.
28231
28232 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28233 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28234 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28235 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28236 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28237 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28238 (gpt_mod_LDFLAGS): Rename to ...
28239 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28240 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28241 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28242 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28243 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28244 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28245 (part_gpt_mod_LDFLAGS): ... this.
28246 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28247 `pcpart.mod' to `msdospart.mod'.
28248 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28249 to ...
28250 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28251 (msdospart_mod_LDFLAGS): ... this.
28252
28253 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28256 (openbsd_opts): Likewise.
28257 (netbsd_opts): Likewise.
28258 (freebsd_flags): Added 0 terminator.
28259 (openbsd_flags): Likewise.
28260 (netbsd_flags): Likewise.
28261 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28262 (grub_cmd_freebsd): Transformed into extended command.
28263 (grub_cmd_openbsd): Likewise.
28264 (grub_cmd_netbsd): Likewise.
28265 (cmd_freebsd): Changed type to grub_extcmd_t.
28266 (cmd_openbsd): Likewise.
28267 (cmd_netbsd): Likewise.
28268 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28269 grub_cmd_openbsd as extended commands.
28270 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28271 cmd_netbsd and cmd_openbsd
28272
28273 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28274
28275 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28276
28277 2009-08-21 Pavel Roskin <proski@gnu.org>
28278
28279 * Makefile.in (install-local): When checking if a file is in the
28280 build directory, use "test -e" to detect symlinks.
28281
28282 * Makefile.in (install-local): Remove all files in
28283 $(DESTDIR)$(pkglibdir) before installing new files there.
28284
28285 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28286
28287 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28288 grub-mkelfimage.
28289
28290 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28291
28292 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28293 explicitly specified by the user.
28294
28295 2009-08-18 Pavel Roskin <proski@gnu.org>
28296
28297 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28298 grub_uint8_t pointer for data.
28299 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28300 Likewise.
28301 * video/fb/fbutil.c: Remove unnecessary casts.
28302
28303 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28304
28305 VBE cleanup.
28306
28307 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28308 (grub_vbe_set_video_mode): Save active mode info
28309 only after setting the mode.
28310 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28311 second argument.
28312
28313 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28314
28315 Rename variables for clarity.
28316
28317 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28318 (active_vbe_mode_info): ... this. All users updated.
28319 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28320 All users updated.
28321 (initial_mode): Rename to ...
28322 (initial_vbe_mode): ... this. All users updated.
28323 (mode_in_use): Rename to ..
28324 (vbe_mode_in_use): ... this. All users updated.
28325 (mode_list): Rename to ..
28326 (vbe_mode_list): ... this. All users updated.
28327 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28328 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28329 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28330 'mode_list_size' to 'vbe_mode_list_size'.
28331 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28332 'best_mode_info' to 'best_vbe_mode_info' and
28333 'best_mode' to 'best_vbe_mode'
28334
28335 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28336
28337 Remove duplicate grub_video_fb_get_video_ptr.
28338
28339 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28340 (grub_video_fb_get_video_ptr): ... this.
28341 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28342 * video/fb/fbutil.c: Add comment about addressing.
28343 (get_data_ptr): Rename to ...
28344 (grub_video_fb_get_video_ptr): ... this. All users updated.
28345 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28346
28347 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28348
28349 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28350 grub_dprintf() that was just added.
28351
28352 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28353
28354 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28355 (DEFAULT_VIDEO_MODE): Remove macros.
28356 (grub_linux_boot): Remove assumption that Linux has FB support,
28357 and use "text" as default video mode.
28358
28359 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28360
28361 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28362 grub_dprintf.
28363 * fs/fat.c (grub_fat_read_data): Likewise.
28364
28365 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28368 payload.
28369 (grub_module): Likewise.
28370
28371 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28372
28373 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28374 mbi->cmdline but free playground.
28375
28376 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28377
28378 Handle group offset on UFS1.
28379
28380 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28381 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28382
28383 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 Split ufs.mod into ufs1.mod and ufs2.mod.
28386
28387 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28388 (grub_fstest_SOURCES): Likewise.
28389 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28390 (ufs_mod_SOURCES): Remove.
28391 (ufs_mod_CFLAGS): Likewise.
28392 (ufs_mod_LDFLAGS): Likewise.
28393 (ufs1_mod_SOURCES): New variable.
28394 (ufs1_mod_CFLAGS): Likewise.
28395 (ufs1_mod_LDFLAGS): Likewise.
28396 (ufs2_mod_SOURCES): New variable.
28397 (ufs2_mod_CFLAGS): Likewise.
28398 (ufs2_mod_LDFLAGS): Likewise.
28399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28400 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28401 Likewise.
28402 (grub_emu_SOURCES): Likewise.
28403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28404 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28405 (grub_setup_SOURCES): Likewise.
28406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28407 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28408 (grub_setup_SOURCES): Likewise.
28409 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28410 Likewise.
28411 * fs/ufs2.c: New file.
28412 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28413
28414 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28415
28416 Framebuffer split.
28417
28418 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28419 subsystem at the end.
28420 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28421 (video_fb_mod_SOURCES): New variable.
28422 (video_fb_mod_CFLAGS): Likewise.
28423 (video_fb_mod_LDFLAGS): Likewise.
28424 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28425 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28426 * video/i386/pc/vbeblit.c: Moved from here ...
28427 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28428 * video/i386/pc/vbefill.c: Moved from here ...
28429 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28430 * video/i386/pc/vbeutil.c: Moved from here ...
28431 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28432 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28433 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28434 * include/grub/i386/pc/vbefill.h: Moved from here ...
28435 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28436 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28437 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28438 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28439 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28440 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28441 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28442 (grub_video_adapter): Added 'get_info_and_fini'.
28443 (grub_video_get_info_and_fini): New prototype.
28444 (grub_video_set_mode): make modestring const char *.
28445 * loader/i386/linux.c (grub_linux_setup_video): Use
28446 grub_video_get_info_and_fini.
28447 (grub_linux_boot): Move modesetting just before booting.
28448 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28449 grub_video_get_info_and_fini.
28450 * video/i386/pc/vbe.c: Moved framebuffer part ...
28451 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28452 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28453 grub_video_fbstd_colors and grub_video_fb_set_palette.
28454 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28455 grub_video_fb_init.
28456 (grub_video_vbe_fini): Use grub_video_fb_fini.
28457 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28458 render_target and use grub_video_fb_set_active_render_target and
28459 grub_video_fb_set_palette.
28460 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28461 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28462 (grub_video_vbe_adapter): Use framebuffer.
28463 * video/video.c (grub_video_get_info_and_fini): New function.
28464 (grub_video_set_mode): Make modestring const char *.
28465 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28466 values are already initialised.
28467
28468 2009-08-14 Pavel Roskin <proski@gnu.org>
28469
28470 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28471 ABS and APPLE_CC.
28472 * boot/i386/pc/diskboot.S: Likewise.
28473 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28474 sectors allow compilation on MacOSX.
28475 * conf/i386-pc.rmk: Enable unconditional compilation of
28476 lnxboot.img.
28477
28478 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
28479
28480 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28481 * util/grub.d/00_header.in: Enter interruptible sleep if
28482 GRUB_HIDDEN_TIMEOUT is set.
28483
28484 2009-08-13 Yves Blusseau <blusseau@zetam.org>
28485
28486 * include/grub/symbol.h: Add the LOCAL macro.
28487 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28488 starting with "L_".
28489
28490 2009-08-13 Pavel Roskin <proski@gnu.org>
28491
28492 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28493 any modern compilers we support.
28494
28495 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28496 Use local labels starting with "L_" so that Apple assembler
28497 knows they are local.
28498
28499 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28500
28501 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28502 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28503 (bsd_kernel_types): ... this enum.
28504
28505 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28506 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28507 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28508
28509 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28510 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28511 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28512 messages.
28513
28514 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28515
28516 * util/grub-dumpdevtree: Moved from here ...
28517 * util/i386/efi/grub-dumpdevtree: ... to here.
28518 (hexify): New function. Converts a string to its hex version.
28519 Generate hex versions of "efi" and "device-properties" by calling
28520 hexify() on the ASCII strings rather than by hardcoding numbers.
28521
28522 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28523
28524 * fs/jfs.c: Update copyright year.
28525
28526 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28527
28528 * util/grub.d/00_header.in: Fix a comment.
28529 * util/grub.d/10_linux.in: Likewise.
28530 * util/grub.d/10_windows.in: Likewise.
28531 * util/grub.d/10_hurd.in: Likewise.
28532
28533 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28534
28535 * util/grub-mkconfig.in: Allow the user to specify the used font
28536 with GRUB_FONT.
28537
28538 2009-08-08 Pavel Roskin <proski@gnu.org>
28539
28540 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28541 available, xfs.mod needs it now.
28542
28543 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28544 the "g" modifier in sed when the intention is to strip something
28545 once. This fixes comparison of kernels with multiple dashes.
28546
28547 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28548 on it. Add missing space before closing bracket. Fix
28549 misleading formatting.
28550
28551 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28552
28553 * docs/grub.texi: Major overhaul. Remove all sections that are
28554 specific to GRUB Legacy, or mostly composed of Legacy-specific
28555 information.
28556
28557 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28558
28559 * docs/version.texi: New file. Provides version information for
28560 grub.texi.
28561
28562 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28563
28564 * docs/grub.texi: Update CVS information to SVN.
28565 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28566
28567 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28568
28569 * util/grub-mkconfig.in: Remove a wrong `fi'.
28570
28571 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28572
28573 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28574 (grub_jfs_uuid): New function.
28575 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28576
28577 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28578
28579 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28580 of it to ...
28581 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28582 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28583
28584 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28585
28586 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28587 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28588 Update all users.
28589
28590 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28591 not just "vmlinu[zx]".
28592 Moved from here ...
28593 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28594 all users.
28595
28596 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28597 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28598 all users.
28599
28600 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28601
28602 * util/grub.d/10_freebsd.in: Use an absolute device path for
28603 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28604
28605 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
28606
28607 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28608 handling of multiple abstraction modules.
28609
28610 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28611
28612 Fix a bug resulting in black screen when loading Linux using a
28613 packed video mode.
28614
28615 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28616 function.
28617
28618 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28619 (grub_vbe_bios_getset_dac_palette_width): New function.
28620 (grub_vbe_bios_get_dac_palette_width)
28621 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28622 grub_vbe_bios_getset_dac_palette_width()).
28623
28624 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28625 check for return status.
28626 (grub_vbe_get_video_mode_info): When getting information for a packed
28627 mode (<= 8 bpp), obtain DAC palette width using
28628 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28629 {red,green,blue}_mark_size.
28630
28631 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
28632
28633 * commands/search.c (options): Fix help output to match actual code.
28634
28635 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28636
28637 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28638 of homegrown code.
28639
28640 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28641
28642 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28643 on XFS or ReiserFS.
28644
28645 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 Support Apple partition map with sector size different from 512 bytes.
28648
28649 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28650 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28651 and 'apart.partmap_size'.
28652
28653 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28654 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28655
28656 Fix cpuid command.
28657
28658 * commands/i386/cpuid.c (options): New variable.
28659 (grub_cmd_cpuid): Return real error.
28660 (GRUB_MOD_INIT(cpuid)): Declare options.
28661
28662 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28663
28664 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28665 valid.
28666
28667 2009-07-31 Bean <bean123ch@gmail.com>
28668
28669 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28670 log2_inode.
28671 (grub_fshelp_node): Move inode field to the end.
28672 (grub_xfs_data): Remove inode field.
28673 (grub_xfs_inode_block): Calculate inode size using sblock.
28674 (grub_xfs_inode_offset): Likewise.
28675 (grub_xfs_read_inode): Calculate inode size using sblock.
28676 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28677 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28678 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28679 to match inode size.
28680 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28681 not accessible when data is null.
28682 (grub_xfs_open): Likewise.
28683
28684 2009-07-31 Bean <bean123ch@gmail.com>
28685
28686 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28687 Don't change pv->disk if it's already set.
28688
28689 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28690 (grub_raid_register): ... here.
28691 (grub_raid_rescan): Removed.
28692
28693 * include/grub/raid.h (grub_raid_rescan): Removed.
28694
28695 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28696 (fstest): Replace grub_raid_rescan with module fini function followed
28697 by init function.
28698
28699 * util/grub-probe.c: Add include file <grub/raid.h>.
28700 (probe_raid_level): New function.
28701 (probe): Detect abstraction by walking the disk device, support two
28702 level of abstraction (LVM on RAID) when detecting partition map.
28703
28704 2009-07-31 Pavel Roskin <proski@gnu.org>
28705
28706 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28707 to grub_zalloc(), it was erroneous.
28708 Reported by Bean <bean123ch@gmail.com>
28709
28710 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28711
28712 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28713 embedding zone, not only the first one.
28714
28715 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28716
28717 * term/gfxterm.c (clear_char): New function.
28718 (grub_virtual_screen_setup): Use clear_char.
28719 (scroll_up): Likewise.
28720 (grub_virtual_screen_cls): Likewise.
28721
28722 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28723
28724 * util/deviceiter.c (get_acceleraid_disk_name): New static
28725 function.
28726 (grub_util_iterate_devices): Handle Accelraid devices.
28727 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28728
28729 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28730
28731 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28732 separator for the suggested gfxpayload string (';' collides with the
28733 parser and needs escaping).
28734
28735 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28736
28737 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28738 Clear direction flag before jumping to OS.
28739 (grub_multiboot2_real_boot): Likewise.
28740
28741 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28742
28743 * util/i386/pc/grub-install: Fix parsing of --disk-module
28744 option.
28745
28746 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28747
28748 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28749 when embedding.
28750
28751 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28752
28753 * util/grub-mkconfig.in (package_version): New variable.
28754 Use it do display the version.
28755
28756 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28757
28758 * kern/file.c (grub_file_open): Revert to previous check with
28759 grub_errno.
28760
28761 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28762
28763 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28764 from help line. It's out of sync with code.
28765
28766 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28767
28768 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28769 entries on failed boot.
28770
28771 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28772
28773 * kern/file.c (grub_file_open): Fix an error check.
28774
28775 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28776
28777 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28778 partition map couldn't be identified.
28779
28780 2009-07-23 Pavel Roskin <proski@gnu.org>
28781
28782 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28783 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28784 case of little endian words becomes just an optimization.
28785 Respect const modifier.
28786 (md5_final): Use code that doesn't depend on endianness.
28787
28788 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28789 to avoid loss of upper bits if align is unsigned and shorter
28790 than addr.
28791
28792 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28793
28794 UUID support for UFS
28795
28796 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28797 (grub_ufs_uuid): New function.
28798 (grub_ufs_fs): add .uuid
28799
28800 2009-07-21 Pavel Roskin <proski@gnu.org>
28801
28802 * kern/dl.c (grub_dl_check_header): Make static.
28803
28804 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28805
28806 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28807 add drivemap for Vista. It breaks Windows 7.
28808
28809 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28812 128 bytes
28813
28814 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28815
28816 Add BFS support
28817
28818 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28819 (grub_fstest_SOURCES): Likewise.
28820 (pkglib_MODULES): Add befs.mod.
28821 (befs_mod_SOURCES): New variable.
28822 (befs_mod_CFLAGS): Likewise.
28823 (befs_mod_LDFLAGS): Likewise.
28824 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28825 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28826 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28827 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28828 (grub_setup_SOURCES): Likewise.
28829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28830 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28831 (grub_setup_SOURCES): Likewise.
28832 * fs/befs.c: New file.
28833 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28834 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28835 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28836 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28837 (B_KEY_INDEX_ALIGN): New declaration.
28838 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28839 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28840 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28841 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28842 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28843 (grub_afs_mount) [MODE_BFS]: Likewise.
28844 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28845 (grub_afs_fs): Use GRUB_AFS_FSNAME
28846 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28847 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28848 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28849 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28850
28851 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28852
28853 * util/getroot.c (find_root_device): Add support for MacOSX.
28854 * util/hostdisk.c: Likewise.
28855
28856 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 * font/font.c (find_glyph): Check whether a font is present to avoid
28859 segmentation fault.
28860
28861 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28862
28863 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28864
28865 2009-07-20 Pavel Roskin <proski@gnu.org>
28866
28867 * configure.ac: Trim excessively wordy excuses.
28868
28869 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28870
28871 Add symlink, mtime and label support to AtheFS.
28872
28873 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28874 (grub_afs_iterate_dir): Handle symlinks.
28875 (grub_afs_open): Use grub_afs_read_symlink.
28876 (grub_afs_dir): Likewise.
28877 Pass mtime.
28878 (grub_afs_label): New function.
28879 (grub_afs_fs): Add grub_afs_label.
28880 (grub_afs_read_symlink): New function.
28881
28882 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28883
28884 Fix AtheFS support.
28885
28886 * fs/afs.c: Fix comments style.
28887 (grub_afs_blockrun): Declare as packed.
28888 (grub_afs_datastream): Likewise.
28889 (grub_afs_bnode): Likewise.
28890 (grub_afs_btree): Likewise.
28891 (grub_afs_sblock): Likewise.
28892 Declare `name' as char.
28893 (grub_afs_inode): Declare as packed.
28894 Change void *vnode to grub_uint32_t unused.
28895 (grub_afs_iterate_dir): Check that key_size is positive.
28896 (grub_afs_mount): Don't read superblock twice.
28897 (grub_afs_dir): Don't free node in case of error,
28898 grub_fshelp_find_file already handles this.
28899 (grub_afs_open): Likewise.
28900
28901 2009-07-19 Pavel Roskin <proski@gnu.org>
28902
28903 * Makefile.in: Remove LIBLZO and enable_lzo.
28904 * conf/i386-pc.rmk: Remove lzo support.
28905 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28906 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28907 support.
28908 * kern/i386/pc/lzo1x.S: Remove.
28909 * kern/i386/pc/startup.S: Remove lzo support.
28910 * util/i386/pc/grub-mkimage.c: Likewise.
28911
28912 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28913
28914 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28915 * fs/xfs.c (grub_xfs_dir): Likewise.
28916 * fs/afs.c (grub_afs_dir): Likewise.
28917 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28918 (grub_iso9660_open): Likewise.
28919 * fs/jfs.c (grub_jfs_open): Likewise.
28920 * fs/ext2.c (grub_ext2_dir): Likewise.
28921 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28922 * script/sh/lexer.c (grub_script_yylex): Likewise.
28923
28924 2009-07-16 Pavel Roskin <proski@gnu.org>
28925
28926 * configure.ac: Never add "-c" to CFLAGS.
28927
28928 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28929
28930 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28931 grub_cv_cc_efiemu should be used.
28932
28933 * configure.ac: Typo fixes.
28934
28935 * kern/mm.c (grub_zalloc): New function.
28936 (grub_debug_zalloc): Likewise.
28937 * include/grub/mm.h: Declare grub_zalloc() and
28938 grub_debug_zalloc().
28939 * util/misc.c (grub_zalloc): New function.
28940 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28941 instead of grub_malloc(), remove unneeded initializations.
28942 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28943 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28944 * commands/parttool.c (grub_cmd_parttool): Likewise.
28945 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28946 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28947 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28948 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28949 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28950 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28951 (grub_cmd_efiemu_pnvram): Likewise.
28952 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28953 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28954 (grub_iso9660_iterate_dir): Likewise.
28955 * fs/jfs.c (grub_jfs_opendir): Likewise.
28956 * fs/ntfs.c (list_file): Likewise.
28957 (grub_ntfs_mount): Likewise.
28958 * kern/disk.c (grub_disk_open): Likewise.
28959 * kern/dl.c (grub_dl_load_core): Likewise.
28960 * kern/elf.c (grub_elf_file): Likewise.
28961 * kern/env.c (grub_env_context_open): Likewise.
28962 (grub_env_set): Likewise.
28963 (grub_env_set_data_slot): Likewise.
28964 * kern/file.c (grub_file_open): Likewise.
28965 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28966 * loader/i386/multiboot.c (grub_module): Likewise.
28967 * loader/xnu.c (grub_xnu_create_key): Likewise.
28968 (grub_xnu_create_value): Likewise.
28969 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28970 (read_config_file): Likewise.
28971 * normal/menu_entry.c (make_screen): Likewise.
28972 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28973 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28974 * script/sh/script.c (grub_script_parse): Likewise.
28975 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28976 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28977 * video/readers/png.c (grub_png_output_byte): Likewise.
28978 (grub_video_reader_png): Likewise.
28979
28980 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28981
28982 Enable all targets that can be built by default
28983
28984 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28985 grub-mkfont and grub-fstest if they can be built
28986
28987 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 Fix hang and segmentation fault in grub-emu-usb
28990
28991 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28992 * util/usb.c (grub_libusb_devices): likewise
28993 (grub_libusb_init): rename to ...
28994 (GRUB_MOD_INIT (libusb)):...this
28995 (grub_libusb_fini): rename to ..
28996 (GRUB_MOD_FINI (libusb)):...this
28997 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28998 * include/grub/disk.h (grub_raid_init): removed, it's useless
28999 (grub_raid_fini): likewise
29000 (grub_lvm_init): likewise
29001 (grub_lvm_fini): likewise
29002 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29003 by grub_init_all
29004
29005 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29006
29007 Fix libusb
29008
29009 * Makefile.in (LIBUSB): new macro
29010 * genmk.rb (Utility/print_tail): new method
29011 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29012 (top level): call util.print_tail at the end.
29013
29014 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29015
29016 Make FreeBSD accept zpool.cache
29017
29018 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29019 type is /boot/zfs/zpool.cache
29020
29021 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29022
29023 Fix 64-bit efiemu
29024
29025 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29026 correct wrong typedef
29027 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29028
29029 2009-07-15 Pavel Roskin <proski@gnu.org>
29030
29031 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29032 * kern/disk.c (struct grub_disk_cache): Likewise.
29033
29034 * commands/probe.c (options): Typo fix.
29035
29036 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29037 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29038 accordingly.
29039 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29040
29041 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29042 the end of "Error" to make the message more readable.
29043
29044 * boot/i386/pc/boot.S (kernel_segment): Remove.
29045 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29046 for destination.
29047
29048 * boot/i386/pc/boot.S (boot_version): Remove.
29049 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29050 Remove.
29051
29052 * include/grub/i386/pc/boot.h: Sort all offsets.
29053 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29054 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29055 * boot/i386/pc/boot.S: Assert location of every offset listed in
29056 include/grub/i386/pc/boot.h.
29057
29058 2009-07-13 Pavel Roskin <proski@gnu.org>
29059
29060 * include/grub/i386/coreboot/machine.h: Rename
29061 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29062 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29063 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29064
29065 * kern/dl.c: Force native word size to suppress warnings when
29066 compiling grub-emu.
29067
29068 * kern/device.c (grub_device_iterate): Change struct part_ent to
29069 hold the name, not a pointer to it. Use one grub_malloc() per
29070 partition, not two. Free partition_name if grub_malloc() fails.
29071 Set ents to NULL only before grub_partition_iterate() is called.
29072
29073 2009-07-11 Bean <bean123ch@gmail.com>
29074
29075 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29076 childname.
29077
29078 2009-07-10 Bean <bean123ch@gmail.com>
29079 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29080
29081 * kern/ieee1275/openfw.c (grub_children_iterate)
29082 (grub_devalias_iterate): Fix size evaluation for property or path
29083 strings, which was broken since r2132.
29084
29085 2009-07-07 Pavel Roskin <proski@gnu.org>
29086
29087 * commands/search.c (search_file): Merge into ...
29088 (search_fs): ... this. Accept search type as argument.
29089 (grub_cmd_search): Pass search type to search_fs().
29090
29091 * include/grub/util/console.h: New file.
29092 * util/console.c: Use it instead of grub/machine/console.h.
29093 * util/grub-emu.c: Likewise.
29094
29095 * lib/arg.c (find_long_option): Remove.
29096 (find_long): Add `len' argument, make `s' const char *.
29097 (grub_arg_parse): Parse long options in place, not in a
29098 temporary buffer.
29099
29100 2009-07-06 Pavel Roskin <proski@gnu.org>
29101
29102 * commands/search.c (search_fs): Fix potential NULL pointer
29103 dereference.
29104
29105 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29106 function pointer.
29107
29108 2009-07-06 Daniel Mierswa <impulze@impulze.org>
29109
29110 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29111 comparison.
29112
29113 2009-07-05 Pavel Roskin <proski@gnu.org>
29114
29115 * include/grub/i386/linux.h (struct linux_kernel_params):
29116 Restore padding3, it's still needed.
29117
29118 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29119 FreeBSD.
29120 * util/osdetect.lua: Likewise.
29121
29122 2009-07-05 Bean <bean123ch@gmail.com>
29123
29124 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29125
29126 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29127 (grub_lua_getenv): Likewise.
29128 (grub_lua_setenv): Likewise.
29129 (save_errno): New function.
29130 (push_result): Likewise.
29131 (grub_lua_enum_device): Likewise.
29132 (grub_lua_enum_file): Likewise.
29133 (grub_lua_file_open): Likewise.
29134 (grub_lua_file_close): Likewise.
29135 (grub_lua_file_seek): Likewise.
29136 (grub_lua_file_read): Likewise.
29137 (grub_lua_file_getline): Likewise.
29138 (grub_lua_file_getsize): Likewise.
29139 (grub_lua_file_getpos): Likewise.
29140 (grub_lua_file_eof): Likewise.
29141 (grub_lua_file_exist): Likewise.
29142 (grub_lua_add_menu): Likewise.
29143
29144 * script/lua/grub_lua.h (isupper): New inline function.
29145 (islower): Likewise.
29146 (ispunct): Likewise.
29147 (isxdigit): Likewise.
29148 (strcspn): Change to normal function.
29149 (strpbkr): New function declaration.
29150 (memchr): Likewise.
29151
29152 * script/lua/grub_main.c (scan_str): New function.
29153 (strcspn): Likewise.
29154 (strpbrk): Likewise.
29155 (memchr): Likewise.
29156
29157 * script/lua/linit.c (lualibs): Enable the string library.
29158
29159 * util/osdetect.lua: New file.
29160
29161 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29162
29163 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29164 `capabilities' member.
29165
29166 2009-07-02 Pavel Roskin <proski@gnu.org>
29167
29168 * genparttoollist.sh: Add missing newline at the end.
29169
29170 2009-07-01 Pavel Roskin <proski@gnu.org>
29171
29172 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29173
29174 * util/hostdisk.c (open_device): Remove `const' from
29175 `sysctl_size', as sysctlbyname() can change it (in this case it
29176 doesn't actually happen).
29177
29178 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29179 using signed long int constants.
29180
29181 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29182 constant to avoid a warning on FreeBSD.
29183
29184 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29185 where it's needed.
29186
29187 * Makefile.in: Install include/grub/machine symlink.
29188
29189 * Makefile.in: When installing symlinks, use "cp -fR", which
29190 works on FreeBSD and MacOSX.
29191 From Yves Blusseau <cl7m42e02@sneakemail.com>
29192
29193 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29194 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29195
29196 * util/misc.c: Move grub_reboot() and grub_halt() ...
29197 * util/grub-emu.c: ... here. Make main_env static.
29198 * include/grub/util/misc.h: Remove main_env.
29199
29200 * kern/mm.c: Use correct format to print size_t.
29201
29202 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29203 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29204 * kern/powerpc/dl.c: Likewise.
29205 * kern/sparc64/dl.c: Likewise.
29206 * kern/x86_64/dl.c: Likewise.
29207
29208 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29209
29210 Fix grub-emu build on sparc64-ieee1275.
29211
29212 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
29213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29214
29215 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29216
29217 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29218 (grub_reboot, grub_halt): New functions.
29219
29220 * util/i386/pc/misc.c: Delete. Update all users.
29221 * util/sparc64/ieee1275/misc.c: Likewise.
29222 * util/powerpc/ieee1275/misc.c: Likewise.
29223
29224 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29225
29226 * conf/i386.rmk (setjmp_mod_SOURCES)
29227 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29228 * conf/common.rmk (setjmp_mod_SOURCES)
29229 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29230 to use $(target_cpu).
29231 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29232 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29233 * conf/powerpc-ieee1275.rmk: Likewise.
29234 * conf/sparc64-ieee1275.rmk: Likewise.
29235
29236 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29237 $(target_cpu) for kern/$(target_cpu)/dl.c.
29238 * conf/i386-efi.rmk: Likewise.
29239 * conf/i386-ieee1275.rmk: Likewise.
29240 * conf/x86_64-efi.rmk: Likewise.
29241 * conf/i386-coreboot.rmk: Likewise.
29242 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29243 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29244 kern/$(target_cpu)/cache.S.
29245 * conf/sparc64-ieee1275.rmk: Likewise.
29246
29247 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29248
29249 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29250 type to `grub_uint8_t', and adjust `padding9' accordingly.
29251
29252 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29253
29254 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29255
29256 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29257 assembly in final jump, using register constraints.
29258
29259 (grub_linux_boot): For text mode, initialize `have_vga' using
29260 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29261
29262 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29263 right before the final jump.
29264
29265 Set `video_mode' to 0x3.
29266
29267 Document initialization of `video_page', `video_mode' and
29268 `video_ega_bx'.
29269
29270 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29271
29272 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29273 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
29274 and set GRUB_LINUX_FLAG_QUIET appropriately.
29275
29276 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29277
29278 Fix build on Debian / sparc.
29279
29280 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29281
29282 2009-06-28 Pavel Roskin <proski@gnu.org>
29283
29284 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29285 fix a warning.
29286
29287 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29288
29289 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29290
29291 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29292 `err'.
29293
29294 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29295
29296 Revert r2338.
29297
29298 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29299 file can't be opened. grub_file_open() is already supposed to set
29300 grub_errno / grub_errmsg appropriately.
29301 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29302
29303 2009-06-27 Pavel Roskin <proski@gnu.org>
29304 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29305
29306 * include/grub/dl.h: Include grub/elf.h.
29307 (struct grub_dl): Add symtab field.
29308 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29309 GRUB_MODULES_MACHINE_READONLY.
29310 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29311 of the header for read-only modules.
29312 (grub_dl_unload): Free mod->symtab for read-only modules.
29313 * kern/i386/dl.c: Use mod->symtab.
29314 * kern/powerpc/dl.c: Likewise.
29315 * kern/sparc64/dl.c: Likewise.
29316 * kern/x86_64/dl.c: Likewise.
29317
29318 * conf/i386-qemu.rmk: New file.
29319 * kern/i386/qemu/startup.S: Likewise.
29320 * kern/i386/qemu/mmap.c: Likewise.
29321 * boot/i386/qemu/boot.S: Likewise.
29322 * include/grub/i386/qemu/time.h: Likewise.
29323 * include/grub/i386/qemu/serial.h: Likewise.
29324 * include/grub/i386/qemu/kernel.h: Likewise.
29325 * include/grub/i386/qemu/console.h: Likewise.
29326 * include/grub/i386/qemu/boot.h: Likewise.
29327 * include/grub/i386/qemu/init.h: Likewise.
29328 * include/grub/i386/qemu/machine.h: Likewise.
29329 * include/grub/i386/qemu/loader.h: Likewise.
29330 * include/grub/i386/qemu/memory.h: Likewise.
29331
29332 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29333 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29334 [qemu] (pkglib_IMAGES): Add `boot.img'.
29335 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29336 [qemu] (boot_img_FORMAT): New variables.
29337 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29338 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29339 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29340 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29341 [qemu] (kernel_img_FORMAT): New variables.
29342
29343 * configure.ac: Recognise `i386-qemu'.
29344
29345 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29346 (for no compression).
29347 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29348 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29349 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29350 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29351 ifdefs).
29352
29353 2009-06-27 Pavel Roskin <proski@gnu.org>
29354
29355 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29356 read.
29357 * efiemu/prepare32.c: Likewise.
29358 * efiemu/prepare64.c: Likewise.
29359
29360 2009-06-26 Pavel Roskin <proski@gnu.org>
29361
29362 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29363 * include/grub/elf.h: Define symbols without "32" or "64" based
29364 on GRUB_TARGET_WORDSIZE.
29365 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29366 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29367 ELF definitions.
29368 * efiemu/loadcore64.c: Likewise.
29369 * loader/i386/bsd32.c: Likewise.
29370 * loader/i386/bsd64.c: Likewise.
29371 * kern/dl.c: Remove own ELF definitions.
29372 * util/i386/efi/grub-mkimage.c: Likewise.
29373
29374 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29375
29376 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29377 segment 0x0 unconditionally, because the reference generated by
29378 GAS is an absolute address.
29379
29380 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29381
29382 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29383 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29384
29385 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29386
29387 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29388 indexes. Check for -f explicitly.
29389 (search_file): Improve error message.
29390 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
29391
29392 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29393
29394 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29395 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29396
29397 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29398
29399 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29400 * conf/i386-ieee1275.rmk: Likewise.
29401 * conf/i386-coreboot.rmk: Likewise.
29402
29403 * kern/i386/pc/startup.S (grub_stop): Remove function.
29404 * kern/i386/ieee1275/startup.S: Likewise.
29405 * kern/i386/coreboot/startup.S: Likewise.
29406 * kern/i386/misc.S (grub_stop): New function.
29407
29408 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29409
29410 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29411 * kern/i386/realmode.S (real_to_prot): ... to here.
29412
29413 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29414
29415 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29416 with `kernel.img'.
29417 (kernel_elf_SOURCES): Rename to ...
29418 (kernel_img_SOURCES): ... this.
29419 (kernel_elf_HEADERS): Rename to ...
29420 (kernel_img_HEADERS): ... this. Update all users.
29421 (kernel_elf_ASFLAGS): Rename to ...
29422 (kernel_img_ASFLAGS): ... this.
29423 (kernel_elf_CFLAGS): Rename to ...
29424 (kernel_img_CFLAGS): ... this.
29425 (kernel_elf_LDFLAGS): Rename to ...
29426 (kernel_img_LDFLAGS): ... this.
29427 * conf/i386-coreboot.rmk: Likewise.
29428 * conf/powerpc-ieee1275.rmk: Likewise.
29429
29430 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29431 with "kernel.img".
29432
29433 2009-06-21 Pavel Roskin <proski@gnu.org>
29434
29435 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29436 to match nested functions.
29437 * loader/sparc64/ieee1275/linux.c: Likewise.
29438
29439 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29440
29441 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29442
29443 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29444 all i386 platforms.
29445
29446 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29447
29448 Fix asm file handling on ELF, and remove workarounds.
29449
29450 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
29451 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
29452 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29453 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29454
29455 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29456
29457 Load BSD ELF modules
29458
29459 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29460 and loader/i386/bsd64.c
29461 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29462 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29463 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29464 (grub_freebsd_load_elfmodule32): New declaration
29465 (grub_freebsd_load_elfmoduleobj64): Likewise
29466 (grub_freebsd_load_elf_meta32): Likewise
29467 (grub_freebsd_load_elf_meta64): Likewise
29468 (grub_freebsd_add_meta): Likewise
29469 (grub_freebsd_add_meta_module): Likewise
29470 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29471 (grub_freebsd_add_meta_module): Likewise and move module-specific
29472 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29473 (grub_cmd_freebsd): Add elf-kernel specific parts
29474 based on grub_freebsd_add_meta_module
29475 (grub_cmd_freebsd_module): Add type parsing moved from
29476 grub_freebsd_add_meta_module
29477 (grub_cmd_freebsd_module_elf): New function
29478 (cmd_freebsd_module_elf): New variable
29479 (GRUB_MOD_INIT): Register freebsd_module_elf
29480 * loader/i386/bsd32.c: New file
29481 * loader/i386/bsd64.c: Likewise
29482 * loader/i386/bsdXX.c: Likewise
29483 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29484 (grub_elf64_load): Likewise
29485 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29486 All users updated
29487 (grub_elf64_load_hook_t): Likewise
29488
29489 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
29490
29491 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29492 variable.
29493 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29494 don't write a menu entry for recovery mode.
29495
29496 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29497
29498 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29499 after it's no longer needed.
29500
29501 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29502
29503 * include/grub/i386/loader.h (grub_linux_prot_size)
29504 (grub_linux_tmp_addr, grub_linux_real_addr)
29505 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29506 GRUB_MACHINE_PCBIOS.
29507 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29508 common grub_util_info() call to ...
29509 (generate_image): ... here.
29510 Fix use of uninitialized memory, comparison of signed with
29511 unsigned integers and memory leak.
29512 Remove bogus module address message.
29513
29514 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29515
29516 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29517 grub_raid_register
29518 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29519
29520 2009-06-19 Pavel Roskin <proski@gnu.org>
29521
29522 * configure.ac: Remove stray AC_MSG_CHECKING.
29523
29524 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29525
29526 * disk/scsi.c (grub_scsi_open): use continue instead of big if
29527
29528 2009-06-18 Pavel Roskin <proski@gnu.org>
29529
29530 * conf/common.rmk: Add fs_file.mod.
29531 * disk/fs_file.c: New file.
29532 * include/grub/disk.h (enum grub_disk_dev_id): Add
29533 GRUB_DISK_DEVICE_FILE_ID.
29534
29535 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29536
29537 Fix build with Apple's toolchain. Part 2
29538
29539 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29540 a fake start
29541
29542 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29543
29544 Fix build with Apple's toolchain. Part 1
29545
29546 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29547 for long calls
29548 * configure.ac: remove a leftover AC_MSG_RESULT
29549 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
29550 Apple's toolchain
29551
29552 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29553
29554 Fix warnings
29555
29556 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29557 (decomp_block): initialize ch
29558 use grub_memcpy instead of memcpy
29559
29560 2009-06-17 Pavel Roskin <proski@gnu.org>
29561
29562 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29563 version, use declarations needed to use vga_text as the startup
29564 console.
29565
29566 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29567 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29568 the kernel.
29569 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29570 and grub_at_keyboard_fini(), it's done on module load and
29571 unload.
29572
29573 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
29574
29575 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29576 file can't be found.
29577 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29578
29579 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 Fix newline handling
29582
29583 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
29584 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
29585 (grub_script_yylex): don't segfault on unterminated script
29586 newline terminates command and variable
29587
29588 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29589
29590 avoid double grub_adjust_range call. Bug reported by David Simner
29591
29592 * kern/disk.c (grub_disk_write): change to raw disk access before
29593 calling disk_read
29594
29595 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
29596
29597 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29598 spaces, for the benefit of help2man.
29599 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29600
29601 2009-06-16 Pavel Roskin <proski@gnu.org>
29602
29603 * kern/i386/halt.c: Include grub/machine/init.h.
29604 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29605
29606 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
29607
29608 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29609 drivemap menuentry.
29610
29611 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29612
29613 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29614 `echo' command.
29615
29616 2009-06-16 Pavel Roskin <proski@gnu.org>
29617
29618 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29619 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29620 save %dx, we only need %dl and we never change it.
29621 * boot/i386/pc/cdboot.S: Don't set the root drive.
29622 * boot/i386/pc/pxeboot.S: Likewise.
29623 * include/grub/i386/pc/boot.h: Remove
29624 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29625 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29626 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29627 * kern/i386/pc/init.c (make_install_device): Remove references
29628 to grub_root_drive.
29629 * kern/i386/pc/startup.S: Likewise.
29630 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29631
29632 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29633
29634 xnu_uuid command
29635
29636 * commands/xnu_uuid.c: new file
29637 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29638 (xnu_uuid_mod_SOURCES): new variable
29639 (xnu_uuid_mod_CFLAGS): likewise
29640 (xnu_uuid_mod_LDFLAGS): likewise
29641 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29642 * conf/i386-ieee1275.rmk: likewise
29643 * conf/i386-pc.rmk: likewise
29644 * conf/powerpc-ieee1275.rmk: likewise
29645 * conf/sparc64-ieee1275.rmk: likewise
29646 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29647
29648 2009-06-16 Pavel Roskin <proski@gnu.org>
29649
29650 * configure.ac: Avoid '==' in test command, it's not portable.
29651
29652 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29653
29654 Probe command
29655
29656 * commands/probe.c: new file
29657 * conf/common.rmk (pkglib_MODULES): add probe.mod
29658 (probe_mod_SOURCES): new variable
29659 (probe_mod_CFLAGS): likewise
29660 (probe_mod_LDFLAGS): likewise
29661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29662 * conf/i386-ieee1275.rmk: likewise
29663 * conf/i386-pc.rmk: likewise
29664 * conf/powerpc-ieee1275.rmk: likewise
29665 * conf/sparc64-ieee1275.rmk: likewise
29666
29667 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29668
29669 Fix handling of string like \"hello\" and "a
29670 b"
29671
29672 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29673 (grub_script_yylex): fix parsing of quoting, escaping and newline
29674
29675 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29676
29677 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
29678 handling
29679
29680 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
29681
29682 * util/grub-mkconfig.in: Fix parsing of --output option.
29683
29684 2009-06-12 Pavel Roskin <proski@gnu.org>
29685
29686 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29687 genmk.rb don't need to be generated or installed.
29688
29689 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29690
29691 * commands/i386/pc/drivemap_int13h.S: add more comments
29692
29693 2009-06-11 Pavel Roskin <proski@gnu.org>
29694
29695 * Makefile.in (uninstall): Uninstall manuals.
29696
29697 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29698 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29699 and update-grub_lib in two places.
29700 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29701
29702 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29703 a compiler warning.
29704
29705 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29706 `entry_lo' to fix variable shadowing.
29707
29708 2009-06-11 Christian Franke <franke@computer.org>
29709
29710 * kern/misc.c (__enable_execute_stack): Add missing return type
29711 to prevent gcc warning.
29712
29713 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29714
29715 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29716
29717 2009-06-11 Pavel Roskin <proski@gnu.org>
29718
29719 * Makefile.in: Don't rely on any scripts being executable.
29720 Always use $(SHELL) to run shell scripts.
29721
29722 * configure.ac: Always define ___main if using -nostdlib. This
29723 fixes tests on Cygwin.
29724
29725 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29726
29727 UDF fix
29728
29729 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29730 is in bytes and not in blocks
29731
29732 2009-06-11 Pavel Roskin <proski@gnu.org>
29733
29734 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29735 warning.
29736
29737 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29738
29739 * util/grub.d/30_os-prober.in: Fix a comment. Source
29740 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29741 to set the root device. Place drivemap command in the generated
29742 chain entry.
29743
29744 2009-06-11 Pavel Roskin <proski@gnu.org>
29745
29746 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29747 have long been resolved.
29748
29749 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29750
29751 * util/grub.d/10_linux.in: Capitalise "Linux".
29752
29753 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29754
29755 2009-06-11 Pavel Roskin <proski@gnu.org>
29756
29757 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29758 fix a gcc warning and ensure that the function won't ever exit.
29759
29760 * kern/i386/ieee1275/init.c: Add missing prototype for
29761 grub_stop_floppy().
29762
29763 * loader/ieee1275/multiboot2.c [__i386__]: Include
29764 grub/cpu/multiboot.h.
29765
29766 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29767 casts to short - they are not portable and cause warnings. Fix
29768 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29769
29770 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29771
29772 Drivemap fixes
29773
29774 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29775 new function
29776 (grub_get_root_biosnumber_saved): new variable
29777 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29778 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29779 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29780 %dx after the call if necessary
29781 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29782 (boot_mod_SOURCES): remove
29783 (boot_mod_CFLAGS): remove
29784 (boot_mod_LDFLAGS): remove
29785 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29786 (boot_mod_SOURCES): new variable
29787 (boot_mod_CFLAGS): likewise
29788 (boot_mod_LDFLAGS): likewise
29789 * conf/i386-efi.rmk: likewise
29790 * conf/i386-ieee1275.rmk: likewise
29791 * conf/i386-pc.rmk: likewise
29792 * conf/powerpc-ieee1275.rmk: likewise
29793 * conf/sparc64-ieee1275.rmk: likewise
29794 * conf/x86_64-efi.rmk: likewise
29795 * include/grub/i386/pc/biosnum.h: new file
29796 * lib/i386/pc/biosnum.c: likewise
29797 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29798 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29799 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29800
29801 2009-06-10 Pavel Roskin <proski@gnu.org>
29802
29803 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29804 Use separate variables. Read only the file size at the end, but
29805 not the checksum that we don't use.
29806
29807 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29808 Adjust all callers.
29809
29810 * kern/ieee1275/openfw.c: Remove libc includes.
29811 * kern/ieee1275/cmain.c: Likewise.
29812 * include/grub/ieee1275/ieee1275.h: Likewise.
29813
29814 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29815 compiler warnings.
29816
29817 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29818
29819 * Makefile.in: Remove all trailing whitespace.
29820 * conf/i386-pc.rmk: Likewise.
29821 * conf/powerpc-ieee1275.rmk: Likewise.
29822 * conf/sparc64-ieee1275.rmk: Likewise.
29823 * docs/grub.texi: Likewise.
29824 * docs/texinfo.tex: Likewise.
29825 * disk/fs_uuid.c: Likewise.
29826 * disk/lvm.c: Likewise.
29827 * disk/scsi.c: Likewise.
29828 * disk/ata.c: Likewise.
29829 * disk/ieee1275/ofdisk.c: Likewise.
29830 * disk/i386/pc/biosdisk.c: Likewise.
29831 * disk/host.c: Likewise.
29832 * disk/raid.c: Likewise.
29833 * disk/efi/efidisk.c: Likewise.
29834 * disk/usbms.c: Likewise.
29835 * disk/memdisk.c: Likewise.
29836 * disk/loopback.c: Likewise.
29837 * kern/powerpc/dl.c: Likewise.
29838 * kern/device.c: Likewise.
29839 * kern/dl.c: Likewise.
29840 * kern/sparc64/dl.c: Likewise.
29841 * kern/ieee1275/ieee1275.c: Likewise.
29842 * kern/term.c: Likewise.
29843 * kern/fs.c: Likewise.
29844 * kern/i386/dl.c: Likewise.
29845 * kern/i386/pc/startup.S: Likewise.
29846 * kern/i386/pc/init.c: Likewise.
29847 * kern/i386/pc/mmap.c: Likewise.
29848 * kern/i386/pc/lzo1x.S: Likewise.
29849 * kern/i386/ieee1275/init.c: Likewise.
29850 * kern/i386/realmode.S: Likewise.
29851 * kern/i386/tsc.c: Likewise.
29852 * kern/partition.c: Likewise.
29853 * kern/corecmd.c: Likewise.
29854 * kern/file.c: Likewise.
29855 * kern/efi/efi.c: Likewise.
29856 * kern/efi/init.c: Likewise.
29857 * kern/efi/mm.c: Likewise.
29858 * kern/main.c: Likewise.
29859 * kern/err.c: Likewise.
29860 * kern/env.c: Likewise.
29861 * kern/disk.c: Likewise.
29862 * kern/generic/millisleep.c: Likewise.
29863 * kern/generic/rtc_get_time_ms.c: Likewise.
29864 * kern/misc.c: Likewise.
29865 * kern/parser.c: Likewise.
29866 * genmk.rb: Likewise.
29867 * configure.ac: Likewise.
29868 * boot/i386/pc/diskboot.S: Likewise.
29869 * boot/i386/pc/pxeboot.S: Likewise.
29870 * boot/i386/pc/boot.S: Likewise.
29871 * boot/i386/pc/lnxboot.S: Likewise.
29872 * boot/i386/pc/cdboot.S: Likewise.
29873 * parttool/pcpart.c: Likewise.
29874 * video/readers/tga.c: Likewise.
29875 * video/video.c: Likewise.
29876 * video/bitmap.c: Likewise.
29877 * lib/envblk.c: Likewise.
29878 * lib/i386/setjmp.S: Likewise.
29879 * fs/xfs.c: Likewise.
29880 * fs/afs.c: Likewise.
29881 * fs/fat.c: Likewise.
29882 * fs/ntfs.c: Likewise.
29883 * fs/udf.c: Likewise.
29884 * fs/affs.c: Likewise.
29885 * fs/iso9660.c: Likewise.
29886 * fs/hfs.c: Likewise.
29887 * fs/fshelp.c: Likewise.
29888 * fs/ext2.c: Likewise.
29889 * fs/jfs.c: Likewise.
29890 * fs/reiserfs.c: Likewise.
29891 * fs/hfsplus.c: Likewise.
29892 * fs/minix.c: Likewise.
29893 * fs/cpio.c: Likewise.
29894 * fs/sfs.c: Likewise.
29895 * fs/ufs.c: Likewise.
29896 * efiemu/prepare.c: Likewise.
29897 * efiemu/loadcore_common.c: Likewise.
29898 * efiemu/runtime/efiemu.sh: Likewise.
29899 * efiemu/runtime/efiemu.S: Likewise.
29900 * efiemu/runtime/efiemu.c: Likewise.
29901 * efiemu/pnvram.c: Likewise.
29902 * efiemu/main.c: Likewise.
29903 * efiemu/i386/pc/cfgtables.c: Likewise.
29904 * efiemu/i386/loadcore64.c: Likewise.
29905 * efiemu/i386/loadcore32.c: Likewise.
29906 * efiemu/loadcore.c: Likewise.
29907 * efiemu/symbols.c: Likewise.
29908 * efiemu/mm.c: Likewise.
29909 * include/grub/autoefi.h: Likewise.
29910 * include/grub/datetime.h: Likewise.
29911 * include/grub/term.h: Likewise.
29912 * include/grub/hfs.h: Likewise.
29913 * include/grub/lvm.h: Likewise.
29914 * include/grub/i386/tsc.h: Likewise.
29915 * include/grub/i386/linux.h: Likewise.
29916 * include/grub/i386/xnu.h: Likewise.
29917 * include/grub/i386/efiemu.h: Likewise.
29918 * include/grub/i386/pc/biosdisk.h: Likewise.
29919 * include/grub/i386/pc/memory.h: Likewise.
29920 * include/grub/i386/pc/vbe.h: Likewise.
29921 * include/grub/parttool.h: Likewise.
29922 * include/grub/video.h: Likewise.
29923 * include/grub/memory.h: Likewise.
29924 * include/grub/fs.h: Likewise.
29925 * include/grub/partition.h: Likewise.
29926 * include/grub/xnu.h: Likewise.
29927 * include/grub/efi/api.h: Likewise.
29928 * include/grub/efi/pe32.h: Likewise.
29929 * include/grub/efi/memory.h: Likewise.
29930 * include/grub/multiboot.h: Likewise.
29931 * include/grub/usbdesc.h: Likewise.
29932 * include/grub/multiboot2.h: Likewise.
29933 * include/grub/acpi.h: Likewise.
29934 * include/grub/efiemu/efiemu.h: Likewise.
29935 * include/grub/disk.h: Likewise.
29936 * include/grub/ieee1275/ieee1275.h: Likewise.
29937 * include/grub/net.h: Likewise.
29938 * include/grub/machoload.h: Likewise.
29939 * include/grub/macho.h: Likewise.
29940 * include/multiboot.h: Likewise.
29941 * genmoddep.awk: Likewise.
29942 * normal/main.c: Likewise.
29943 * normal/menu_entry.c: Likewise.
29944 * normal/menu_viewer.c: Likewise.
29945 * normal/completion.c: Likewise.
29946 * normal/cmdline.c: Likewise.
29947 * normal/misc.c: Likewise.
29948 * normal/datetime.c: Likewise.
29949 * bus/usb/usbtrans.c: Likewise.
29950 * bus/usb/ohci.c: Likewise.
29951 * bus/usb/uhci.c: Likewise.
29952 * bus/usb/usb.c: Likewise.
29953 * mmap/efi/mmap.c: Likewise.
29954 * mmap/i386/pc/mmap_helper.S: Likewise.
29955 * mmap/i386/pc/mmap.c: Likewise.
29956 * mmap/i386/mmap.c: Likewise.
29957 * mmap/i386/uppermem.c: Likewise.
29958 * mmap/mmap.c: Likewise.
29959 * commands/acpi.c: Likewise.
29960 * commands/echo.c: Likewise.
29961 * commands/blocklist.c: Likewise.
29962 * commands/loadenv.c: Likewise.
29963 * commands/usbtest.c: Likewise.
29964 * commands/boot.c: Likewise.
29965 * commands/parttool.c: Likewise.
29966 * commands/search.c: Likewise.
29967 * commands/cat.c: Likewise.
29968 * commands/i386/pc/play.c: Likewise.
29969 * commands/i386/pc/drivemap.c: Likewise.
29970 * commands/i386/pc/vbeinfo.c: Likewise.
29971 * commands/i386/pc/acpi.c: Likewise.
29972 * commands/i386/pc/vbetest.c: Likewise.
29973 * commands/ls.c: Likewise.
29974 * commands/cmp.c: Likewise.
29975 * commands/test.c: Likewise.
29976 * commands/efi/acpi.c: Likewise.
29977 * commands/gptsync.c: Likewise.
29978 * commands/help.c: Likewise.
29979 * partmap/amiga.c: Likewise.
29980 * partmap/apple.c: Likewise.
29981 * partmap/acorn.c: Likewise.
29982 * partmap/pc.c: Likewise.
29983 * partmap/sun.c: Likewise.
29984 * partmap/gpt.c: Likewise.
29985 * script/sh/lexer.c: Likewise.
29986 * script/sh/function.c: Likewise.
29987 * font/font.c: Likewise.
29988 * font/font_cmd.c: Likewise.
29989 * loader/powerpc/ieee1275/linux.c: Likewise.
29990 * loader/efi/chainloader.c: Likewise.
29991 * loader/multiboot_loader.c: Likewise.
29992 * loader/macho.c: Likewise.
29993 * loader/i386/multiboot.c: Likewise.
29994 * loader/i386/linux.c: Likewise.
29995 * loader/i386/pc/linux.c: Likewise.
29996 * loader/i386/pc/multiboot2.c: Likewise.
29997 * loader/i386/pc/chainloader.c: Likewise.
29998 * loader/i386/pc/xnu.c: Likewise.
29999 * loader/i386/bsd_trampoline.S: Likewise.
30000 * loader/i386/efi/linux.c: Likewise.
30001 * loader/i386/multiboot_elfxx.c: Likewise.
30002 * loader/i386/bsd_helper.S: Likewise.
30003 * loader/i386/bsd.c: Likewise.
30004 * loader/i386/linux_trampoline.S: Likewise.
30005 * loader/i386/xnu_helper.S: Likewise.
30006 * loader/i386/xnu.c: Likewise.
30007 * loader/i386/bsd_pagetable.c: Likewise.
30008 * loader/i386/multiboot_helper.S: Likewise.
30009 * loader/xnu.c: Likewise.
30010 * loader/xnu_resume.c: Likewise.
30011 * io/gzio.c: Likewise.
30012 * term/efi/console.c: Likewise.
30013 * term/terminfo.c: Likewise.
30014 * term/ieee1275/ofconsole.c: Likewise.
30015 * term/i386/pc/serial.c: Likewise.
30016 * term/i386/pc/vesafb.c: Likewise.
30017 * term/i386/pc/vga.c: Likewise.
30018 * term/usb_keyboard.c: Likewise.
30019 * term/gfxterm.c: Likewise.
30020 * aclocal.m4: Likewise.
30021 * util/lvm.c: Likewise.
30022 * util/grub.d/30_os-prober.in: Likewise.
30023 * util/grub.d/10_hurd.in: Likewise.
30024 * util/console.c: Likewise.
30025 * util/grub-macho2img.c: Likewise.
30026 * util/grub-probe.c: Likewise.
30027 * util/hostfs.c: Likewise.
30028 * util/i386/pc/grub-mkimage.c: Likewise.
30029 * util/i386/pc/grub-setup.c: Likewise.
30030 * util/i386/efi/grub-mkimage.c: Likewise.
30031 * util/grub-mkconfig.in: Likewise.
30032 * util/raid.c: Likewise.
30033 * util/resolve.c: Likewise.
30034 * util/grub-mkdevicemap.c: Likewise.
30035 * util/grub-emu.c: Likewise.
30036 * util/getroot.c: Likewise.
30037 * util/hostdisk.c: Likewise.
30038 * util/usb.c: Likewise.
30039 * util/grub-editenv.c: Likewise.
30040 * util/misc.c: Likewise.
30041
30042 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30043
30044 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30045 `genparttoollist.sh'.
30046 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30047 Add `*.sh' to the list find searches for and change `mdate.sh'
30048 to `mdate-sh'.
30049
30050 2009-06-10 Pavel Roskin <proski@gnu.org>
30051
30052 * include/grub/multiboot2.h: Provide compatibility defines for
30053 multiboot2.h.
30054 * include/multiboot2.h: Include stdint.h only if needed, using
30055 angle brackets.
30056 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30057 grub/multiboot2.h.
30058 * loader/ieee1275/multiboot2.c: Likewise.
30059 * loader/multiboot2.c: Likewise.
30060 * loader/multiboot_loader.c: Likewise.
30061
30062 * configure.ac: Use -nostdlib when probing for the target. It
30063 should not be required to have libc for the target.
30064
30065 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30066 they fail without libc headers for the target.
30067 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30068 exports.
30069 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30070 preprocessor conditionals.
30071
30072 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30073 build system doesn't need to be aware of the tar.c internals.
30074
30075 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
30076
30077 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
30078
30079 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30080
30081 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30082 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30083
30084 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
30085
30086 * util/i386/pc/grub-install.in: Change the error message if UUIDs
30087 aren't available if ata.mod gets used.
30088
30089 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
30090
30091 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
30092 initialising controller.
30093 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30094
30095 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30096
30097 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30098 to choose between ata and biosdisk module on i386-pc.
30099
30100 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
30101
30102 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30103 Subclass and Programming Interface fields in terms of the 3 byte
30104 Class Code register.
30105 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30106
30107 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30108 interface is OHCI. Add grub_dprintf for symmetry with
30109 bus/usb/uhci.c.
30110 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30111 interface is UHCI. Add interf variable for programming
30112 interface. Print interface with class/subclass.
30113
30114 * bus/usb/ohci.c: Set interf with correct field.
30115
30116 * bus/usb/uhci.c: Remove unneeded doubled lines.
30117 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30118 Remove whitespace inside comment.
30119
30120 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30121
30122 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30123 as fallback an equivalent option without depth.
30124
30125 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30126
30127 Not fail if unable to retrieve C/H/S on LBA disks
30128
30129 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
30130 if unable to retrieve C/H/S on LBA disks
30131
30132 2009-06-08 Pavel Roskin <proski@gnu.org>
30133
30134 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30135 about aliasing.
30136
30137 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30138
30139 * Makefile.in (uninstall): Remove all $lib_DATA files.
30140
30141 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30142
30143 Bugfix: install on partitionless device
30144
30145 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30146 is a whole disk
30147
30148 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30149
30150 * Makefile.in (uninstall): Remove all $include_DATA files.
30151
30152 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30153
30154 * commands/true.c: New file. Implement the true and false commands.
30155 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30156 (true_mod_SOURCES): New variable.
30157 (true_mod_CFLAGS): Likewise.
30158 (true_mod_LDFLAGS): Likewise.
30159
30160 2009-06-05 Colin D Bennett <colin@gibibit.com>
30161
30162 Optimized font character lookup using binary search instead of linear
30163 search. Fonts now are required to have the character index ordered by
30164 code point.
30165
30166 * font/font.c (load_font_index): Verify that fonts have ordered
30167 character indices.
30168 (find_glyph): Use binary search instead of linear search to find a
30169 character in a font.
30170
30171 2009-06-05 Michael Scherer <misc@mandriva.org>
30172
30173 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30174 uses case sensitive btree.
30175 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30176 only for case insensitive filesystems.
30177
30178 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30179
30180 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30181 * conf/common.rmk (search_mod_CFLAGS): likewise
30182
30183 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30184
30185 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
30186 compensate a compiler bug
30187
30188 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30189
30190 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
30191 instead of '\b'
30192
30193 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30194
30195 Definitions for creating asm symbols with Apple's CC
30196
30197 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30198 [APPLE_CC] (VARIABLE): likewise
30199
30200 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30201
30202 Disable lnxboot.img when compiled
30203 with Apple's CC
30204
30205 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30206 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30207 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30208 [! APPLE_CC] (CODE_LENG): skip
30209 [! APPLE_CC] (setup_sects): likewise
30210 [! APPLE_CC]: skip filling
30211
30212 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30213
30214 Address in trampolines based on 32-bit registers when compiled
30215 with Apple's CC
30216
30217 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
30218 for addresses
30219 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30220
30221 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30222
30223 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30224
30225 * kern/misc.c [APPLE_CC] (memcpy): new function
30226 [APPLE_CC] (memmove): likewise
30227 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
30228 (memcpy): define alias conditionally on !APPLE_CC
30229 (memset): likewise
30230 (abort): likewise
30231 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30232 APPLE_CC are defined
30233 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30234 (grub_assert_fail): make prototype conditional
30235
30236 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30237
30238 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30239
30240 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30241 grub-macho2img
30242 (CLEANFILES): add grub-macho2img
30243 (grub_macho2img_SOURCES): new variable
30244 * kern/i386/pc/startup.S (bss_start): new variable
30245 (bss_end): likewise
30246 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30247 * util/grub-macho2img.c: new file
30248
30249 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30250
30251 Use objconv when compiling with Apple's CC
30252
30253 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30254 (efiemu64.o): likewise
30255 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30256 when compiling with Apple's CC
30257 (efiemu64_s.o): likewise
30258 * configure.ac: check for objconv when compiling with Apple's CC
30259 * genmk.rb: use objconv for modules when compiled with Apple's CC
30260
30261 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 Define segment as well as section when compiling with
30264 Apple's CC
30265
30266 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30267 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30268 (efiemu_convert_pointer): likewise
30269 (efiemu_set_virtual_address_map): likewise
30270 (efiemu_convert_pointer): likewise
30271 (efiemu_getcrc32): likewise
30272 (init_crc32_table): likewise
30273 (reflect): likewise
30274 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30275 (GRUB_MOD_DEP): likewise
30276
30277 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30278
30279 Allow a compilation without -mcmodel=large
30280
30281 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30282 when compiled without -mcmodel=large
30283 (filter_memory_map): remove memory post 4 GiB when compiled
30284 without -mcmodel=large
30285 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
30286 TARGET_CFLAGS when -mcmodel=large isn't supported
30287
30288 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30289
30290 Remove nested functions in efiemu core
30291
30292 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
30293
30294 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30295
30296 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30297
30298 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30299 temporary storage
30300 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30301 using Apple's CC
30302 (grub_cpu_is_tsc_supported): likewise
30303 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
30304
30305 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30306
30307 Absolute addressing through constant with Apple's cc
30308
30309 * kern/i386/pc/startup.S: Define necessary constants
30310 and address through it when using ABS with Apple's CC
30311 * boot/i386/pc/diskboot.S: likewise
30312 * boot/i386/pc/boot.S: likewise
30313 * boot/i386/pc/lnxboot.S: likewise
30314 * boot/i386/pc/cdboot.S: likewise
30315 * mmap/i386/pc/mmap_helper.S: likewise
30316 * commands/i386/pc/drivemap_int13h.S: likewise
30317
30318 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 Check if compiler is apple cc
30321
30322 * Makefile.in (ASFLAGS): new variable
30323 (TARGET_ASFLAGS): likewise
30324 (TARGET_MODULE_FORMAT): likewise
30325 (TARGET_APPLE_CC): likewise
30326 (OBJCONV): likewise
30327 (TARGET_IMG_CFLAGS): likewise
30328 (TARGET_CPPFLAGS): add includedir
30329 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30330 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30331 Check for linker script only if compiler isn't Apple's CC
30332 (TARGET_MODULE_FORMAT): set
30333 (TARGET_APPLE_CC): likewise
30334 (TARGET_ASFLAGS): likewise
30335 (ASFLAGS): likewise
30336 Check for objcopy only if compiler isn't Apple's CC
30337 Check for BSS symbol only if compiler isn't Apple's CC
30338 * genmk.rb: adapt nm options if we use Apple's utils
30339 * aclocal.m4 (grub_apple_cc): new test
30340 (grub_apple_target_cc): likewise
30341
30342 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 Simplify sed expressions and improve awk
30345
30346 * Makefile.in (install-local): simplify sed expression
30347 * gencmdlist.sh: likewise
30348 * genmoddep.awk: avoid adding module as a dependency of itself
30349
30350 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 Add missing start symbols
30353
30354 * boot/i386/pc/boot.S: add start
30355 * boot/i386/pc/pxeboot.S: likewise
30356
30357 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30358
30359 Fix wrong assumptions with grub-mkimage on EFI
30360
30361 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
30362 (relocate_addresses): consider both r_addend and value at offset
30363 (make_mods_section): zerofill modinfo and header
30364 (convert_elf): write prefix here
30365
30366 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30367
30368 Use .asciz instead of .string
30369
30370 * i386/pc/diskboot.S: use .asciz instead of .string
30371 * i386/pc/boot.S: likewise
30372 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30373 (GRUB_MOD_NAME): likewise
30374
30375 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30376
30377 gfxpayload support
30378
30379 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30380 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30381 (grub_video_setup): remove
30382 (grub_video_set_mode): new prototype
30383 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30384 (vid_mode): remove
30385 (linux_vesafb_res): compile only on PCBIOS
30386 (grub_linux_boot): support gfxpayload
30387 * loader/i386/pc/xnu.c (video_hook): new function
30388 (grub_xnu_set_video): support gfxpayload
30389 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30390 (DEFAULT_VIDEO_HEIGHT): likewise
30391 (DEFAULT_VIDEO_FLAGS): likewise
30392 (DEFAULT_VIDEO_MODE): new definition
30393 (video_hook): new function
30394 (grub_gfxterm_init): use grub_video_set_mode
30395 * util/grub.d/30_os-prober.in: remove explicit modesetting before
30396 loading xnu
30397 * video/video.c (grub_video_setup): removed
30398 (grub_video_set_mode): new function based on grub_gfxterm_init and
30399 grub_video_setup
30400
30401 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30402
30403 Avoid calling biosdisk in drivemap
30404
30405 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30406 (revparse_biosdisk): likewise
30407 (list_mappings): derive name from id directly
30408 (grub_cmd_drivemap): use tryparse_diskstring
30409
30410 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30411
30412 Script fixes
30413
30414 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30415 (grub_lexer_param): add tokenonhold
30416 (grub_script_create_cmdline): remove cmdline. All callers updated
30417 (grub_script_function_create): make functionname
30418 grub_script_arg. All callers updated
30419 (grub_script_execute_argument_to_string): new prototype
30420 * kern/parser.c (state_transitions): reorder
30421 (grub_parser_cmdline_state): fix a bug and make more compact
30422 * script/sh/execute.c (grub_script_execute_argument_to_string):
30423 make global
30424 (grub_script_execute_cmdline): use new format
30425 * script/sh/function.c (grub_script_function_create): make functionname
30426 grub_script_arg. All callers updated
30427 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
30428 (grub_script_yylex): remove
30429 (grub_script_yylex2): renamed to ...
30430 (grub_script_yylex): ...renamed
30431 parse the expressions like a${b}c
30432 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30433 (GRUB_PARSER_TOKEN_VAR): remove
30434 (GRUB_PARSER_TOKEN_NAME): likewise
30435 ("if"): declare as typeless
30436 ("while"): likewise
30437 ("function"): likewise
30438 ("else"): likewise
30439 ("then"): likewise
30440 ("fi"): likewise
30441 (text): remove
30442 (argument): likewise
30443 (script): accept empty scripts and make exit on error
30444 (arguments): use GRUB_PARSER_TOKEN_ARG
30445 (function): likewise
30446 (command): move error handling to script
30447 (menuentry): move grub_script_lexer_ref before
30448 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
30449 argument. All callers updated
30450
30451 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30452
30453 Prevent GRUB from probing floppies during boot.
30454
30455 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30456 * commands/search.c (options): Add --no-floppy.
30457 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30458 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30459 --no-floppy when searching for UUIDs.
30460
30461 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30462
30463 Simplify the code duplication in commands/search.c.
30464
30465 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30466 (search_fs): ... this. Update all users.
30467
30468 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
30469
30470 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30471
30472 2009-05-28 Pavel Roskin <proski@gnu.org>
30473
30474 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30475 Remove the original symlink explicitly.
30476
30477 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30478 just one slash. That's how grub_fshelp_find_file() does it.
30479
30480 2009-05-26 Pavel Roskin <proski@gnu.org>
30481
30482 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30483 to `str'.
30484
30485 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30486 possibly unused.
30487
30488 2009-05-25 Christian Franke <franke@computer.org>
30489
30490 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30491 register.
30492 (grub_atapi_identify): Add wait after drive select.
30493 (grub_ata_identify): Do more strict status register check before
30494 calling grub_atapi_identify (). Suppress error message if status
30495 register is 0x00 after command failure. Add status register
30496 check after PIO read to avoid bogus identify due to stuck DRQ.
30497 Thanks to Pavel Roskin for testing.
30498 (grub_device_initialize): Remove unsafe status register check.
30499 Thanks to 'phcoder' for problem report and patch.
30500 Prevent sign extension in debug message.
30501
30502 2009-05-23 Colin D Bennett <colin@gibibit.com>
30503
30504 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30505 definition file, and functions defined in `normal/menu.c' have had
30506 their prototypes moved to `include/grub/menu.h' for consistency.
30507
30508 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30509 from normal.h.
30510 (grub_menu_get_entry): Likewise.
30511 (grub_menu_get_timeout): Likewise.
30512 (grub_menu_set_timeout): Likewise.
30513 (grub_menu_execute_entry): Likewise.
30514 (grub_menu_execute_with_fallback): Likewise.
30515 (grub_menu_entry_run): Likewise.
30516
30517 * include/grub/normal.h: Re-ordered and grouped function
30518 prototypes by file that the function is defined in.
30519 (grub_menu_execute_callback): Removed; moved to menu.h.
30520 (grub_menu_get_entry): Likewise.
30521 (grub_menu_get_timeout): Likewise.
30522 (grub_menu_set_timeout): Likewise.
30523 (grub_menu_execute_entry): Likewise.
30524 (grub_menu_execute_with_fallback): Likewise.
30525 (grub_menu_entry_run): Likewise.
30526 (grub_menu_addentry): Renamed from this ...
30527 (grub_normal_add_menu_entry): ... to this.
30528
30529 * normal/main.c (grub_menu_addentry): Renamed from this ...
30530 (grub_normal_add_menu_entry): ... to this.
30531
30532 * script/sh/execute.c (grub_script_execute_menuentry): Update
30533 reference to renamed grub_menu_addentry function.
30534
30535 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
30536
30537 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30538
30539 2009-05-22 Pavel Roskin <proski@gnu.org>
30540
30541 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30542 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30543 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30544 compiling for the i386 targets, but not for the utilities.
30545
30546 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30547 to grub_uint8_t.
30548 (grub_root_drive): Likewise.
30549 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30550 remove alignment.
30551 (grub_root_drive): Change size to byte.
30552 (grub_start_addr): Remove.
30553 (grub_end_addr): Likewise.
30554 (grub_apm_bios_info): Likewise.
30555
30556 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
30557
30558 * normal/i386: Remove.
30559 * normal/powerpc: Likewise.
30560 * normal/sparc64: Likewise.
30561 * normal/x86_64: Likewise.
30562
30563 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30564
30565 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
30566 * loader/i386/linux_trampoline.S: Fix indentation
30567 * loader/i386/xnu_helper.S: Likewise
30568
30569 2009-05-18 Colin D Bennett <colin@gibibit.com>
30570
30571 Display error messages when parsing a Lua statement fails.
30572 Previously, executing a syntactically invalid statement like
30573 ")foo" or "bar;" would silently fail.
30574
30575 * script/lua/grub_main.c (handle_lua_error): New function.
30576 (grub_lua_parse_line): Improved reporting of Lua parser and
30577 execution errors.
30578
30579 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30580
30581 Remove -Werror which causes build to fail on some systems
30582
30583 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30584 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30585 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
30586
30587 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30588
30589 trampoline for linux on 64-bit platform
30590
30591 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30592 loader/i386/efi/linux_trampoline.S
30593 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
30594 declaration
30595 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30596 here
30597 * loader/i386/linux_trampoline.S: moved here
30598 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30599 trampoline
30600 (jumpvector): removed
30601 (grub_linux_trampoline_start): new declaration
30602 (grub_linux_trampoline_end): likewise
30603 (grub_linux_boot): use trampoline when on 64-bit platform
30604 * loader/i386/linux.c: likewise
30605
30606 2009-05-16 Pavel Roskin <proski@gnu.org>
30607
30608 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30609 const to avoid a warning.
30610 (grub_lua_setenv): Likewise.
30611 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30612 lmsg to fix a warning.
30613
30614 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30615
30616 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
30617 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30618 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30619 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30620 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30621 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30622 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30623 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30624
30625 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30626
30627 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30628
30629 2009-05-16 Bean <bean123ch@gmail.com>
30630
30631 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30632 (lua_mod_SOURCES): New variable.
30633 (lua_mod_CFLAGS): Likewise.
30634 (lua_mod_LDFLAGS): Likewise.
30635
30636 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30637 (setjmp_mod_SOURCES): New variable.
30638 (setjmp_mod_CFLAGS): Likewise.
30639 (setjmp_LDFLAGS): Likewise.
30640
30641 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30642 (setjmp_mod_SOURCES): New variable.
30643 (setjmp_mod_CFLAGS): Likewise.
30644 (setjmp_LDFLAGS): Likewise.
30645
30646 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30647 (setjmp_mod_SOURCES): New variable.
30648 (setjmp_mod_CFLAGS): Likewise.
30649 (setjmp_LDFLAGS): Likewise.
30650
30651 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30652 (setjmp_mod_SOURCES): New variable.
30653 (setjmp_mod_CFLAGS): Likewise.
30654 (setjmp_LDFLAGS): Likewise.
30655
30656 * normal/i386/setjmp.S: Moved from here ...
30657 * lib/i386/setjmp.S: ... Moved here
30658 * normal/x86_64/setjmp.S: Moved from here ...
30659 * lib/x86_64/setjmp.S: ... Moved here
30660 * normal/powerpc/setjmp.S: Moved from here ...
30661 * lib/powerpc/setjmp.S: ... Moved here
30662 * normal/sparc64/setjmp.S: Moved from here ...
30663 * lib/sparc64/setjmp.S: ... Moved here
30664
30665 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30666 returns_twice in mingw.
30667
30668 * script/lua/grub_lib.c: New file.
30669 * script/lua/grub_lib.h: Likewise.
30670 * script/lua/grub_lua.h: Likewise.
30671 * script/lua/grub_main.c: Likewise.
30672 * script/lua/lapi.c: Likewise.
30673 * script/lua/lapi.h: Likewise.
30674 * script/lua/lauxlib.c: Likewise.
30675 * script/lua/lauxlib.h: Likewise.
30676 * script/lua/lbaselib.c: Likewise.
30677 * script/lua/lcode.c: Likewise.
30678 * script/lua/lcode.h: Likewise.
30679 * script/lua/ldblib.c: Likewise.
30680 * script/lua/ldebug.c: Likewise.
30681 * script/lua/ldebug.h: Likewise.
30682 * script/lua/ldo.c: Likewise.
30683 * script/lua/ldo.h: Likewise.
30684 * script/lua/ldump.c: Likewise.
30685 * script/lua/lfunc.c: Likewise.
30686 * script/lua/lfunc.h: Likewise.
30687 * script/lua/lgc.c: Likewise.
30688 * script/lua/lgc.h: Likewise.
30689 * script/lua/linit.c: Likewise.
30690 * script/lua/liolib.c: Likewise.
30691 * script/lua/llex.c: Likewise.
30692 * script/lua/llex.h: Likewise.
30693 * script/lua/llimits.h: Likewise.
30694 * script/lua/lmathlib.c: Likewise.
30695 * script/lua/lmem.c: Likewise.
30696 * script/lua/lmem.h: Likewise.
30697 * script/lua/loadlib.c: Likewise.
30698 * script/lua/lobject.c: Likewise.
30699 * script/lua/lobject.h: Likewise.
30700 * script/lua/lopcodes.c: Likewise.
30701 * script/lua/lopcodes.h: Likewise.
30702 * script/lua/loslib.c: Likewise.
30703 * script/lua/lparser.c: Likewise.
30704 * script/lua/lparser.h: Likewise.
30705 * script/lua/lstate.c: Likewise.
30706 * script/lua/lstate.h: Likewise.
30707 * script/lua/lstring.c: Likewise.
30708 * script/lua/lstring.h: Likewise.
30709 * script/lua/lstrlib.c: Likewise.
30710 * script/lua/ltable.c: Likewise.
30711 * script/lua/ltable.h: Likewise.
30712 * script/lua/ltablib.c: Likewise.
30713 * script/lua/ltm.c: Likewise.
30714 * script/lua/ltm.h: Likewise.
30715 * script/lua/lua.h: Likewise.
30716 * script/lua/luaconf.h: Likewise.
30717 * script/lua/lualib.h: Likewise.
30718 * script/lua/lundump.c: Likewise.
30719 * script/lua/lundump.h: Likewise.
30720 * script/lua/lvm.c: Likewise.
30721 * script/lua/lvm.h: Likewise.
30722 * script/lua/lzio.c: Likewise.
30723 * script/lua/lzio.h: Likewise.
30724
30725 2009-05-16 Bean <bean123ch@gmail.com>
30726
30727 * include/grub/kernel.h (grub_module_header_types): Add type
30728 OBJ_TYPE_CONFIG.
30729
30730 * kern/main.c (grub_load_config): New function.
30731 (grub_main): Call grub_load_config to read boot config.
30732
30733 * grub-mkimage (generate_image): New parameter config_path.
30734 (options): New option --config.
30735 (main): Parse --config option, and pass it to generate_image.
30736
30737 2009-05-14 Christian Franke <franke@computer.org>
30738
30739 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30740 This fixes build on Cygwin.
30741
30742 2009-05-14 Pavel Roskin <proski@gnu.org>
30743
30744 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30745 jump. This saves two bytes, so the typical case of 2 swapped
30746 drives would fit 32 bytes.
30747
30748 2009-05-13 Pavel Roskin <proski@gnu.org>
30749
30750 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30751 grub_uint32_t to avoid a warning.
30752
30753 * loader/i386/linux.c (allocate_pages): When assigning
30754 real_mode_mem, cast through grub_size_t to fix a warning. The
30755 code already makes sure that the value would fit a pointer.
30756 (grub_linux_setup_video): Cast render_target->data to
30757 grub_size_t to fix a warning.
30758
30759 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30760
30761 * commands/i386/pc/drivemap.c: New file - implement drivemap
30762 command.
30763 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30764 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30765
30766 2009-05-13 Pavel Roskin <proski@gnu.org>
30767
30768 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30769 embedding_area_exists.
30770
30771 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30772
30773 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30774 it easier to understand / work with.
30775 Improve warning messages for cases where there's no embedding area,
30776 or when it is too small (or core.img too large).
30777
30778 2009-05-13 Pavel Roskin <proski@gnu.org>
30779
30780 * loader/i386/pc/multiboot2.c: Add necessary includes for
30781 grub_multiboot2_real_boot().
30782
30783 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30784 PX record is always little-endian. We only need the lower 2
30785 bytes of the mode.
30786
30787 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30788 facilitate code reuse.
30789 (grub_cpio_mount): Use "struct head", not a char buffer. This
30790 fixes a warning reported by gcc 4.4.
30791
30792 * kernel/disk.c (grub_disk_read): Use void pointer for the
30793 buffer.
30794 (grub_disk_write): Use const void pointer for the buffer.
30795 Adjust all callers. Remove unnecessary casts.
30796
30797 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30798
30799 * util/i386/pc/grub-install.in: Update copyright year.
30800
30801 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30802
30803 gptsync
30804
30805 * commands/gptsync.c: new file
30806 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30807 (gptsync_mod_SOURCES): new variable
30808 (gptsync_mod_CFLAGS): likewise
30809 (gptsync_mod_LDFLAGS): likewise
30810 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30811 new definition
30812 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30813 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30814 * conf/i386-ieee1275.rmk: likewise
30815 * conf/i386-pc.rmk: likewise
30816 * conf/powerpc-ieee1275.rmk: likewise
30817
30818 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30819
30820 Fixed grub-emu
30821
30822 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30823 (grub_dl_ref): likewise
30824
30825 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30826
30827 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30828 split in two functions (one for msdos and one for gpt).
30829
30830 2009-05-08 Pavel Roskin <proski@gnu.org>
30831
30832 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30833 not modified.
30834
30835 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30836 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30837 Initialize them with -1. Add sanity check for bad1. Eliminate
30838 nerr variable.
30839
30840 2009-05-08 David S. Miller <davem@davemloft.net>
30841
30842 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30843
30844 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30845
30846 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30847 existence.
30848
30849 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30850
30851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30852 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30853
30854 2009-05-05 David S. Miller <davem@davemloft.net>
30855
30856 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30857
30858 2009-05-05 Pavel Roskin <proski@gnu.org>
30859
30860 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30861 of grub_dl_ref() and grub_dl_unref().
30862 * commands/parttool.c: Remove preprocessor conditionals around
30863 grub_dl_ref() and grub_dl_unref().
30864 * fs/affs.c: Likewise.
30865 * fs/afs.c: Likewise.
30866 * fs/cpio.c: Likewise.
30867 * fs/ext2.c: Likewise.
30868 * fs/fat.c: Likewise.
30869 * fs/hfs.c: Likewise.
30870 * fs/hfsplus.c: Likewise.
30871 * fs/iso9660.c: Likewise.
30872 * fs/jfs.c: Likewise.
30873 * fs/minix.c: Likewise.
30874 * fs/ntfs.c: Likewise.
30875 * fs/reiserfs.c: Likewise.
30876 * fs/sfs.c: Likewise.
30877 * fs/udf.c: Likewise.
30878 * fs/ufs.c: Likewise.
30879 * fs/xfs.c: Likewise.
30880 * include/grub/dl.h: Likewise.
30881 * loader/xnu.c: Likewise.
30882
30883 2009-05-04 Pavel Roskin <proski@gnu.org>
30884
30885 * commands/acpi.c: Remove unused variable my_mod.
30886 * partmap/amiga.c: Likewise.
30887 * partmap/apple.c: Likewise.
30888 * partmap/gpt.c: Likewise.
30889 * partmap/pc.c: Likewise.
30890 * partmap/sun.c: Likewise.
30891 * term/gfxterm.c: Likewise.
30892 * term/i386/pc/vesafb.c: Likewise.
30893 * term/i386/pc/vga.c: Likewise.
30894
30895 2009-05-04 David S. Miller <davem@davemloft.net>
30896
30897 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30898 pointer args to grub_ieee1275_get_property().
30899
30900 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30901
30902 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30903 devices, and do not traverse down under controller nodes.
30904
30905 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30906 (grub_ofdisk_open): Use it to un-escape "," characters.
30907 * kern/disk.c (find_part_sep): New.
30908 (grub_disk_open): Use it to find the first non-escaped ','
30909 character in the disk name.
30910 * util/ieee1275/devicemap.c (escape_of_path): New.
30911 (grub_util_emit_devicemap_entry): Use it.
30912 * util/sparc64/ieee1275/grub-install.in: Update script to
30913 strip partition specifiers properly by not triggering on
30914 '\' escaped ',' characters.
30915
30916 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30917
30918 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30919 to 0x300.
30920 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30921 resolutions.
30922 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30923 on documentation from Wikipedia).
30924
30925 2009-05-04 Pavel Roskin <proski@gnu.org>
30926
30927 * disk/ata.c: Spelling fixes.
30928 * disk/raid.c: Likewise.
30929 * disk/usbms.c: Likewise.
30930 * disk/dmraid_nvidia.c: Likewise.
30931 * kern/ieee1275/openfw.c: Likewise.
30932 * kern/ieee1275/init.c: Likewise.
30933 * kern/ieee1275/cmain.c: Likewise.
30934 * boot/i386/pc/cdboot.S: Likewise.
30935 * video/readers/png.c: Likewise.
30936 * video/i386/pc/vbe.c: Likewise.
30937 * fs/udf.c: Likewise.
30938 * fs/hfs.c: Likewise.
30939 * fs/reiserfs.c: Likewise.
30940 * efiemu/runtime/efiemu.c: Likewise.
30941 * efiemu/main.c: Likewise.
30942 * efiemu/mm.c: Likewise.
30943 * include/grub/elf.h: Likewise.
30944 * include/grub/xnu.h: Likewise.
30945 * include/grub/usbdesc.h: Likewise.
30946 * include/grub/usb.h: Likewise.
30947 * include/grub/script_sh.h: Likewise.
30948 * include/grub/lib/LzmaEnc.h: Likewise.
30949 * include/grub/efiemu/efiemu.h: Likewise.
30950 * include/grub/command.h: Likewise.
30951 * normal/menu.c: Likewise.
30952 * normal/main.c: Likewise.
30953 * normal/datetime.c: Likewise.
30954 * bus/usb/uhci.c: Likewise.
30955 * mmap/i386/uppermem.c: Likewise.
30956 * mmap/mmap.c: Likewise.
30957 * commands/acpi.c: Likewise.
30958 * commands/test.c: Likewise.
30959 * partmap/apple.c: Likewise.
30960 * font/font.c: Likewise.
30961 * loader/sparc64/ieee1275/linux.c: Likewise.
30962 * loader/macho.c: Likewise.
30963 * loader/i386/bsd_trampoline.S: Likewise.
30964 * loader/i386/bsd.c: Likewise.
30965 * loader/xnu.c: Likewise.
30966 * term/i386/pc/vesafb.c: Likewise.
30967 * term/usb_keyboard.c: Likewise.
30968 * util/resolve.c: Likewise.
30969 * util/getroot.c: Likewise.
30970
30971 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30972
30973 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30974
30975 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30976
30977 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30978 build error.
30979
30980 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30981
30982 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30983 parameter only available on BIOS.
30984
30985 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30986
30987 Removed wrong semicolon in declaration
30988
30989 * grub/misc.h (grub_dprintf): remove semicolon
30990
30991 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30992
30993 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30994 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30995 is done by grub_cmd_linux() now).
30996 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30997 restore video to text mode.
30998 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30999 indicates lack of "vga=" parameter. "vga=0" is mapped to
31000 `GRUB_LINUX_VID_MODE_NORMAL'.
31001
31002 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31003
31004 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31005 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31006 and `normal/script.c'. Add `kern/rescue_reader.c',
31007 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
31008 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31009 `grub_script.tab.c'.
31010
31011 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31012 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31014 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31015 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31016
31017 * Makefile.in: Remove duplicated 2008 in Copyright line.
31018
31019 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31020
31021 * util/misc.c (grub_util_warn): New function. Emits a warning
31022 unconditionally.
31023 * include/grub/util/misc.h (grub_util_warn): New declaration.
31024
31025 * util/i386/pc/grub-install.in: Understand --force and pass it down
31026 to grub-setup.
31027
31028 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31029 down to setup().
31030 (setup): Improve error messages and add warnings when requested to
31031 install in odd layouts. Refuse to install using blocklists unless
31032 --force was set.
31033
31034 2009-05-04 martin f. krafft <madduck@madduck.net>
31035
31036 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31037
31038 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31039
31040 Updated copyright year
31041
31042 * fs/hfsplus.c: updated copyright year
31043
31044 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31045
31046 HFS+ UUID
31047
31048 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
31049 in the space previously used by unused3
31050 (grub_hfsplus_uuid): new function
31051 (grub_hfsplus_fs): added uuid field
31052
31053 2009-05-03 Pavel Roskin <proski@gnu.org>
31054
31055 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31056 suppress warnings. It's no longer needed.
31057 * disk/host.c: Likewise.
31058 * disk/ata_pthru.c: Likewise.
31059 * disk/loopback.c: Likewise.
31060 * hook/datehook.c: Likewise.
31061 * parttool/pcpart.c: Likewise.
31062 * fs/i386/pc/pxe.c: Likewise.
31063 * fs/ntfscomp.c: Likewise.
31064 * efiemu/main.c: Likewise.
31065 * mmap/mmap.c: Likewise.
31066 * commands/crc.c: Likewise.
31067 * commands/hexdump.c: Likewise.
31068 * commands/hdparm.c: Likewise.
31069 * commands/acpi.c: Likewise.
31070 * commands/echo.c: Likewise.
31071 * commands/minicmd.c: Likewise.
31072 * commands/blocklist.c: Likewise.
31073 * commands/memrw.c: Likewise.
31074 * commands/loadenv.c: Likewise.
31075 * commands/usbtest.c: Likewise.
31076 * commands/lsmmap.c: Likewise.
31077 * commands/boot.c: Likewise.
31078 * commands/parttool.c: Likewise.
31079 * commands/configfile.c: Likewise.
31080 * commands/search.c: Likewise.
31081 * commands/ieee1275/suspend.c: Likewise.
31082 * commands/cat.c: Likewise.
31083 * commands/i386/pc/pxecmd.c: Likewise.
31084 * commands/i386/pc/play.c: Likewise.
31085 * commands/i386/pc/halt.c: Likewise.
31086 * commands/i386/pc/vbeinfo.c: Likewise.
31087 * commands/i386/pc/vbetest.c: Likewise.
31088 * commands/lspci.c: Likewise.
31089 * commands/date.c: Likewise.
31090 * commands/handler.c: Likewise.
31091 * commands/ls.c: Likewise.
31092 * commands/test.c: Likewise.
31093 * commands/cmp.c: Likewise.
31094 * commands/efi/loadbios.c: Likewise.
31095 * commands/efi/fixvideo.c: Likewise.
31096 * commands/halt.c: Likewise.
31097 * commands/help.c: Likewise.
31098 * commands/reboot.c: Likewise.
31099 * hello/hello.c: Likewise.
31100 * script/sh/main.c: Likewise.
31101 * loader/xnu.c: Likewise.
31102 * term/terminfo.c: Likewise.
31103 * term/i386/pc/serial.c: Likewise.
31104 * term/usb_keyboard.c: Likewise.
31105
31106 2009-05-03 David S. Miller <davem@davemloft.net>
31107
31108 * normal/menu.c: Include grub/parser.h
31109
31110 2009-05-03 Pavel Roskin <proski@gnu.org>
31111
31112 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31113 not char*.
31114 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31115 Suggested by Javier Martín <lordhabbit@gmail.com>
31116
31117 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31118 efiemu??.o doesn't exist.
31119 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31120 copying.
31121
31122 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
31123
31124 FreeBSD 64-bit support
31125
31126 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
31127 and loader/i386/bsd_trampoline.S
31128 (bsd_mod_ASFLAGS): new variable
31129 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31130 (FREEBSD_MODTYPE_KERNEL64): likewise
31131 (grub_bsd64_trampoline_start): likewise
31132 (grub_bsd64_trampoline_end): likewise
31133 (grub_bsd64_trampoline_selfjump): likewise
31134 (grub_bsd64_trampoline_gdt): likewise
31135 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31136 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31137 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31138 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
31139 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31140 of "attrib" member
31141 * loader/i386/bsd_pagetable.c: new file
31142 * loader/i386/bsd_trampoline.S: likewise
31143 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31144 (ALIGN_VAR): likewise
31145 (entry_hi): new variable
31146 (kern_end_mdofs): likewise
31147 (is_64bit): likewise
31148 (grub_freebsd_add_meta): use ALIGN_VAR
31149 (grub_e820_mmap): new declaration
31150 (grub_freebsd_add_mmap): new function
31151 (grub_freebsd_add_meta_module): support 64 bit kernels
31152 (grub_freebsd_list_modules): use ALIGN_VAR
31153 (gdt_descriptor): new declaration
31154 (grub_freebsd_boot): support 64 bit kernels
31155 (grub_bsd_elf64_hook): new function
31156 (grub_bsd_load_elf): support elf64
31157
31158 2009-05-03 Bean <bean123ch@gmail.com>
31159
31160 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31161 after we get the result of if statement.
31162
31163 2009-05-03 Bean <bean123ch@gmail.com>
31164
31165 * Makefile.in (enable_efiemu): New variable.
31166
31167 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31168 set.
31169 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31170 path.
31171 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31172 path, add -mno-red-zone option.
31173 (efiemu64_s.o): Likewise.
31174 (efiemu64.o): Use macro $^ for source file.
31175
31176 * configure.ac (--enable-efiemu): New option.
31177
31178 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31179
31180 xnu support
31181
31182 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31183 (pkglib_MODULES): add xnu.mod
31184 (xnu_mod_SOURCES): new variable
31185 (xnu_mod_CFLAGS): likewise
31186 (xnu_mod_LDFLAGS): likewise
31187 (xnu_mod_ASFLAGS): likewise
31188 * conf/i386-pc.rmk: likewise
31189 * conf/x86_64-efi.rmk: likewise
31190 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
31191 new declaration
31192 * include/grub/i386/macho.h: new file
31193 * include/grub/i386/xnu.h: likewise
31194 * include/grub/macho.h: likewise
31195 * include/grub/machoload.h: likewise
31196 * include/grub/x86_64/macho.h: likewise
31197 * include/grub/x86_64/xnu.h: likewise
31198 * include/grub/xnu.h: likewise
31199 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31200 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31201 * loader/i386/efi/xnu.c: new file
31202 * loader/i386/pc/xnu.c: likewise
31203 * loader/i386/xnu.c: likewise
31204 * loader/i386/xnu_helper.S: likewise
31205 * loader/macho.c: likewise
31206 * loader/xnu.c: likewise
31207 * loader/xnu_resume.c: likewise
31208 * util/grub-dumpdevtree: likewise
31209 * include/grub/i386/pit.h: include grub/err.h
31210 (grub_pit_wait): export
31211 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
31212
31213 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31214
31215 Efiemu
31216
31217 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
31218 _linux_efi, linux_efi.
31219 new files in grub-emu
31220 new targets efiemu32.o and efiemu64.o
31221 * loader/linux_normal_efiemu.c: likewise
31222 * loader/i386/efi/linux.c: added preliminary efiemu support
31223 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
31224 files to copy
31225 * include/grub/autoefi.h: new file
31226 * include/grub/i386/efiemu.h: likewise
31227 * include/grub/i386/pc/efiemu.h: likewise
31228 * include/grub/efi/api.h: add LL suffix when necessary
31229 new definitions relating to tables
31230 * include/grub/efiemu/efiemu.h: new file
31231 * include/grub/efiemu/runtime.h: likewise
31232 * efiemu/prepare.c: likewise
31233 * efiemu/loadcore_common.c: likewise
31234 * efiemu/loadcore64.c: likewise
31235 * efiemu/runtime/efiemu.sh: likewise
31236 * efiemu/runtime/efiemu.S: likewise
31237 * efiemu/runtime/efiemu.c: likewise
31238 * efiemu/runtime/config.h: likewise
31239 * efiemu/prepare32.c: likewise
31240 * efiemu/main.c: likewise
31241 * efiemu/modules/pnvram.c: likewise
31242 * efiemu/modules/i386: likewise
31243 * efiemu/modules/i386/pc: likewise
31244 * efiemu/modules/acpi.c: likewise
31245 * efiemu/i386/pc/cfgtables.c: likewise
31246 * efiemu/i386/loadcore64.c: likewise
31247 * efiemu/i386/loadcore32.c: likewise
31248 * efiemu/prepare64.c: likewise
31249 * efiemu/loadcore.c: likewise
31250 * efiemu/symbols.c: likewise
31251 * efiemu/mm.c: likewise
31252 * efiemu/loadcore32.c: likewise
31253
31254 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31255
31256 ACPI spoofing
31257
31258 * commands/acpi.c: new file
31259 * commands/i386/pc/acpi.c: likewise
31260 * commands/efi/acpi.c: likewise
31261 * include/grub/acpi.h: likewise
31262 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31263 (acpi_mod_SOURCES): new variable
31264 (acpi_mod_CFLAGS): likewise
31265 (acpi_mod_LDFLAGS): likewise
31266 * conf/i386-efi.rmk: likewise
31267 * conf/x86_64-efi.rmk: likewise
31268
31269 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31270
31271 Missing part from mmap patch
31272
31273 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31274 (grub_mmap_unregister)
31275 (grub_mmap_free_and_unregister): use grub_mmap_register
31276
31277 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31278
31279 Mmap services
31280
31281 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31282 * loader/i386/linux.c (find_mmap_size): likewise
31283 (allocate_pages): likewise
31284 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31285 (grub_fill_multiboot_mmap): likewise
31286 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31287 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31288 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31289 (OPENBSD_MMAP_RESERVED): likewise
31290 * include/grub/i386/pc/memory.h: include grub/memory.h
31291 (grub_lower_mem): removed
31292 (grub_upper_mem): likewise
31293 (GRUB_MACHINE_MEMORY_ACPI): new definition
31294 (GRUB_MACHINE_MEMORY_NVS): likewise
31295 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31296 (GRUB_MACHINE_MEMORY_HOLE): likewise
31297 (grub_machine_mmap_register): likewise
31298 (grub_machine_mmap_unregister): likewise
31299 (grub_machine_get_upper): likewise
31300 (grub_machine_get_lower): likewise
31301 (grub_machine_get_post64): likewise
31302 * include/grub/i386/efi/memory.h: new file
31303 * include/grub/x86_64/efi/memory.h: likewise
31304 * include/grub/efi/memory.h: likewise
31305 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31306 (mmap_mod_SOURCES): new variable
31307 (mmap_mod_LDFLAGS): likewise
31308 (mmap_mod_ASFLAGS): likewise
31309 * conf/i386-coreboot.rmk: likewise
31310 * conf/i386-ieee1275.rmk: likewise
31311 * conf/i386-efi.rmk: likewise
31312 * conf/x86_64-efi.rmk: likewise
31313 * include/grub/types.h (UINT_TO_PTR): new macro
31314 (PTR_TO_UINT32): likewise
31315 (PTR_TO_UINT64): likewise
31316 * include/grub/memory.h: new file
31317 * mmap/i386/pc/mmap.c: likewise
31318 * mmap/i386/pc/mmap_helper.S: likewise
31319 * mmap/i386/uppermem.c: likewise
31320 * mmap/mmap.c: likewise
31321 * mmap/efi/mmap.c: likewise
31322 * kern/i386/coreboot/init.c (grub_machine_init): don't use
31323 grub_upper_mem
31324 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31325 (grub_upper_mem): likewise
31326 (grub_machine_init): don't use grub_upper_mem,
31327 make grub_lower_mem local
31328 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31329 grub_mmap_iterate and grub_mmap_get_upper
31330 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31331
31332 2009-05-02 Bean <bean123ch@gmail.com>
31333
31334 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31335 script/sh/parser.y.
31336 (pkglib_MODULES): Add normal.mod and sh.mod.
31337 (normal_SOURCES): New variable.
31338 (normal_mod_CFLAGS): Likewise.
31339 (normal_mod_LDFLAGS): Likewise.
31340 (sh_mod_SOURCES): Likewise.
31341 (sh_mod_CFLAGS): Likewise.
31342 (sh_mod_LDFLAGS): Likewise.
31343
31344 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31345 script/sh/lexer.c_DEPENDENCIES.
31346 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31347 kern/rescue_reader.c and kern/rescue_parser.c.
31348 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31349 (grub_emu_SOURCES): Change source files.
31350 (pkglib_MODULES): Remove normal.mod.
31351 (normal_SOURCES): Removed.
31352 (normal_mod_CFLAGS): Likewise.
31353 (normal_mod_LDFLAGS): Likewise.
31354 * conf/i386-coreboot.rmk: Likewise.
31355 * conf/i386-efi.rmk: Likewise.
31356 * conf/i386-ieee1276.rmk: Likewise.
31357 * conf/powerpc-ieee1275.rmk: Likewise.
31358 * conf/sparc64-ieee1275.rmk: Likewise.
31359 * conf/x86_64-efi.rmk: Likewise.
31360
31361 * include/grub/command.h (grub_command_execute): New inline function.
31362
31363 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31364
31365 * include/grub/normal.h: Remove <grub/setjmp.h>.
31366 (grub_fs_module_list): Moved to normal/autofs.c.
31367 (grub_exit_env): Removed.
31368 (grub_command_execute): Likewise.
31369 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31370 parameter script.
31371 (read_command_list): New function declaration.
31372 (read_fs_list): Likewise.
31373
31374 * include/parser.h: Include <grub/reader.h>.
31375 (grub_parser_split_cmdline): Change type of getline parameter.
31376 (grub_parser): New structure.
31377 (grub_parser_class): New variable.
31378 (grub_parser_execute): New function declaration.
31379 (grub_register_rescue_parser): Likewise.
31380 (grub_parser_register): New inline function.
31381 (grub_parser_unregister): Likewise.
31382 (grub_parser_get_current): Likewise.
31383 (grub_parser_set_current): Likewise.
31384
31385 * include/grub/reader.h: New file.
31386 * kern/reader.c: Likewise.
31387 * kern/rescue_parser.c: Likewise.
31388 * kern/rescue_reader.c: Likewise.
31389 * normal/autofs.c: Likewise.
31390 * normal/dyncmd.c: Likewise.
31391
31392 * include/grub/rescue.h: Removed.
31393 * normal/command.h: Likewise.
31394
31395 * include/grub/script.h: Moved to ...
31396 * include/grub/script_sh.h: ... Moved here.
31397 * normal/execute.c: Moved to ...
31398 * script/sh/execute.c: ... Moved here.
31399 * normal/function.c: Moved to ...
31400 * script/sh/function.c: ... Moved here.
31401 * normal/lexer.c: Moved to ...
31402 * script/sh/lexer.c: ... Moved here.
31403 * normal/parser.y: Moved to ...
31404 * script/sh/parser.y: ... Moved here.
31405 * normal/script.c: Moved to ...
31406 * script/sh/script.c: ... Moved here.
31407
31408 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31409 <grub/reader.h>.
31410 (grub_exit_env): Removed.
31411 (fs_module_list): Moved to normal/autofs.c.
31412 (grub_file_getline): Don't handle comment here.
31413 (free_menu): Skip removed field entry->commands.
31414 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31415 script parameter.
31416 (read_config_file): Removed nested parameter, change getline function.
31417 (grub_enter_normal_mode): Removed.
31418 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31419 (read_command_list): Likewise.
31420 (autoload_fs_module): Moved to normal/autofs.c.
31421 (read_fs_list): Likewise.
31422 (reader_nested): New variable.
31423 (grub_normal_execute): Run parser.sh to switch to sh parser.
31424 (grub_cmd_rescue): Removed.
31425 (cmd_normal): Removed.
31426 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31427 rescue command.
31428 (grub_cmdline_run): New function.
31429 (grub_normal_reader_init): Likewise.
31430 (grub_normal_read_line): Likewise.
31431 (grub_env_write_pager): Likewise.
31432 (cmdline): New variable.
31433 (grub_normal_reader): Likewise.
31434 (GRUB_MOD_INIT): Register normal reader and set as current, register
31435 pager hook, register normal command with grub_register_command_prio,
31436 so that it won't show up in command.lst.
31437 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31438 grub_fs_autoload_hook.
31439
31440 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31441 (grub_menu_execute_entry): Replace grub_script_execute with
31442 grub_parser_execute, change parameter to grub_command_execute.
31443
31444 * normal/menu_text.c: Remove <grub/script.h>.
31445
31446 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31447 and <grub/parser.h>.
31448 (run): Change editor_getline to use new parser interface. Change
31449 parameter to grub_command_execute.
31450
31451 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31452 <grub/reader.h> and <grub/parser.h>.
31453 (grub_load_normal_mode): Execute normal command.
31454 (grub_main): Call grub_register_core_commands,
31455 grub_register_rescue_parser and grub_register_rescue_reader, use
31456 grub_reader_loop to enter input loop.
31457
31458 * kern/parser.c (grub_parser_split_cmdline): Change type of
31459 getline parameter.
31460 (grub_parser_class): New variable.
31461 (grub_parser_execute): New function.
31462
31463 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31464 * loader/multiboot2.c: Likewise.
31465 * loader/sparc64/ieee1275/linux.c: Likewise.
31466
31467 * util/grub-emu.c (read_command_list): New dummy function.
31468
31469 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31470
31471 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31472 count to 16 for CCISS and IDA.
31473
31474 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31475
31476 * normal/menu_text.c (grub_wait_after_message): Print a newline
31477 after waiting for user input.
31478
31479 * loader/i386/linux.c: Include `<grub/normal.h>'.
31480 (grub_cmd_linux): Improve the error message about `ask' mode, by
31481 waiting for user input so it's not missed (we can do this, since
31482 user requested interaction).
31483
31484 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31485
31486 Added missing lst to grub-mkrescue
31487
31488 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31489 and ${input_dir}/parttool.lst
31490
31491 2009-04-30 David S. Miller <davem@davemloft.net>
31492
31493 * util/hostdisk.c (device_is_wholedisk): New function.
31494 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31495 zero only if device_is_wholedisk() returns true.
31496
31497 * util/hostdisk.c (convert_system_partition_to_system_disk):
31498 Handle virtual disk devices named /dev/vdiskX as found on sparc
31499 and powerpc.
31500
31501 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31502 lettered partition specifier is found, convert to numbered.
31503
31504 2009-04-29 David S. Miller <davem@davemloft.net>
31505
31506 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31507 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31508
31509 * normal/command.c: Add missing newline at end of file.
31510
31511 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31512 warnings.
31513 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31514 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31515 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31516 ihandles have a 32-bit type but need to be stored in a "void *".
31517
31518 2009-04-28 Pavel Roskin <proski@gnu.org>
31519
31520 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31521 not disk. Adjust all dependencies.
31522 (grub_fs_uuid_close): Use grub_device_close(), not
31523 grub_disk_close().
31524
31525 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31526 parent's partition, don't copy it by reference, as it gets freed
31527 on close.
31528
31529 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31530
31531 Preboot hooks support
31532
31533 * commands/boot.c (struct grub_preboot_t): new declaration
31534 (preboots_head): new variable
31535 (preboots_tail): likewise
31536 (grub_loader_register_preboot_hook): new function
31537 (grub_loader_unregister_preboot_hook): likewise
31538 (grub_loader_set): launch preboot hooks
31539 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31540 (grub_loader_register_preboot_hook): new declaration
31541 (grub_loader_unregister_preboot_hook): likewise
31542
31543 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31544
31545 Warning fix
31546
31547 * disk/scsi.c (grub_scsi_open): added missing cast when
31548 calling grub_dprintf
31549
31550 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31551
31552 Bug and warning fixes
31553
31554 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
31555 declaration
31556 * commands/test.c (test_parse): fixed bug with file tests and corrected
31557 declaration of find_file
31558
31559 2009-04-26 Pavel Roskin <proski@gnu.org>
31560
31561 * Makefile.in: Don't install empty manual pages if help2man is
31562 missing. Use help2man option for output, not shell redirection.
31563
31564 2009-04-26 David S. Miller <davem@davemloft.net>
31565
31566 * util/grub-mkdevicemap.c (make_device_map): Add missing
31567 NESTED_FUNC_ATTR to process_device().
31568
31569 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31570
31571 Test command
31572
31573 * commands/test.c: rewritten to use bash-like test
31574
31575 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31576
31577 Parttool autoloading and improvements
31578
31579 * Makefile.in (pkglib_DATA): add parttool.lst
31580 (parttool.lst): new target
31581 * genmk.rb: generate parttool-*
31582 (CLEANFILES): add #{parttool}
31583 (PARTTOOLFILES): new variable
31584 * genparttoollist.sh: new file
31585 * parttool/pcpart.c (grub_pcpart_boot): more feedback
31586 (grub_pcpart_type): likewise
31587 * commands/parttool.c (helpmsg): new variable
31588 (grub_cmd_parttool): output help if not enough arguments are supplied
31589 autoload modules
31590 (GRUB_MOD_INIT(parttool)): use helpmsg
31591
31592 2009-04-24 David S. Miller <davem@davemloft.net>
31593
31594 Avoiding opening same device multiple times in device iterator.
31595
31596 * kern/device.c: (grub_device_iterate): Define struct part_ent,
31597 and use it to build a list of partitions in iterate_disk() and
31598 iterate_partition().
31599
31600 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31601 on disk->data.
31602
31603 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31604 grub_devalias_iterate() result instead of unconditional 0.
31605 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31606 Also, capture hook return value, either directly or via
31607 grub_children_iterate(), and propagate to caller.
31608 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31609 grub_children_iterate): Return value is now 'int' instead of
31610 'grub_err_t'.
31611 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31612 like a proper iterator, stopping when hooks return non-zero.
31613 (grub_devalias_iterate): Likewise.
31614
31615 2009-04-23 David S. Miller <davem@davemloft.net>
31616
31617 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31618
31619 2009-04-22 David S. Miller <davem@davemloft.net>
31620
31621 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31622 is larger than address_cells, use that value for address_cells too.
31623
31624 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31625 IEEE1275_MAX_PATH_LEN): Define.
31626 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31627 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31628 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31629 'devtype'. Explicitly NULL terminate devalias expansion.
31630
31631 * util/sparc64/ieee1275/misc.c: New file.
31632 * util/sparc64/ieee1275/grub-setup.c: New file.
31633 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31634 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31635 * util/sparc64/ieee1275/grub-install.in: New file.
31636 * util/ieee1275/ofpath.c: New file.
31637 * util/ieee1275/devicemap.c: New file.
31638 * util/devicemap.c: New file.
31639 * util/deviceiter.c: New file.
31640 * kern/sparc64/ieee1275/init.c: New file.
31641 * include/grub/util/ofpath.h: New file.
31642 * include/grub/util/deviceiter.h: New file.
31643 * util/grub-mkdevicemap.c: Include deviceiter.h.
31644 Implement using grub_util_emit_devicemap_entry and
31645 grub_util_iterate_devices.
31646 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31647 util/devicemap.c into grub-mkdevicemap
31648 * conf/i386-efi.rmk: Likewise.
31649 * conf/i386-ieee1275.rmk: Likewise.
31650 * conf/i386-pc.rmk: Likewise.
31651 * conf/powerpc-ieee1275.rmk: Likewise.
31652 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31653 images and installation utilities. Build kernel as image
31654 instead of as elf binary. Use common rules as much as possible.
31655
31656 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
31657
31658 Correct GPT definition
31659
31660 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31661 of "attrib" member
31662
31663 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
31664
31665 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31666
31667 2009-04-19 David S. Miller <davem@davemloft.net>
31668
31669 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31670 (grub_rescue_cmd_linux): Rename to...
31671 (grub_cmd_linux): and fix prototype.
31672 (grub_rescue_cmd_initrd): Rename to...
31673 (grub_cmd_initrd): and fix prototype.
31674 (cmd_linux, cmd_initrd): New.
31675 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31676 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31677
31678 2009-04-17 Pavel Roskin <proski@gnu.org>
31679
31680 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31681 format.
31682 (grub_ohci_transfer): Likewise.
31683
31684 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31685
31686 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31687 return without a value. Fix inconsistent indentation.
31688
31689 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31690 match struct grub_fs.
31691
31692 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31693 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31694 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31695 * commands/lspci.c (grub_lspci_iter): Likewise.
31696
31697 2009-04-16 Bean <bean123ch@gmail.com>
31698
31699 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31700 value.
31701
31702 2009-04-15 Pavel Roskin <proski@gnu.org>
31703
31704 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31705 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31706 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31707 definitions.
31708
31709 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31710
31711 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31712 that no multiple data or metadata areas are supported and `Unknown
31713 metadata header'.
31714
31715 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31716
31717 Move loader out of the kernel
31718
31719 * kern/loader.c: moved to ...
31720 * commands/boot.c: ... moved here
31721 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31722 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31723 * include/grub/kernel.h (grub_machine_fini): export
31724 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31725 (grub_loader_set): likewise
31726 (grub_loader_unset): likewise
31727 (grub_loader_boot): likewise
31728 * conf/common.rmk: new module boot.mod
31729 (pkglib_MODULES): add boot.mod
31730 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31731 (grub_emu_SOURCES): likewise
31732 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31733 (grub_emu_SOURCES): likewise
31734 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31735 (grub_emu_SOURCES): likewise
31736 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31737 (grub_emu_SOURCES): likewise
31738 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31739 (grub_emu_SOURCES): likewise
31740 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31741 (grub_emu_SOURCES): likewise
31742 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31743 (grub_emu_SOURCES): likewise
31744
31745 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31746
31747 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31748
31749 * kern/misc.c (grub_itoa): Removed function
31750 (grub_ltoa): likewise
31751 (grub_vsprintf): use grub_lltoa
31752
31753 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31754
31755 Restore grub-emu
31756
31757 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31758 * conf/i386-coreboot.rmk: likewise
31759 * conf/i386-ieee1275.rmk: likewise
31760 * conf/powerpc-ieee1275.rmk: likewise
31761
31762 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31763
31764 * INSTALL: Add that `./autogen.sh' needs to be run before
31765 `./configure.'.
31766
31767 2009-04-14 Bean <bean123ch@gmail.com>
31768
31769 * Makefile.in (pkglib_DATA): Add handler.lst.
31770 (handler.lst): New rule.
31771
31772 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31773 * conf/i386-coreboot.rmk: Likewise.
31774 * conf/i386-ieee1275.rmk: Likewise.
31775 * conf/i386-efi.rmk: Likewise.
31776 * conf/x86_64-efi.rmk: Likewise.
31777 * conf/powerpc-ieee1275.rmk: Likewise.
31778 * conf/sparc64-ieee1275.rmk: Likewise.
31779
31780 * genhandlerlist.sh: New file.
31781
31782 * genmk.rb: Add rules to generate handler.lst.
31783
31784 * include/grub/normal.h (grub_file_getline): New function definition.
31785 (read_handler_list): Likewise.
31786 (free_handler_list): Likewise.
31787
31788 * include/grub/term.h (grub_term_register_input): Add name parameter
31789 for auto generation of handler.lst.
31790 (grub_term_register_output): Likewise.
31791
31792 * normal/handler.c: New file.
31793
31794 * normal/main.c (get_line): Renamed to grub_file_getline.
31795 (read_config_file): Use the newly renamed grub_file_getline.
31796 (read_command_list): Likewise.
31797 (read_fs_list): Likewise.
31798 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31799 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31800
31801 * term/efi/console.c (grub_console_init): Add name parameter for auto
31802 generation of handler.lst.
31803 * term/gfxterm.c: Likewise.
31804 * term/i386/pc/at_keyboard.c: Likewise.
31805 * term/i386/pc/console.c: Likewise.
31806 * term/i386/pc/serial.c: Likewise.
31807 * term/i386/pc/vesafb.c: Likewise.
31808 * term/i386/pc/vga.c: Likewise.
31809 * term/i386/pc/vga_text.c: Likewise.
31810 * term/ieee1275/ofconsole.c: Likewise.
31811 * term/usb_keyboard.c: Likewise.
31812
31813 2009-04-14 Bean <bean123ch@gmail.com>
31814
31815 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31816 properly with null character.
31817
31818 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31819
31820 * configure: Remove.
31821 * config.h.in: Likewise.
31822 * stamp-h.in: Likewise.
31823 * DISTLIST: Likewise.
31824 * conf/common.mk: Likewise.
31825 * conf/i386-coreboot.mk: Likewise.
31826 * conf/i386-efi.mk: Likewise.
31827 * conf/i386-ieee1275.mk: Likewise.
31828 * conf/i386.mk: Likewise.
31829 * conf/i386-pc.mk: Likewise.
31830 * conf/powerpc-ieee1275.mk: Likewise.
31831 * conf/sparc64-ieee1275.mk: Likewise.
31832 * conf/x86_64-efi.mk: Likewise.
31833
31834 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31835 develop on GRUB.
31836
31837 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31838 David S. Miller <davem@davemloft.net>
31839
31840 * util/hostdisk.c (make_device_name): Fix buffer length
31841 calculations.
31842
31843 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31844
31845 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31846 <sys/param.h> and <sys/sysctl.h>.
31847 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31848 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31849 opening the device and reset them afterwards.
31850
31851 2009-04-13 Pavel Roskin <proski@gnu.org>
31852
31853 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31854 Reported by John Stanley <jpsinthemix@verizon.net>
31855
31856 2009-04-13 Robert Millan <rmh@aybabtu.com>
31857
31858 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31859 that name for menuentries when appropriate.
31860
31861 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31862
31863 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31864
31865 2009-04-13 Robert Millan <rmh@aybabtu.com>
31866
31867 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31868 to Linux, simply abort telling the user it's no longer supported.
31869
31870 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31871
31872 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31873 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31874 `freebsd_loadenv' only when devices.hints exist.
31875
31876 2009-04-13 Pavel Roskin <proski@gnu.org>
31877
31878 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31879
31880 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31881
31882 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31883 partition number.
31884 (grub_drive): Likewise.
31885
31886 2009-04-13 David S. Miller <davem@davemloft.net>
31887
31888 * kern/sparc64/ieee1275/ieee1275.c: New file.
31889 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31890 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31891 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31892 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31893 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31894 grub_ieee1275_alloc_physmem): Declare new exported functions.
31895
31896 * include/grub/sparc64/ieee1275/loader.h: New file.
31897 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31898 * include/grub/sparc64/kernel.h: Likewise.
31899 * loader/sparc64/ieee1275/linux.c: Likewise.
31900
31901 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31902 (grub_fstest_SOURCES): Likewise.
31903
31904 * util/hostdisk.c (make_device_name): Do not make any assumptions
31905 about the length of drive names.
31906
31907 * kern/dl.c (grub_dl_load_file): Close file immediately when
31908 we are done using it.
31909
31910 2009-04-12 David S. Miller <davem@davemloft.net>
31911
31912 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31913 values. Noticed by Pavel Roskin.
31914
31915 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31916 target compiler.
31917
31918 * genmk.rb: Add more flexible image type specification, also
31919 pass --strip-unneeded to objcopy.
31920 * conf/i386-pc.rmk: Use *_FORMAT.
31921 * conf/i386-pc.mk: Rebuilt.
31922
31923 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31924 (OFDISK_HASH_SZ): Define.
31925 (ofdisk_hash): New hash table.
31926 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31927 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31928 instead of device phandle which is not unique.
31929
31930 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31931 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31932 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31933 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31934 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31935 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31936 GRUB_KERNEL_MACHINE_DATA_END): Define.
31937 (grub_kernel_image_size, grub_total_module_size): Declare.
31938
31939 2009-04-12 Pavel Roskin <proski@gnu.org>
31940
31941 * configure.ac: Change the logic when we check for target tools.
31942 Do it when the target is specified and it's different from the
31943 specified value of the host.
31944
31945 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31946
31947 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31948 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31949 GNU/kFreeBSD. Check if a device is a character device. Use
31950 DIOCGMEDIASIZE to get the size.
31951 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31952 support for GNU/kFreeBSD.
31953 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31954 is a character device instead of a block device. Add support for
31955 FreeBSD device names.
31956
31957 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31958 is a character device instead of a block device.
31959
31960 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31961 is a character device instead of a block device.
31962
31963 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31964
31965 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31966 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31967 FreeBSD. Check if a device is a character device. Use
31968 DIOCGMEDIASIZE to get the size.
31969 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31970 support for FreeBSD.
31971 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31972 is a character device instead of a block device. Add support for
31973 FreeBSD device names.
31974
31975 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31976 a character device instead of a block device.
31977 (grub_util_check_char_device): New function.
31978
31979 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31980 a character device instead of a block device.
31981
31982 * include/grub/util/getroot.h (grub_util_check_char_device): New
31983 prototype.
31984
31985 2009-04-11 David S. Miller <davem@davemloft.net>
31986
31987 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31988 static libgcc.
31989 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31990 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31991 function, if present.
31992 (__bswapdi2): Likewise.
31993
31994 * include/grub/sparc64/ieee1275/boot.h: New file.
31995 * boot/sparc64/ieee1275/boot.S: Likewise.
31996 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31997
31998 * kern/misc.c (grub_ltoa): New function.
31999 (grub_vsprintf): Use it to format 'long' integers.
32000
32001 2009-04-10 David S. Miller <davem@davemloft.net>
32002
32003 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32004 slots are of type grub_ieee1275_cell_t.
32005 (grub_nand_read): Likewise.
32006 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32007 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32008 macros are used to compare values in arg/ret block of the call.
32009 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32010 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32011 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32012 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32013 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32014 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32015 grub_ieee1275_close, grub_ieee1275_set_property,
32016 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32017 grub_ieee1275_cell_t.
32018 * kern/ieee1275/openfw.c (grub_map): Likewise.
32019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32020 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32021
32022 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32023 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32024 (grub_devalias_iterate): Likewise.
32025
32026 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
32027
32028 UFS improvements
32029
32030 * fs/ufs.c (INODE_NBLOCKS): new definition
32031 (struct grub_ufs_dirent): added fields for non-BSD dirents
32032 (grub_ufs_get_file_block): fixed double indirect handling
32033 (grub_ufs_lookup_symlink): use more robust way to determine whether
32034 symlink is inline
32035 (grub_ufs_find_file): support for non-BSD dirents
32036 (grub_ufs_dir): support for non-BSD dirents
32037
32038 2009-04-10 Bean <bean123ch@gnail.com>
32039
32040 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32041 attribute, otherwise the size would be wrong for i386 platform.
32042
32043 * include/grub/pci.h (grub_pci_read_word): New inline function.
32044 (grub_pci_read_byte): Likewise.
32045 (grub_pci_write): Likewise.
32046 (grub_pci_write_word): Likewise.
32047 (grub_pci_write_byte): Likewise.
32048
32049 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32050
32051 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32052 (find_framebuf): Scan pci to locate the frame buffer address.
32053
32054 * commands/efi/fixvideo.c: New file.
32055
32056 * commands/efi/loadbios.c: Likewise.
32057
32058 * commands/memrw.c: Likewise.
32059
32060 * util/grub-dumpbios.in: Likewise.
32061
32062 * conf/common.rmk (grub-dumpbios): New utility.
32063 (pkglib_MODULES): New module memrw.mod.
32064 (memrw_mod_SOURCE): New macro.
32065 (memrw_mod_CFLAGS): Likewise.
32066 (memrw_mod_LDFLAGS): Likewise.
32067
32068 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
32069 fixvideo.mod.
32070 (loadbios_mod_SOURCE): New macro.
32071 (loadbios_mod_CFLAGS): Likewise.
32072 (loadbios_mod_LDFLAGS): Likewise.
32073 (fixvideo_mod_SOURCE): Likewise.
32074 (fixvideo_mod_CFLAGS): Likewise.
32075 (fixvideo_mod_LDFLAGS): Likewise.
32076
32077 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
32078 fixvideo.mod.
32079 (loadbios_mod_SOURCE): New macro.
32080 (loadbios_mod_CFLAGS): Likewise.
32081 (loadbios_mod_LDFLAGS): Likewise.
32082 (fixvideo_mod_SOURCE): Likewise.
32083 (fixvideo_mod_CFLAGS): Likewise.
32084 (fixvideo_mod_LDFLAGS): Likewise.
32085
32086 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
32087
32088 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32089
32090 2009-04-07 David S. Miller <davem@davemloft.net>
32091
32092 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32093 support for R_SPARC_OLO10 relocations. Fix compile warning for
32094 R_SPARC_WDISP30 case.
32095 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
32096
32097 2009-04-06 Pavel Roskin <proski@gnu.org>
32098
32099 * include/grub/misc.h (ARRAY_SIZE): New macro.
32100 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32101 New macro.
32102 * loader/i386/linux.c (allocate_pages): Use free_pages().
32103 (grub_linux_unload): Don't use free_pages().
32104 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32105 wrong index. Treat all other modes as text modes.
32106 (grub_cmd_linux): Initialize vid_mode unconditionally to
32107 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32108
32109 * commands/help.c (print_command_help): Use cmd->prio, not
32110 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32111
32112 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
32113
32114 Parttool
32115
32116 * parttool/pcpart.c: new file
32117 * commands/parttool.c: likewise
32118 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32119 (parttool_mod_SOURCES): new variable
32120 (parttool_mod_CFLAGS): likewise
32121 (parttool_mod_LDFLAGS): likewise
32122 (pcpart_mod_SOURCES): likewise
32123 (pcpart_mod_CFLAGS): likewise
32124 (pcpart_mod_LDFLAGS): likewise
32125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
32126 and parttool/pcpart.c
32127 * conf/i386-efi.rmk: likewise
32128 * conf/i386-ieee1275.rmk: likewise
32129 * conf/i386-pc.rmk: likewise
32130 * conf/powerpc-ieee1275.rmk: likewise
32131 * conf/sparc64-ieee1275.rmk: likewise
32132 * conf/x86_64-ieee1275.rmk: likewise
32133
32134 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32135
32136 Support for mtime and further expandability of dir command
32137
32138 * include/grub/lib/datetime.h: moved to ...
32139 * include/grub/datetime.h: ... moved here and added
32140 declaration of grub_unixtime2datetime. All users updated
32141 * include/grub/fs.h: new syntax for dir and mtime functions in
32142 struct grub_fs
32143 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32144 and GRUB_FSHELP_FLAGS_MASK
32145 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32146 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32147 (grub_ext2_mtime): new function
32148 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32149 (grub_hfsplus_mtime): new function
32150 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32151 (GRUB_UFS_ATTR_FILE): likewise
32152 (GRUB_UFS_ATTR_LNK): likewise
32153 (struct grub_ufs_sblock): new fields mtime
32154 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32155 all users updated
32156 (grub_ufs_dir): mtime support
32157 (grub_ufs_mtime): new function
32158 * fs/affs.c (grub_affs_dir): use new dir syntax
32159 * fs/afs.c (grub_afs_dir): likewise
32160 * fs/cpio.c (grub_cpio_dir): likewise
32161 * fs/fat.c (grub_fat_find_dir): likewise
32162 * fs/hfs.c (grub_hfs_dir): likewise
32163 * fs/iso9660.c (grub_iso9660_dir): likewise
32164 * fs/jfs.c (grub_jfs_dir): likewise
32165 * fs/minix.c (grub_minix_dir): likewise
32166 * fs/ntfs.c (grub_ntfs_dir): likewise
32167 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32168 * fs/sfs.c (grub_sfs_dir): likewise
32169 * fs/xfs.c (grub_xfs_dir): likewise
32170 * util/hostfs.c (grub_hostfs_dir): likewise
32171 * lib/datetime.c: moved to ...
32172 * normal/datetime.c: ... moved here
32173 (grub_unixtime2datetime): new function
32174 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
32175 * normal/completion.c (iterate_dir): use new dir syntax
32176 * normal/misc.c (grub_normal_print_device_info): tell the
32177 last modification time of a volume
32178 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
32179 * conf/common.rmk: added lib/datetime.c to ls.mod
32180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
32181 (normal_mod_SOURCES): likewise
32182 (datetime_mod_SOURCES): Removed lib/datetime.c
32183 * conf/i386-efi.rmk: likewise
32184 * conf/i386-ieee1275.rmk: likewise
32185 * conf/i386-pc.rmk: likewise
32186 * conf/powerpc-ieee1275.rmk: likewise
32187 * conf/sparc64-ieee1275.rmk: likewise
32188 * conf/x86_64-efi.rmk: likewise
32189
32190 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32191
32192 Trim trailing spaces in FAT label and support mtools-like labels
32193
32194 * fs/fat.c (grub_fat_iterate_dir): New function based
32195 on grub_fat_find_dir
32196 (grub_fat_find_dir): use grub_fat_iterate_dir
32197 (grub_fat_label): likewise
32198
32199 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32200
32201 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
32202 and command.h
32203 remove extraneous kernel_elf_HEADERS
32204
32205 2009-04-04 Bean <bean123ch@gnail.com>
32206
32207 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32208
32209 * util/misc.c: Likewise.
32210
32211 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32212
32213 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32214 instead of grub_printf.
32215
32216 2009-04-03 Robert Millan <rmh@aybabtu.com>
32217
32218 * loader/i386/linux.c (grub_linux_setup_video): Fill
32219 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32220 values from `mode info' structure instead of hardcoded
32221 values.
32222
32223 2009-04-01 Pavel Roskin <proski@gnu.org>
32224
32225 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32226 unused now.
32227 * genmk.rb: Likewise.
32228 * configure.ac: Likewise.
32229
32230 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32231
32232 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32233 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32234
32235 2009-04-01 David S. Miller <davem@davemloft.net>
32236
32237 * normal/sparc64/setjmp.S: Fix setjmp implementation.
32238 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
32239 (grub_setjmp): Mark with 'returns_twice' attribute.
32240 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32241 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32242 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32243
32244 2009-04-01 Robert Millan <rmh@aybabtu.com>
32245
32246 Reapply fix from 2008-07-28 which was accidentally reverted; also
32247 perform the same fix to a similar check in same function.
32248
32249 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32250 with the same number are found, just use issue a warning with
32251 grub_dprintf(), as this error has been reported to be non-fatal.
32252
32253 2009-03-31 Pavel Roskin <proski@gnu.org>
32254
32255 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32256 for cross-compilation.
32257
32258 2009-03-30 Robert Millan <rmh@aybabtu.com>
32259
32260 Fix i386-ieee1275 build.
32261
32262 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32263 Remove declaration.
32264
32265 2009-03-30 Pavel Roskin <proski@gnu.org>
32266
32267 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32268 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32269 zero-terminated, rely only on the strlen value. Fix comparison
32270 of strings differing in length.
32271
32272 2009-03-30 Robert Millan <rmh@aybabtu.com>
32273
32274 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32275 checking for abi version. Improve error messages on BIOS to notify
32276 user about `linux16' command.
32277
32278 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32279
32280 Leak fixes
32281
32282 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32283 in case of collision
32284 * disk/scsi.c (grub_scsi_open): free scsi in case of error
32285
32286 2009-03-29 Robert Millan <rmh@aybabtu.com>
32287
32288 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32289 set `vid_mode' accordingly.
32290 (grub_linux_boot): Process `vid_mode' and set video mode.
32291
32292 2009-03-29 Robert Millan <rmh@aybabtu.com>
32293
32294 * util/grub.d/10_linux.in (linux_entry): New function.
32295 Factorize generation of Linux boot entries.
32296
32297 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32298
32299 Make the format of Environment Block plain text. The boot loader
32300 part is not tested well yet.
32301
32302 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32303 (buffer): Removed.
32304 (envblk): Likewise.
32305 (usage): Remove "info" and "clear". Add "unset". Update the
32306 description of "set", as this does not delete variables any
32307 longer.
32308 (create_envblk_file): Complete rewrite.
32309 (open_envblk_file): Likewise.
32310 (cmd_info): Removed.
32311 (cmd_list): Likewise.
32312 (cmd_set): Likewise.
32313 (cmd_clear): Likewise.
32314 (list_variables): New function.
32315 (write_envblk): Likewise.
32316 (set_variables): Likewise.
32317 (unset_variables): Likewise.
32318 (main): Complete rewrite.
32319
32320 * commands/loadenv.c (buffer): Removed.
32321 (envblk): Likewise.
32322 (open_envblk_file): New function.
32323 (read_envblk_file): Complete rewrite.
32324 (grub_cmd_load_env): Likewise.
32325 (grub_cmd_list_env): Likewise.
32326 (struct blocklist): New struct.
32327 (free_blocklists): New function.
32328 (check_blocklists): Likewise.
32329 (write_blocklists): Likewise.
32330 (grub_cmd_save_env): Complete rewrite.
32331
32332 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32333 a plain text signature.
32334 (GRUB_ENVBLK_MAXLEN): Removed.
32335 (struct grub_envblk): Complete rewrite.
32336 (grub_envblk_find): Removed.
32337 (grub_envblk_insert): Likewise.
32338 (grub_envblk_open): New prototype.
32339 (grub_envblk_set): Likewise.
32340 (grub_envblk_delete): Put const to VALUE.
32341 (grub_envblk_iterate): Put const to NAME and VALUE.
32342 (grub_envblk_close): New prototype.
32343 (grub_envblk_buffer): New inline function.
32344 (grub_envblk_size): Likewise.
32345
32346 * lib/envblk.c: Include grub/mm.h.
32347 (grub_env_find): Removed.
32348 (grub_envblk_open): New function.
32349 (grub_envblk_close): Likewise.
32350 (escaped_value_len): Likewise.
32351 (find_next_line): Likewise.
32352 (grub_envblk_insert): Removed.
32353 (grub_envblk_set): New function.
32354 (grub_envblk_delete): Complete rewrite.
32355 (grub_envblk_iterate): Likewise.
32356
32357 2009-03-28 Robert Millan <rmh@aybabtu.com>
32358
32359 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32360 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32361 variables. Use 16-bit loader.
32362 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32363 loader.
32364 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32365 (grub_linux16_boot): ... this. Update all users.
32366 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32367 (grub_linux_boot): ... this. Update all users.
32368
32369 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32370 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32371 commands to `linux16' and `initrd16'.
32372 (GRUB_MOD_FINI(linux)): Rename to ...
32373 (GRUB_MOD_FINI(linux16)): ... this.
32374
32375 2009-03-24 Pavel Roskin <proski@gnu.org>
32376
32377 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32378 not just for compilation.
32379
32380 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32381
32382 Move multiboot helper out of kernel
32383
32384 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32385 `loader/i386/multiboot_helper.S'.
32386 * conf/i386-coreboot.rmk: Likewise
32387 * conf/i386-ieee1275.rmk: Likewise
32388
32389 * kern/i386/loader.S: Move multiboot helpers from here...
32390 * loader/i386/multiboot_helper.S: ...moved here
32391 * include/grub/i386/loader.h: Move declarations of multiboot
32392 helpers from here...
32393 * include/grub/i386/multiboot.h: ...moved here
32394 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32395
32396 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32397
32398 * kern/env.c (grub_env_context_open): Added an argument to specify
32399 whether a new context inherits exported variables from current
32400 one. This is useful when making a sandbox to interpret a config
32401 file.
32402 All callers updated.
32403
32404 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32405
32406 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32407
32408 * kern/env.c (grub_env_context_close): Fix memory leaks.
32409
32410 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32411
32412 * normal/main.c (grub_normal_execute): Added an argument
32413 BATCH to specify if an interactive interface should be provided
32414 after reading a config file.
32415 All callers updated.
32416 (read_command_list): Prevent being executed twice.
32417 (read_fs_list): Likewise.
32418
32419 * include/grub/normal.h (grub_normal_execute): Updated the
32420 prototype.
32421
32422 2009-03-22 Pavel Roskin <proski@gno.org>
32423
32424 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32425 _start.
32426 * kern/i386/pc/startup.S: Likewise.
32427 * kern/i386/efi/startup.S: Likewise.
32428 * kern/i386/ieee1275/startup.S: Likewise.
32429 * kern/i386/coreboot/startup.S: Likewise.
32430 * kern/x86_64/efi/startup.S: Likewise.
32431
32432 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32433 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32434 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32435
32436 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32437
32438 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32439
32440 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32441 limit detection.
32442 Use vaddr of correct segment for entry_point.
32443
32444 2009-03-21 Bean <bean123ch@gmail.com>
32445
32446 * commands/blocklist.c: Add include file <grub/command.h>, remove
32447 <grub/normal.h> and <grub/arg.h>.
32448 (grub_cmd_blocklist): Use the new command interface.
32449 (GRUB_MOD_INIT): Likewise.
32450 (GRUB_MOD_FINI): Likewise.
32451 * commands/boot.c: Likewise.
32452 * commands/cat.c: Likewise.
32453 * commands/cmp.c: Likewise.
32454 * commands/configfile.c: Likewise.
32455 * commands/crc.c: Likewise.
32456 * commands/echo.c: Likewise.
32457 * commands/halt.c: Likewise.
32458 * commands/handler.c: Likewise.
32459 * commands/hdparm.c: Likewise.
32460 * commands/help.c: Likewise.
32461 * commands/hexdump.c: Likewise.
32462 * commands/loadenv.c: Likewise.
32463 * commands/ls.c: Likewise.
32464 * commands/lsmmap.c: Likewise.
32465 * commands/lspci.c: Likewise.
32466 * commands/loadenv.c: Likewise.
32467 * commands/read.c: Likewise.
32468 * commands/reboot.c: Likewise.
32469 * commands/search.c: Likewise.
32470 * commands/sleep.c: Likewise.
32471 * commands/test.c: Likewise.
32472 * commands/usbtest.c: Likewise.
32473 * commands/videotest.c: Likewise.
32474 * commands/i386/cpuid.c: Likewise.
32475 * commands/i386/pc/halt.c: Likewise.
32476 * commands/i386/pc/play.c: Likewise.
32477 * commands/i386/pc/pxecmd.c: Likewise.
32478 * commands/i386/pc/vbeinfo.c: Likewise.
32479 * commands/i386/pc/vbetest.c: Likewise.
32480 * commands/ieee1275/suspend.c: Likewise.
32481 * disk/loopback.c: Likewise.
32482 * font/font_cmd.c: Likewise.
32483 * hello/hello.c: Likewise.
32484 * loader/efi/appleloader.c: Likewise.
32485 * loader/efi/chainloader.c: Likewise.
32486 * loader/i386/bsd.c: Likewise.
32487 * loader/i386/efi/linux.c: Likewise.
32488 * loader/i386/ieee1275/linux.c: Likewise.
32489 * loader/i386/linux.c: Likewise.
32490 * loader/i386/pc/chainloader.c: Likewise.
32491 * loader/i386/pc/linux.c: Likewise.
32492 * loader/powerpc/ieee1275/linux.c: Likewise.
32493 * loader/multiboot_loader.c: Likewise.
32494 * term/gfxterm.c: Likewise.
32495 * term/i386/pc/serial.c: Likewise.
32496 * term/terminfo.c: Likewise.
32497
32498 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32499 * term/i386/pc/vga.c: Likewise.
32500 * video/readers/jpeg.c: Likewise.
32501 * video/readers/png.c: Likewise.
32502 * video/readers/tga.c: Likewise.
32503
32504 * util/grub-fstest (cmd_loopback): Removed.
32505 (cmd_blocklist): Likewise.
32506 (cmd_ls): Likewise.
32507 (grub_register_command): Likewise.
32508 (grub_unregister_command): Likewise.
32509 (execute_command): Use grub_command_find to locate command and execute
32510 it.
32511
32512 * include/grub/efi/chainloader.h: Removed.
32513 * loader/efi/chainloader_normal.c: Likewise.
32514 * loader/i386/bsd_normal.c: Likewise.
32515 * loader/i386/pc/chainloader_normal.c: Likewise.
32516 * loader/i386/pc/multiboot_normal.c: Likewise.
32517 * loader/linux_normal.c: Likewise.
32518 * loader/multiboot_loader_normal.c: Likewise.
32519 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32520
32521 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32522 and grub_register_command_p1.
32523
32524 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32525 kern/command.c, lib/arg.c and commands/extcmd.c.
32526 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32527 (minicmd_mod_SOURCES): New variable.
32528 (minicmd_mod_CFLAGS): Likewise.
32529 (minicmd_mod_LDFLAGS): Likewise.
32530 (extcmd_mod_SOURCES): Likewise.
32531 (extcmd_mod_CFLAGS): Likewise.
32532 (extcmd_mod_LDFLAGS): Likewise.
32533 (boot_mod_SOURCES): Removed.
32534 (boot_mod_CFLAGS): Likewise.
32535 (boot_mod_LDFLAGS): Likewise.
32536
32537 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32538 kern/corecmd.c.
32539 (kernel_img_HEADERS): Add command.h.
32540 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32541 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32542 and lib/arg.c.
32543 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32544 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32545 remove the corresponding normal mode command.
32546 (normal_mod_SOURCES): Remove normal/arg.c.
32547 * conf/i386-coreboot.rmk: Likewise.
32548 * conf/i386-efi.rmk: Likewise.
32549 * conf/i386-ieee1275.rmk: Likewise.
32550 * conf/powerpc-ieee1275.rmk: Likewise.
32551 * conf/x86_64-efi.rmk: Likewise.
32552
32553 * include/grub/arg.h: Move from here ...
32554 * include/grub/lib/arg.h: ... to here.
32555
32556 * normal/arg.c: Move from here ...
32557 * lib/arg.c: ... to here.
32558
32559 * commands/extcmd.c: New file.
32560 * commands/minicmd.c: Likewise.
32561 * include/grub/command.h: Likewise.
32562 * include/grub/extcmd.h: Likewise.
32563 * kern/command.c: Likewise.
32564 * kern/corecmd.c: Likewise.
32565
32566 * kern/list.c (grub_list_iterate): Return int instead of void.
32567 (grub_list_insert): New function.
32568 (grub_prio_list_insert): Likewise.
32569
32570 * kern/rescue.c (grub_rescue_command): Removed.
32571 (grub_rescue_command_list): Likewise.
32572 (grub_rescue_register_command): Likewise.
32573 (grub_rescue_unregister_command): Likewise.
32574 (grub_rescue_cmd_boot): Move to minicmd.c
32575 (grub_rescue_cmd_help): Likewise.
32576 (grub_rescue_cmd_info): Likewise.
32577 (grub_rescue_cmd_boot): Likewise.
32578 (grub_rescue_cmd_testload): Likewise.
32579 (grub_rescue_cmd_dump): Likewise.
32580 (grub_rescue_cmd_rmmod): Likewise.
32581 (grub_rescue_cmd_lsmod): Likewise.
32582 (grub_rescue_cmd_exit): Likewise.
32583 (grub_rescue_print_devices): Moved to corecmd.c.
32584 (grub_rescue_print_files): Likewise.
32585 (grub_rescue_cmd_ls): Likewise.
32586 (grub_rescue_cmd_insmod): Likewise.
32587 (grub_rescue_cmd_set): Likewise.
32588 (grub_rescue_cmd_unset): Likewise.
32589 (attempt_normal_mode): Use grub_command_find to get normal module.
32590 (grub_enter_rescue_mode): Use grub_register_core_commands to register
32591 commands, remove grub_rescue_register_command calls.
32592
32593 * normal/command.c (grub_register_command): Removed.
32594 (grub_unregister_command): Likewise.
32595 (grub_command_find): Likewise.
32596 (grub_iterate_commands): Likewise.
32597 (rescue_command): Likewise.
32598 (export_command): Moved to corecmd.c.
32599 (set_command): Removed.
32600 (unset_command): Likewise.
32601 (insmod_command): Likewise.
32602 (rmmod_command): Likewise.
32603 (lsmod_command): Likewise.
32604 (grub_command_init): Likewise.
32605
32606 * normal/completion.c (iterate_command): Use cmd->prio to check for
32607 active command.
32608 (complete_arguments): Use grub_extcmd_t structure to find options.
32609 (grub_normal_do_completion): Change function grub_iterate_commands to
32610 grub_command_iterate.
32611
32612 * normal/execute.c (grub_script_execute_cmd): No need to parse
32613 argument here.
32614
32615 * normal/main.c (grub_dyncmd_dispatcher): New function.
32616 (read_command_list): Register unload commands as dyncmd.
32617 (grub_cmd_normal): Use new command interface, register rescue,
32618 unregister normal at entry, register normal, unregister rescue at exit.
32619
32620 * include/grub/list.h (grub_list_test_t): New type.
32621 (grub_list_iterate): Return int instead of void.
32622 (grub_list_insert): New function.
32623 (GRUB_AS_NAMED_LIST_P): New macro.
32624 (GRUB_AS_PRIO_LIST): Likewise.
32625 (GRUB_AS_PRIO_LIST_P): Likewise.
32626 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32627 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32628 (grub_prio_list): New structure.
32629 (grub_prio_list_insert): New function.
32630 (grub_prio_list_remove): New inline function.
32631
32632 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32633 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32634 (GRUB_COMMAND_FLAG_MENU): Likewise.
32635 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32636 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32637 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32638 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32639 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32640 (grub_command): Likewise.
32641 (grub_register_command): Likewise.
32642 (grub_command_find): Likewise.
32643 (grub_iterate_commands): Likewise.
32644 (grub_command_init): Likewise.
32645 (grub_arg_parse): Likewise.
32646 (grub_arg_show_help): Likewise.
32647
32648 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32649 (grub_rescue_unregister_command): Likewise.
32650
32651 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32652 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32653 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32654
32655 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32656 grub_rescue_cmd_initrd.
32657 * include/grub/i386/loader.h: Likewise.
32658 * include/grub/x86_64/loader.h: Likewise.
32659
32660 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32661
32662 2009-03-21 Bean <bean123ch@gmail.com>
32663
32664 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32665 instead of stat in mingw environment.
32666
32667 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32668
32669 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32670
32671 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32672 AC_CONFIG_LINKS.
32673
32674 2009-03-21 Bean <bean123ch@gmail.com>
32675
32676 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32677 out of range error.
32678
32679 2009-03-18 Michel Dänzer <michel@daenzer.net>
32680
32681 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32682 checking inode flags for EXT4_EXTENTS_FLAG.
32683
32684 2009-03-18 Robert Millan <rmh@aybabtu.com>
32685
32686 * loader/i386/linux.c: Include `<grub/video.h>' and
32687 `<grub/i386/pc/vbe.h>'..
32688 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32689 (grub_linux32_boot): Attempt to configure video settings with
32690 grub_linux_setup_video().
32691 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32692 to avoid grub_console_fini() which would step out of graphical mode
32693 unconditionally.
32694
32695 2009-03-14 Robert Millan <rmh@aybabtu.com>
32696
32697 Fix build on powerpc.
32698 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32699
32700 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32701
32702 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32703 background image command.
32704
32705 2009-03-12 Colin D Bennett <colin@gibibit.com>
32706
32707 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32708 (grub_gfxterm_putchar): Extract pairs of identical calls to
32709 draw_cursor out of conditional blocks.
32710
32711 2009-03-11 Pavel Roskin <proski@gnu.org>
32712
32713 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32714 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32715
32716 2009-03-11 Robert Millan <rmh@aybabtu.com>
32717
32718 * loader/i386/multiboot_elfxx.c
32719 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32720
32721 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32722
32723 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32724 `kern/handler.c'.
32725
32726 2009-03-11 Robert Millan <rmh@aybabtu.com>
32727
32728 * loader/i386/multiboot.c (code_size): New variable.
32729 (grub_multiboot): Define offsets by adding to `code_size' rather
32730 than subtracting from `grub_multiboot_payload_size'. Provide
32731 4-byte alignment to MBI and others by increasing
32732 `boot_loader_name_length' appropriately.
32733
32734 * loader/i386/multiboot_elfxx.c
32735 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32736
32737 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32738
32739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32740 `fs/ext2.c'.
32741
32742 2009-03-08 Robert Millan <rmh@aybabtu.com>
32743
32744 Make loader/i386/linux.c usable on i386-pc again.
32745
32746 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32747 memory to heap.
32748 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32749 `#error' stanza.
32750
32751 2009-03-07 Bean <bean123ch@gmail.com>
32752
32753 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32754 allocation.
32755
32756 2009-03-06 Robert Millan <rmh@aybabtu.com>
32757
32758 Fix display issue on terminals with screen size other than 80x25
32759 (e.g. gfxterm with resolution higher than 640x480).
32760
32761 * normal/main.c (grub_normal_init_page): Display title text in a
32762 position relative to the center of the terminal instead of relying
32763 on a hardcoded offset.
32764
32765 2009-03-04 Robert Millan <rmh@aybabtu.com>
32766
32767 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32768 installed.
32769
32770 * Makefile.in (host_kernel): New variable.
32771 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32772 scripts instead of just the windows one.
32773 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32774
32775 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32776
32777 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32778 `kern/handler.c'.
32779 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32780 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32783 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32785
32786 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32787
32788 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32789 or if there's no space for the disk label and print the partition number on a
32790 invalid magic.
32791
32792 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32793
32794 * util/misc.c: Include <time.h>.
32795 (grub_millisleep): New function.
32796
32797 2009-03-04 Bean <bean123ch@gmail.com>
32798
32799 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32800 another option -mno-red-zone.
32801
32802 * commands/handler.c: Change module description.
32803
32804 * kern/handler.c: Add missing space at the end of description line.
32805
32806 * kern/list.c: Likewise.
32807
32808 2009-03-03 Robert Millan <rmh@aybabtu.com>
32809
32810 Move more components to the relocation area, and fix mbi pointer
32811 handling to use the destination rather than the origin (thanks to
32812 Vladimir Serbinenko for spotting).
32813
32814 * loader/i386/multiboot.c (mbi_dest): New variable.
32815 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32816 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32817 relocation area.
32818
32819 2009-03-01 Bean <bean123ch@gmail.com>
32820
32821 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32822 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32823 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32824 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32825
32826 * loader/i386/efi/linux.c (acpi_guid): New variable.
32827 (acpi_guid): Likewise.
32828 (EBDA_SEG_ADDR): New constant.
32829 (LOW_MEM_ADDR): Likewise.
32830 (FAKE_EBDA_SEG): Likewise.
32831 (fake_bios_data): New function.
32832 (grub_linux_boot): Call fake_bios_data.
32833
32834 2009-03-01 Bean <bean123ch@gmail.com>
32835
32836 * commands/terminal.c: Removed.
32837
32838 * commands/handler.c: New file.
32839
32840 * include/grub/list.h: Likewise.
32841
32842 * include/grub/handler.h: Likewise.
32843
32844 * kern/list.c: Likewise.
32845
32846 * kern/handler.c: Likewise.
32847
32848 * kern/term.h: Include header file <grub/handler.h>.
32849 (grub_term_input): Move next field to the beginning.
32850 (grub_term_output): Likewise.
32851 (grub_term_input_class): New variable.
32852 (grub_term_output_class): Likewise.
32853 (grub_term_register_input): Changed to inline function.
32854 (grub_term_register_output): Likewise.
32855 (grub_term_unregister_input): Likewise.
32856 (grub_term_unregister_output): Likewise.
32857 (grub_term_set_current_input): Likewise.
32858 (grub_term_set_current_output): Likewise.
32859 (grub_term_get_current_input): Likewise.
32860 (grub_term_get_current_output): Likewise.
32861 (grub_term_iterate_input): Removed.
32862 (grub_term_iterate_output): Likewise.
32863
32864 * kern/term.c (grub_term_list_input): Removed.
32865 (grub_term_list_output): Likewise.
32866 (grub_term_input_class): New variable.
32867 (grub_term_output_class): Likewise.
32868 (grub_cur_term_input): Change variable as macro.
32869 (grub_cur_term_output): Likewise.
32870 (grub_term_register_input): Removed.
32871 (grub_term_register_output): Likewise.
32872 (grub_term_unregister_input): Likewise.
32873 (grub_term_unregister_output): Likewise.
32874 (grub_term_set_current_input): Likewise.
32875 (grub_term_set_current_output): Likewise.
32876 (grub_term_iterate_input): Likewise.
32877 (grub_term_iterate_output): Likewise.
32878 (grub_term_get_current_input): Likewise.
32879 (grub_term_get_current_output): Likewise.
32880
32881 * util/grub-editenv.c: Include header file <grub/handler.h>.
32882 (grub_term_get_current_input): Removed.
32883 (grub_term_get_current_output): Likewise.
32884 (grub_term_input_class): New variable.
32885 (grub_term_output_class): Likewise.
32886
32887 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32888 (grub_term_get_current_output): Likewise.
32889 (grub_term_input_class): New variable.
32890 (grub_term_output_class): Likewise.
32891
32892 * util/grub-probe.c (grub_term_get_current_input): Removed.
32893 (grub_term_get_current_output): Likewise.
32894 (grub_term_input_class): New variable.
32895 (grub_term_output_class): Likewise.
32896
32897 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32898 (grub_term_get_current_output): Likewise.
32899 (grub_term_input_class): New variable.
32900 (grub_term_output_class): Likewise.
32901
32902 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32903 (terminal_mod_SOURCES): Likewise.
32904 (terminal_mod_CFLAGS): Likewise.
32905 (terminal_mod_LDFLAGS): Likewise.
32906
32907 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32908 handler.c.
32909 (kernel_img_SOURCES): Add list.c and handler.c.
32910 (kernel_img_HEADERS): Add list.h and handler.h.
32911
32912 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32913 handler.c.
32914 (kernel_mod_SOURCES): Add list.c and handler.c.
32915 (kernel_mod_HEADERS): Add list.h and handler.h.
32916
32917 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32918 handler.c.
32919 (kernel_elf_SOURCES): Add list.c and handler.c.
32920 (kernel_elf_HEADERS): Add list.h and handler.h.
32921
32922 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32923 handler.c.
32924 (kernel_elf_SOURCES): Add list.c and handler.c.
32925 (kernel_elf_HEADERS): Add list.h and handler.h.
32926
32927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32928 handler.c.
32929 (kernel_mod_SOURCES): Add list.c and handler.c.
32930 (kernel_mod_HEADERS): Add list.h and handler.h.
32931
32932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32933 handler.c.
32934 (kernel_elf_SOURCES): Add list.c and handler.c.
32935 (kernel_elf_HEADERS): Add list.h and handler.h.
32936
32937 2009-02-27 Robert Millan <rmh@aybabtu.com>
32938
32939 Factorize elf32 / elf64 code in Multiboot loader. This will
32940 prevent it from getting out of sync again.
32941
32942 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32943 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32944 grub_multiboot_load_elf64): Move from here ...
32945 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32946 grub_multiboot_load_elf): ... to here (new file).
32947
32948 2009-02-27 Robert Millan <rmh@aybabtu.com>
32949
32950 * util/grub.d/10_linux.in: Rename "single-user mode" to
32951 "recovery mode".
32952
32953 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32954
32955 Don't leak in SCSI code.
32956 * disk/scsi.c (grub_scsi_close): free `scsi'.
32957
32958 2009-02-27 Robert Millan <rmh@aybabtu.com>
32959
32960 * loader/i386/pc/multiboot.c: Move from here ...
32961 * loader/i386/multiboot.c: ... to here. Update all users.
32962
32963 2009-02-27 Robert Millan <rmh@aybabtu.com>
32964
32965 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32966 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32967
32968 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32969
32970 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32971 b-tree.
32972
32973 2009-02-27 Robert Millan <rmh@aybabtu.com>
32974
32975 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32976 `0x' qualifier as 0 when base is specified as parameter).
32977
32978 2009-02-24 Bean <bean123ch@gmail.com>
32979
32980 * configure.ac: Check for -mcmodel=large in x86_64 target.
32981
32982 * include/grub/efi/api.h (efi_call_10): New macro.
32983 (efi_wrap_10): New function.
32984
32985 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32986 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32987 (GRUB_PE32_REL_BASED_LOW): Likewise.
32988 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32989 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32990 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32991 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32992 (GRUB_PE32_REL_BASED_REL): Likewise.
32993 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32994 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32995 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32996
32997 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32998 issue.
32999
33000 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33001 (efi_wrap_10): New function.
33002
33003 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33004
33005 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33006 MB/MBP model (NV chipset).
33007 (devdata_devs): Add devpath_5 to the list.
33008
33009 * load/i386/efi/linux.c (video_base): Remove variable.
33010 (RGB_MASK): New macro.
33011 (RGB_MAGIC): Likewise.
33012 (LINE_MIN): Likewise.
33013 (LINE_MAX): Likewise.
33014 (FBTEST_STEP): Likewise.
33015 (FBTEST_COUNT): Likewise.
33016 (fb_list): New variable.
33017 (grub_find_video_card): Remove function.
33018 (find_framebuf): New function.
33019 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33020 line length.
33021
33022 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33023 problem for x86_64.
33024
33025 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33026
33027 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33028
33029 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33030 coding tool name.
33031
33032 2009-02-22 Robert Millan <rmh@aybabtu.com>
33033
33034 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33035 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33036 in our relocation, instead of using it directly from heap. Also
33037 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33038
33039 2009-02-21 Robert Millan <rmh@aybabtu.com>
33040
33041 Implement USB keyboard support (based on patch by Marco Gerards)
33042
33043 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33044 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33045 (usb_keyboard_mod_LDFLAGS): New variables.
33046
33047 * term/usb_keyboard.c: New file.
33048
33049 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33050
33051 Corrected wrong declaration
33052
33053 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33054
33055 2009-02-14 Christian Franke <franke@computer.org>
33056
33057 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33058 (grub_lspci_iter): Print class code and programming interface byte.
33059
33060 2009-02-14 Christian Franke <franke@computer.org>
33061
33062 * gendistlist.sh: Ignore `.svn' directories.
33063
33064 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
33065
33066 * fs/fat.c: Add 2009 to Copyright line.
33067
33068 2009-02-14 Christian Franke <franke@computer.org>
33069
33070 * commands/hdparm.c: New file. Provides `hdparm' command
33071 which sends ATA commands via grub_disk_ata_pass_through ().
33072
33073 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33074
33075 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33076 and <grub/cpu/io.h> to include/grub/ata.h.
33077 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33078 (GRUB_CDROM_SECTOR_SIZE): Remove.
33079 (GRUB_ATA_*): Move to include/grub/ata.h.
33080 (GRUB_ATAPI_*): Likewise.
33081 (enum grub_ata_commands): Likewise.
33082 (enum grub_ata_timeout_milliseconds): Likewise.
33083 (struct grub_ata_device): Likewise.
33084 (grub_ata_regset): Likewise.
33085 (grub_ata_regget): Likewise.
33086 (grub_ata_regset2): Likewise.
33087 (grub_ata_regget2): Likewise.
33088 (grub_ata_check_ready): Likewise.
33089 (grub_ata_wait_not_busy): Remove static, exported in
33090 include/grub/ata.h.
33091 (grub_ata_wait_drq): Likewise.
33092 (grub_ata_pio_read): Likewise.
33093
33094 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33095 function for hdparm.mod.
33096
33097 * include/grub/ata.h: New file, contains declarations from
33098 disk/ata.c.
33099 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33100
33101 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33102 (grub_disk_ata_pass_through): New exported variable.
33103
33104 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33105
33106 2009-02-13 Colin D Bennett <colin@gibibit.com>
33107
33108 Support multiple fallback entries, and provide an API to support
33109 executing default+fallback menu entries. Renamed the `terminal' menu
33110 viewer to `text'.
33111
33112 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33113 variable declaration.
33114 (grub_menu_execute_callback): New structure declaration.
33115 (grub_menu_execute_callback_t): New typedef.
33116 (grub_menu_execute_with_fallback): New function declaration.
33117 (grub_menu_get_entry): Likewise.
33118 (grub_menu_get_timeout): Likewise.
33119 (grub_menu_set_timeout): Likewise.
33120
33121 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33122
33123 * normal/menu.c (grub_wait_after_message): Moved to
33124 `normal/menu_text.c'.
33125 (draw_border): Likewise.
33126 (print_message): Likewise.
33127 (print_entry): Likewise.
33128 (print_entries): Likewise.
33129 (grub_menu_init_page): Likewise.
33130 (get_entry_number): Likewise.
33131 (print_timeout): Likewise.
33132 (run_menu): Likewise.
33133 (grub_menu_execute_entry): Likewise.
33134 (show_text_menu): Likewise.
33135 (get_and_remove_first_entry_number): New function.
33136 (grub_menu_execute_with_fallback): Likewise.
33137 (get_entry): Renamed to ...
33138 (grub_menu_get_entry): .. this and made it global.
33139 (get_timeout): Renamed to ...
33140 (grub_menu_get_timeout): ... this and made it global.
33141 (set_timeout): Renamed to ...
33142 (grub_menu_set_timeout): ... this and made it global.
33143 (grub_normal_terminal_menu_viewer): Renamed to ...
33144 (grub_normal_text_menu_viewer): ... this.
33145
33146 * normal/menu_text.c: New file. Extracted text-menu-specific code
33147 from normal/menu.c.
33148
33149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33150 (normal_mod_SOURCES): Likewise.
33151
33152 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33153 (normal_mod_SOURCES): Likewise.
33154
33155 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33156 (normal_mod_SOURCES): Likewise.
33157
33158 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33159 (normal_mod_SOURCES): Likewise.
33160
33161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33162 (normal_mod_SOURCES): Likewise.
33163
33164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33165 (normal_mod_SOURCES): Likewise.
33166
33167 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33168 (normal_mod_SOURCES): Likewise.
33169
33170 2009-02-11 Robert Millan <rmh@aybabtu.com>
33171
33172 * util/grub.d/00_header.in: Update old reference to `font' command.
33173
33174 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
33175
33176 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33177
33178 Based on patch from Javier Martín.
33179
33180 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33181
33182 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
33183 to avoid false positives with FAT.
33184 (grub_fstest_SOURCES): Likewise.
33185 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33186 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33188 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33189 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33190 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33191
33192 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33193
33194 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
33195 bpb.version_specific.fat12_or_fat16.fstype and
33196 bpb.version_specific.fat32.fstype.
33197
33198 2009-02-08 Robert Millan <rmh@aybabtu.com>
33199
33200 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
33201
33202 2009-02-08 Robert Millan <rmh@aybabtu.com>
33203
33204 * Makefile.in (host_os, host_cpu): New variables.
33205 (target_os): Remove. Update all users.
33206
33207 2009-02-08 Marco Gerards <marco@gnu.org>
33208
33209 * Makefile.in (enable_grub_emu_usb): New variable.
33210 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33211 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33212 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33213 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33214 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33215 `usbtest.mod' and `usbms.mod'.
33216 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33217 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33218 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33219 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33220 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33221 variables.
33222
33223 * disk/usbms.c: New file.
33224
33225 * include/grub/usb.h: Likewise.
33226
33227 * include/grub/usbtrans.h: Likewise.
33228
33229 * include/grub/usbdesc.h: Likewise.
33230
33231 * bus/usb/usbtrans.c: Likewise.
33232
33233 * bus/usb/ohci.c: Likewise.
33234
33235 * bus/usb/uhci.c: Likewise.
33236
33237 * bus/usb/usbhub.c: Likewise.
33238
33239 * bus/usb/usb.c: Likewise.
33240
33241 * commands/usbtest.c: Likewise.
33242
33243 * util/usb.c: Likewise.
33244
33245 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33246
33247 * configure.ac: Test for libusb presence.
33248
33249 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33250
33251 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33252
33253 * kern/mm.c: Add more comments.
33254
33255 2009-02-08 Robert Millan <rmh@aybabtu.com>
33256
33257 Patch from Javier Martín.
33258 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33259 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33260
33261 2009-02-08 Robert Millan <rmh@aybabtu.com>
33262
33263 * fs/cpio.c: Split tar functionality to ...
33264 * fs/tar.c: ... here (new file). Update all users.
33265
33266 2009-02-07 Robert Millan <rmh@aybabtu.com>
33267
33268 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33269 backward-incompatible features.
33270
33271 Based on patch from Javier Martín, with some adjustments.
33272
33273 2009-02-07 Michael Scherer <misc@mandriva.org>
33274
33275 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33276
33277 2009-02-07 Robert Millan <rmh@aybabtu.com>
33278
33279 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33280 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33281 after the RAID stuff.
33282
33283 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33284
33285 Fixes problem when running vbetest command as reported by
33286 Vladimir Serbinenko <phcoder@gmail.com>.
33287
33288 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33289
33290 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
33291
33292 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33293 /dev/md/NpN style mdraid devices.
33294
33295 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33296
33297 * util/unifont2pff.rb: Remove.
33298
33299 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33300
33301 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33302 `#'.
33303
33304 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33305
33306 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33307 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33311 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33313
33314 2009-02-02 Christian Franke <franke@computer.org>
33315
33316 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33317
33318 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
33319
33320 * INSTALL: Note that we now require at least autoconf 2.59 and
33321 that LZO is optional.
33322
33323 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33324
33325 Base on patch on bug #24154 created by Tomas Tintera
33326 <trosos@seznam.cz>.
33327
33328 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33329
33330 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33331
33332 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
33333 <bero@arklinux.org>.
33334
33335 * normal/parser.y (script_init): Add missing semicolon.
33336
33337 2009-01-31 Colin D Bennett <colin@gibibit.com>
33338
33339 * normal/main.c: Add include to grub/menu_viewer.h.
33340 (free_menu_entry_classes): Added.
33341 (grub_normal_menu_addentry): Added class property handling.
33342 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33343 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33344
33345 * normal/menu_viewer.c: New file.
33346
33347 * normal/menu.c (run_menu_entry): Renamed to ...
33348 (grub_menu_execute_entry): ... this and made it as global.
33349 (grub_menu_run): Renamed to ...
33350 (show_text_menu): ... this and made it local.
33351 (show_text_menu): Adapt to new function names.
33352 (grub_normal_terminal_menu_viewer): New global variable.
33353
33354 * include/grub/menu.h: New file.
33355
33356 * include/grub/menu_viewer.h: New file.
33357
33358 * include/grub/normal.h: Added include to grub/menu.h.
33359 (grub_menu_entry): Moved to include/grub/menu.h.
33360 (grub_menu_entry_t): Likewise.
33361 (grub_menu): Likewise.
33362 (grub_menu_t): Likewise.
33363 (grub_normal_terminal_menu_viewer): Added.
33364 (grub_menu_execute_entry): Likewise.
33365 (grub_menu_run): Removed.
33366
33367 * DISTLIST: Added include/grub/menu.h.
33368 Added include/grub/menu_viewer.h.
33369 Added normal/menu_viewer.c.
33370
33371 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33372
33373 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33374 arglist for menutitle arguments.
33375
33376 * normal/main.c (grub_normal_menu_addentry): Likewise.
33377
33378 * normal/parser.y (menuentry): Likewise.
33379
33380 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33381
33382 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33383 (grub_script_create_cmdmenu): Likewise.
33384
33385 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33386
33387 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33388 changes.
33389
33390 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33391
33392 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33393
33394 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33395
33396 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33397
33398 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33399
33400 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33401
33402 2009-01-30 Christian Franke <franke@computer.org>
33403
33404 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33405 in option help text.
33406
33407 2009-01-27 Pavel Roskin <proski@gnu.org>
33408
33409 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33410
33411 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33412
33413 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33414
33415 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33416
33417 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33418 unregister function.
33419
33420 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33421
33422 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33423
33424 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33425
33426 * util/grub-mkfont.c (usage): Fix typo.
33427
33428 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33429
33430 2009-01-26 Daniel Mierswa <impulze@impulze.org>
33431
33432 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33433
33434 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33435
33436 * kern/misc.c (grub_strcasecmp): New function.
33437 (grub_strcasecmp): Use grub_size_t instead of int for length.
33438 Fix return value.
33439 * include/grub/misc.h: Update function prototypes.
33440
33441 2009-01-26 Robert Millan <rmh@aybabtu.com>
33442
33443 * configure.ac: Fix cross-compilation check.
33444
33445 2009-01-22 Christian Franke <franke@computer.org>
33446
33447 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33448 (precision) digit string. Allow `.format2' without `format1' (width).
33449 Limit input chars for `%s' output to `format2' if specified. This is
33450 compatible with standard printf ().
33451
33452 2009-01-22 Christian Franke <franke@computer.org>
33453
33454 * disk/ata.c (grub_ata_wait_status): Replace by ...
33455 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33456 other status bits may be invalid while BSY is asserted.
33457 (grub_ata_check_ready): New function.
33458 (grub_ata_cmd): Removed.
33459 (grub_ata_wait_drq): New function.
33460 (grub_ata_strncpy): Remove inline.
33461 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33462 and error check now done by grub_ata_wait_drq ().
33463 (grub_ata_pio_write): Likewise.
33464 (grub_atapi_identify): Set DEV before check for !BSY. Use
33465 grub_ata_wait_drq () to wait for data.
33466 (grub_ata_device_initialize): Add status register check to
33467 detect missing SATA slave devices. Add debug messages.
33468 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33469 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33470 transfer loop by grub_ata_pio_write ().
33471 (grub_ata_identify): Set DEV before check for !BSY. Use
33472 grub_ata_wait_drq () to wait for data.
33473 (grub_ata_setaddress): Set DEV before check for !BSY.
33474 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33475 read/write in one loop. Fix invalid command on write. Fix incomplete
33476 command on (size % batch) == 0. Add missing error check after write of
33477 last block. Add debug messages.
33478 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33479
33480 2009-01-19 Christian Franke <franke@computer.org>
33481
33482 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33483 (GRUB_ATAPI_IREASON_*): Likewise.
33484 (grub_ata_pio_write): Fix timeout error return.
33485 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33486 (grub_atapi_wait_drq): New function.
33487 (grub_atapi_packet): New parameter `size'.
33488 Use grub_atapi_wait_drq () and direct write instead of
33489 grub_ata_pio_write ().
33490 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33491 reads the number of bytes requested by the device for each DRQ
33492 assertion.
33493 (grub_atapi_write): Remove old implementation, return not
33494 implemented instead.
33495
33496 2009-01-19 Christian Franke <franke@computer.org>
33497
33498 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33499 of 512 to calculate data size.
33500 (grub_scsi_read12): Likewise.
33501 (grub_scsi_write10): Likewise.
33502 (grub_scsi_write12): Likewise.
33503 (grub_scsi_read): Adjust size according to blocksize.
33504 Add checks for invalid blocksize and unaligned transfer.
33505
33506 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33507
33508 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33509
33510 * term/gfxterm.c (write_char): Fix background rendering for wide
33511 width glyphs.
33512
33513 2009-01-19 Robert Millan <rmh@aybabtu.com>
33514
33515 * config.guess: Update to latest version from config git.
33516 * config.sub: Likewise.
33517
33518 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
33519
33520 * Makefile.in: Change font compilation to use new grub-mkfont instead
33521 of java version.
33522
33523 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33524 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33525 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33526 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33527 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33528 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33529 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33530 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33531 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33532
33533 2009-01-16 Christian Franke <franke@computer.org>
33534
33535 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33536 (enum grub_ata_timeout_milliseconds): New enum.
33537 (grub_ata_wait_status): Add parameter milliseconds.
33538 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33539 recovery from timed-out commands.
33540 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33541 return grub_errno instead of REG_ERROR.
33542 (grub_ata_pio_write): Add parameter milliseconds.
33543 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33544 Pass milliseconds to grub_ata_wait_status () and
33545 grub_ata_pio_read ().
33546 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33547 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33548 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33549 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33550 It is not suitable for device detection, because DEV bit is ignored,
33551 the command may run too long, and not all devices set the signature
33552 properly.
33553 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33554 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33555 Fix device selection, DEV bit must be set first to address the registers
33556 of the correct device.
33557 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33558 grub_ata_pio_read/write ().
33559 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33560 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33561
33562 2009-01-13 Carles Pina i Estany <carles@pina.cat>
33563
33564 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33565
33566 2009-01-13 Bean <bean123ch@gmail.com>
33567
33568 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33569
33570 2009-01-13 Bean <bean123ch@gmail.com>
33571
33572 * Makefile.in: (enable_grub_mkfont): New variable.
33573 (freetype_cflags): Likewise.
33574 (freetype_libs): Likewise.
33575
33576 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33577 (grub_mkfont_SOURCES): New variable.
33578 (grub_mkfont_CFLAGS): Likewise.
33579 (grub_mkfont_LDFLAGS): Likewise.
33580
33581 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33582 library if `--enable-grub-mkfont' is requested.
33583 (enable_grub_mkfont): New variable.
33584 (freetype_cflags): Likewise.
33585 (freetype_libs): Likewise.
33586
33587 * util/grub-mkfont.c: New file.
33588
33589 2009-01-12 Christian Franke <franke@computer.org>
33590
33591 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33592 mode check. Fix setting of compat_use[].
33593
33594 2009-01-10 Robert Millan <rmh@aybabtu.com>
33595
33596 Update a few copyright years which we forgot to do in 2008 (only for
33597 files whose changes made in 2008 were copyright-significant)
33598
33599 * Makefile.in: Add 2008 to Copyright line.
33600 * disk/ieee1275/ofdisk.c: Likewise.
33601 * disk/efi/efidisk.c: Likewise.
33602 * kern/dl.c: Likewise.
33603 * kern/sparc64/ieee1275/init.c: Likewise.
33604 * kern/mm.c: Likewise.
33605 * kern/efi/mm.c: Likewise.
33606 * boot/i386/pc/boot.S: Likewise.
33607 * genfslist.sh: Likewise.
33608 * fs/iso9660.c: Likewise.
33609 * fs/hfs.c: Likewise.
33610 * fs/jfs.c: Likewise.
33611 * fs/minix.c: Likewise.
33612 * fs/ufs.c: Likewise.
33613 * gensymlist.sh.in: Likewise.
33614 * genkernsyms.sh.in: Likewise.
33615 * include/grub/misc.h: Likewise.
33616 * include/grub/types.h: Likewise.
33617 * include/grub/symbol.h: Likewise.
33618 * include/grub/elf.h: Likewise.
33619 * include/grub/kernel.h: Likewise.
33620 * include/grub/disk.h: Likewise.
33621 * include/grub/dl.h: Likewise.
33622 * include/grub/i386/linux.h: Likewise.
33623 * include/grub/i386/pc/biosdisk.h: Likewise.
33624 * include/grub/efi/api.h: Likewise.
33625 * include/grub/efi/pe32.h: Likewise.
33626 * include/grub/util/misc.h: Likewise.
33627 * normal/execute.c: Likewise.
33628 * normal/arg.c: Likewise.
33629 * normal/completion.c: Likewise.
33630 * normal/lexer.c: Likewise.
33631 * normal/parser.y: Likewise.
33632 * normal/misc.c: Likewise.
33633 * commands/i386/pc/vbeinfo.c: Likewise.
33634 * commands/hexdump.c: Likewise.
33635 * commands/terminal.c: Likewise.
33636 * commands/ls.c: Likewise.
33637 * commands/help.c: Likewise.
33638 * partmap/pc.c: Likewise.
33639 * loader/efi/chainloader.c: Likewise.
33640 * loader/multiboot_loader.c: Likewise.
33641 * loader/i386/pc/multiboot2.c: Likewise.
33642 * term/efi/console.c: Likewise.
33643 * term/i386/pc/serial.c: Likewise.
33644 * util/lvm.c: Likewise.
33645 * util/console.c: Likewise.
33646 * util/i386/efi/grub-mkimage.c: Likewise.
33647 * util/raid.c: Likewise.
33648
33649 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33650
33651 * commands/videotest.c: Removed include to grub/machine/memory.h.
33652
33653 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33654 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33655 (video_mod_SOURCES): Removed.
33656 (video_mod_CFLAGS): Likewise.
33657 (video_mod_LDFLAGS): Likewise.
33658 (gfxterm_mod_SOURCES): Likewise.
33659 (gfxterm_mod_CFLAGS): Likewise.
33660 (gfxterm_mod_LDFLAGS): Likewise.
33661 (videotest_mod_SOURCES): Likewise.
33662 (videotest_mod_CFLAGS): Likewise.
33663 (videotest_mod_LDFLAGS): Likewise.
33664 (bitmap_mod_SOURCES): Likewise.
33665 (bitmap_mod_CFLAGS): Likewise.
33666 (bitmap_mod_LDFLAGS): Likewise.
33667 (tga_mod_SOURCES): Likewise.
33668 (tga_mod_CFLAGS): Likewise.
33669 (tga_mod_LDFLAGS): Likewise.
33670 (jpeg_mod_SOURCES): Likewise.
33671 (jpeg_mod_CFLAGS): Likewise.
33672 (jpeg_mod_LDFLAGS): Likewise.
33673 (png_mod_SOURCES): Likewise.
33674 (png_mod_CFLAGS): Likewise.
33675 (png_mod_LDFLAGS): Likewise.
33676
33677 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33678 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33679 (video_mod_SOURCES): Added.
33680 (video_mod_CFLAGS): Likewise.
33681 (video_mod_LDFLAGS): Likewise.
33682 (videotest_mod_SOURCES): Likewise.
33683 (videotest_mod_CFLAGS): Likewise.
33684 (videotest_mod_LDFLAGS): Likewise.
33685 (bitmap_mod_SOURCES): Likewise.
33686 (bitmap_mod_CFLAGS): Likewise.
33687 (bitmap_mod_LDFLAGS): Likewise.
33688 (tga_mod_SOURCES): Likewise.
33689 (tga_mod_CFLAGS): Likewise.
33690 (tga_mod_LDFLAGS): Likewise.
33691 (jpeg_mod_SOURCES): Likewise.
33692 (jpeg_mod_CFLAGS): Likewise.
33693 (jpeg_mod_LDFLAGS): Likewise.
33694 (png_mod_SOURCES): Likewise.
33695 (png_mod_CFLAGS): Likewise.
33696 (png_mod_LDFLAGS): Likewise.
33697 (gfxterm_mod_SOURCES): Likewise.
33698 (gfxterm_mod_CFLAGS): Likewise.
33699 (gfxterm_mod_LDFLAGS): Likewise.
33700
33701 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33702 grub/machine/console.h.
33703
33704 2009-01-04 Jerone Young <jerone@gmail.com>
33705
33706 Make on screen instructions clearer
33707
33708 Based on patch created by Jidanni <jidanni@jidanni.org>
33709
33710 * normal/menu.c: print clearer instructions on the screen
33711
33712 2009-01-02 Colin D Bennett <colin@gibibit.com>
33713
33714 New font engine.
33715
33716 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33717 build system and fixed gfxterm.c to work with different sized fonts.
33718
33719 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33720
33721 * configure: Re-generated.
33722
33723 * DISTLIST: Removed font/manager.c.
33724 Added font/font.c.
33725 Added font/font_cmd.c.
33726
33727 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33728 compilation.
33729
33730 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33731
33732 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33733
33734 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33735
33736 * normal/menu.c: Likewise.
33737
33738 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33739 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33740
33741 * include/grub/font.h: Replaced with new file.
33742
33743 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33744 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33745 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33746 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33747 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33748 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33749 fg_red, fg_green, fg_blue, fg_alpha.
33750 (grub_video_adapter): Removed blit_glyph.
33751 (grub_video_blit_glyph): Removed.
33752
33753 * font/manager.c: Removed file.
33754
33755 * font/font.c: New file.
33756
33757 * font/font_cmd.c: Likewise.
33758
33759 * video/video.c (grub_video_blit_glyph): Removed.
33760
33761 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33762 (grub_video_vbe_map_rgba): Likewise.
33763 (grub_video_vbe_unmap_color_int): Likewise.
33764 (grub_video_vbe_blit_glyph): Removed.
33765 (grub_video_vbe_adapter): Removed blit_glyph.
33766
33767 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33768 (get_pixel): Likewise.
33769 (set_pixel): Likewise.
33770
33771 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33772
33773 * term/gfxterm.c: Adapted to new font engine.
33774
33775 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33776
33777 * term/i386/pc/vga.c: Likewise.
33778
33779 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33780
33781 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33782
33783 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33784
33785 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33786
33787 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33788
33789 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33790
33791 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33792
33793 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33794
33795 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33796
33797 * util/grub.d/00_header.in: Changed to use new loadfont command.
33798
33799 * util/grub-mkconfig_lib.in: Changed font extension.
33800
33801 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33802
33803 * util/getroot.c (grub_util_get_grub_dev): Add support for
33804 /dev/md/dNNpNN style partitionable mdraid devices.
33805
33806 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33807
33808 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33809 at a time limit of the PXE TFTP API correctly.
33810 (grub_pxefs_close): Likewise.
33811
33812 2008-11-29 Robert Millan <rmh@aybabtu.com>
33813
33814 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33815 grub_ata_device_initialize() calls.
33816
33817 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33818
33819 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33820 iteration failed.
33821 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33822
33823 2008-11-28 Robert Millan <rmh@aybabtu.com>
33824
33825 Fix build on powerpc-ieee1275. Based on patch created by
33826 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33827 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33828 `kern/ieee1275/mmap.c'.
33829 * include/grub/powerpc/ieee1275/memory.h: New file.
33830
33831 Provide grub-install on coreboot.
33832 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33833 (grub_install_SOURCES): New variable.
33834 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33835 usable on coreboot.
33836
33837 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33838
33839 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33840 to `grub_term_input_t'.
33841 (grub_term_get_current_output): Change return type to
33842 `grub_term_output_t'.
33843
33844 2008-11-22 Robert Millan <rmh@aybabtu.com>
33845
33846 Fix breakage on coreboot due to declaration mismatch.
33847 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33848 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33849 grub_vga_text_cls().
33850
33851 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33852 comments. Avoid copying one more byte than necessary (just in case).
33853
33854 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33855 to 0x200000 (avoids trouble with some OFW implementations, and matches
33856 with the one in Yaboot).
33857 Reported by Manoel Abranches
33858
33859 2008-11-20 Robert Millan <rmh@aybabtu.com>
33860
33861 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33862 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33863
33864 * util/grub-mkconfig_lib.in (grub_warn): New function.
33865 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33866 warnings, to obtain consistent formatting.
33867 * util/grub.d/00_header.in: Likewise.
33868 * util/update-grub_lib.in: Likewise.
33869
33870 * loader/i386/linux.c (allocate_pages): Fix a warning.
33871 Move comment text to `#error' stanza.
33872
33873 Harmonize ieee1275's grub_available_iterate() with the generic
33874 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33875 build problem on i386-ieee1275):
33876 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33877 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33878 parameter `type'. Update all users of this function.
33879 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33880 `kern/ieee1275/mmap.c'.
33881 * kern/ieee1275/init.c
33882 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33883 with ...
33884 (grub_machine_mmap_iterate): ... this.
33885 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33886 return type to `grub_err_t'. Update all implementations of this
33887 function prototype.
33888 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33889 Likewise.
33890
33891 Add `lsmmap' command (lists firmware-provided memory map):
33892 * commands/lsmmap.c: New file.
33893 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33894 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33895 variables.
33896 * conf/powerpc-ieee1275.rmk: Likewise.
33897 * conf/i386-coreboot.rmk: Likewise.
33898 * conf/i386-ieee1275.rmk: Likewise.
33899
33900 2008-11-19 Robert Millan <rmh@aybabtu.com>
33901
33902 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33903 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33904 constraints to initrd allocation (based on code from
33905 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33906 for Linux to find it.
33907
33908 2008-11-14 Robert Millan <rmh@aybabtu.com>
33909
33910 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33911 order to cope with duplicate slashes.
33912
33913 2008-11-14 Robert Millan <rmh@aybabtu.com>
33914
33915 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33916 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33917 don't want to mess with lower memory, because it is used in the Linux
33918 loader.
33919
33920 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33921 an appropriate place in lower memory, between 0x10000 and 0x90000,
33922 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33923 is in our heap (probably as a result of it being corrupted during
33924 decompression). Add #error instance with comment to explain why this
33925 loader isn't currently usable on PC/BIOS.
33926
33927 2008-11-14 Robert Millan <rmh@aybabtu.com>
33928
33929 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33930 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33931
33932 2008-11-12 Robert Millan <rmh@aybabtu.com>
33933
33934 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33935
33936 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33937 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33938 from here ...
33939 * include/grub/i386/pc/memory.h: ... to here.
33940
33941 2008-11-12 Robert Millan <rmh@aybabtu.com>
33942
33943 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33944 split).
33945
33946 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33947 (grub_console_cur_color, grub_console_real_putchar)
33948 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33949 (grub_console_setcolorstate, grub_console_setcolor)
33950 (grub_console_getcolor): Move from here ...
33951 * include/grub/i386/vga_common.h: ... to here (new file).
33952
33953 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33954 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33955 `<grub/i386/io.h>'.
33956 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33957 `<grub/i386/vga_common.h>'.
33958
33959 2008-11-12 Robert Millan <rmh@aybabtu.com>
33960
33961 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33962 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33963 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33964 variables.
33965 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33966 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33967
33968 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33969 grub_console_init() with call to grub_vga_text_init().
33970 (grub_machine_fini): Replace call to
33971 grub_console_fini() with call to grub_vga_text_fini() and
33972 grub_at_keyboard_fini().
33973
33974 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33975 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33976 (grub_console_setcolorstate, grub_console_setcolor)
33977 (grub_console_getcolor): New function prototypes.
33978
33979 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33980 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33981 (grub_vga_text_setcursor): Static-ize.
33982 (grub_vga_text_term): New structure.
33983 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33984
33985 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33986 (grub_console_cur_color, grub_console_standard_color)
33987 (grub_console_normal_color, grub_console_highlight_color)
33988 (map_char, grub_console_putchar, grub_console_getcharwidth)
33989 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33990 (grub_console_getcolor): Move from here ...
33991 * term/i386/vga_common.c: ... to here (same function names).
33992
33993 2008-11-12 Robert Millan <rmh@aybabtu.com>
33994
33995 Use newly-added Multiboot support in coreboot.
33996
33997 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33998 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33999
34000 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34001 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34002 (codestart): Store the MBI in `startup_multiboot_info' when we're
34003 being loaded using Multiboot.
34004
34005 * kern/i386/coreboot/init.c (grub_machine_init): Move
34006 grub_at_keyboard_init() call to beginning of function (useful for
34007 debugging). Call grub_machine_mmap_init() before attempting to use
34008 grub_machine_mmap_iterate().
34009 (grub_lower_mem, grub_upper_mem): Move from here ...
34010 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34011 here (new file).
34012
34013 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34014 function prototype.
34015
34016 2008-11-12 Robert Millan <rmh@aybabtu.com>
34017
34018 Fix a regression introduced by the at_keyboard.mod split. Because
34019 some terminals are default on some platforms and non-default on
34020 others, the first terminal being registered determines which is
34021 going to be default.
34022
34023 * kern/term.c (grub_term_register_input): If this is the first
34024 terminal being registered, set it as the current one.
34025 (grub_term_register_output): Likewise.
34026
34027 * term/efi/console.c (grub_console_init): Do not call
34028 grub_term_set_current_output() or grub_term_set_current_input().
34029 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34030 * term/i386/pc/console.c (grub_console_init): Likewise.
34031 (grub_console_fini): Do not call grub_term_set_current_input()
34032 (but leave grub_term_set_current_output() to restore text mode).
34033
34034 2008-11-10 Robert Millan <rmh@aybabtu.com>
34035
34036 * util/grub.d/00_header.in: Add backward compatibility check for
34037 versions of terminal.mod that don't understand `terminal_input' or
34038 `terminal_output'.
34039
34040 2008-11-09 Robert Millan <rmh@aybabtu.com>
34041
34042 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34043 `terminal_input' / `terminal_output', not `terminal'.
34044
34045 2008-11-08 Robert Millan <rmh@aybabtu.com>
34046
34047 * Makefile.in (include_DATA): Fix srcdir=. assumption.
34048 (DISTCLEANFILES): Add `build_env.mk'.
34049
34050 2008-11-08 Robert Millan <rmh@aybabtu.com>
34051
34052 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
34053 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34054 members. Update all users.
34055 * util/console.c (grub_ncurses_term): Split in ...
34056 (grub_ncurses_term_input): ... this, and ...
34057 (grub_ncurses_term_output): ... this. Update all users.
34058 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
34059
34060 2008-11-08 Robert Millan <rmh@aybabtu.com>
34061
34062 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34063 (PKGDATA): Add $(pkgdata_SRCDIR).
34064 (pkglib_BUILDDIR): New variable.
34065 (pkgdata_SRCDIR): New variable.
34066 (build_env.mk): New target.
34067 (include_DATA): New variable.
34068 (install-local): Install $(include_DATA) files in $(includedir).
34069
34070 2008-11-07 Pavel Roskin <proski@gnu.org>
34071
34072 * gendistlist.sh: Use C locale for sorting to ensure consistent
34073 output on all systems.
34074
34075 * util/grub.d/00_header.in: Remove incorrect space before
34076 "serial".
34077
34078 2008-11-07 Robert Millan <rmh@aybabtu.com>
34079
34080 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34081 per specification.
34082 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34083 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34084 (based on find_multi_boot1_header).
34085 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34086 using find_multi_boot2_header(), and abort if neither Multiboot or
34087 Multiboot headers were found.
34088
34089 2008-11-07 Robert Millan <rmh@aybabtu.com>
34090
34091 Modularize at_keyboard.mod:
34092
34093 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34094 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34095 (at_keyboard_mod_LDFLAGS): New variables.
34096
34097 Actual terminal split:
34098
34099 * include/grub/term.h (struct grub_term): Split in ...
34100 (struct grub_term_input): ... this, and ...
34101 (struct grub_term_output): ... this. Update all users.
34102 (grub_term_set_current): Split in ...
34103 (grub_term_set_current_input): ... this, and ...
34104 (grub_term_set_current_output): ... this.
34105 (grub_term_get_current): Split in ...
34106 (grub_term_get_current_input): ... this, and ...
34107 (grub_term_get_current_output): ... this.
34108 (grub_term_register): Split in ...
34109 (grub_term_register_input): ... this, and ...
34110 (grub_term_register_output): ... this.
34111 (grub_term_unregister): Split in ...
34112 (grub_term_unregister_input): ... this, and ...
34113 (grub_term_unregister_output): ... this.
34114 (grub_term_iterate): Split in ...
34115 (grub_term_iterate_input): ... this, and ...
34116 (grub_term_iterate_output): ... this.
34117
34118 * kern/term.c (grub_term_list): Split in ...
34119 (grub_term_list_input): ... this, and ...
34120 (grub_term_list_output): ... this. Update all users.
34121 (grub_cur_term): Split in ...
34122 (grub_cur_term_input): ... this, and ...
34123 (grub_cur_term_output): ... this. Update all users.
34124 (grub_term_set_current): Split in ...
34125 (grub_term_set_current_input): ... this, and ...
34126 (grub_term_set_current_output): ... this.
34127 (grub_term_get_current): Split in ...
34128 (grub_term_get_current_input): ... this, and ...
34129 (grub_term_get_current_output): ... this.
34130 (grub_term_register): Split in ...
34131 (grub_term_register_input): ... this, and ...
34132 (grub_term_register_output): ... this.
34133 (grub_term_unregister): Split in ...
34134 (grub_term_unregister_input): ... this, and ...
34135 (grub_term_unregister_output): ... this.
34136 (grub_term_iterate): Split in ...
34137 (grub_term_iterate_input): ... this, and ...
34138 (grub_term_iterate_output): ... this.
34139
34140 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34141 a check for input and one for output (and only attempt to get keys
34142 from user when input works).
34143
34144 * util/grub-probe.c (grub_term_get_current): Split in ...
34145 (grub_term_get_current_input): ... this, and ...
34146 (grub_term_get_current_output): ... this.
34147 * util/grub-fstest.c: Likewise.
34148 * util/i386/pc/grub-setup.c: Likewise.
34149 * util/grub-editenv.c: Likewise.
34150
34151 Portability adjustments:
34152
34153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34154 `term/i386/pc/at_keyboard.c'.
34155 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34156 grub_keyboard_controller_init() (now handled by terminal .init).
34157 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34158 grub_at_keyboard_init().
34159 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34160 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34161 at_keyboard.mod via input terminal interface).
34162 * include/grub/i386/coreboot/console.h: Convert into a stub for
34163 `<grub/i386/pc/console.h>'.
34164
34165 Migrate full terminals to new API:
34166
34167 * term/efi/console.c (grub_console_term): Split into ...
34168 (grub_console_term_input): ... this, and ...
34169 (grub_console_term_output): ... this. Update all users.
34170 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34171 (grub_ofconsole_init): Split into ...
34172 (grub_ofconsole_init_input): ... this, and ...
34173 (grub_ofconsole_init_output): ... this.
34174 (grub_ofconsole_term): Split into ...
34175 (grub_ofconsole_term_input): ... this, and ...
34176 (grub_ofconsole_term_output): ... this. Update all users.
34177 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34178 (grub_serial_term_input): ... this, and ...
34179 (grub_serial_term_output): ... this. Update all users.
34180 * term/i386/pc/console.c (grub_console_term): Split into ...
34181 (grub_console_term_input): ... this, and ...
34182 (grub_console_term_output): ... this. Update all users.
34183 (grub_console_term_input): Only enable it on PC/BIOS platform.
34184 (grub_console_init): Remove grub_keyboard_controller_init() call.
34185
34186 Migrate input terminals to new API:
34187
34188 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34189 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34190 i386-specific anyway).
34191 (grub_console_checkkey): Rename to ...
34192 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34193 users.
34194 (grub_keyboard_controller_orig): New variable.
34195 (grub_console_getkey): Rename to ...
34196 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34197 users.
34198 (grub_keyboard_controller_init): Static-ize. Save original
34199 controller value so that it can be restored ...
34200 (grub_keyboard_controller_fini): ... here (new function).
34201 (grub_at_keyboard_term): New structure.
34202 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34203 functions.
34204
34205 Migrate output terminals to new API:
34206
34207 * term/i386/pc/vga.c (grub_vga_term): Change type to
34208 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34209 members. Update all users.
34210 * term/gfxterm.c (grub_video_term): Change type to
34211 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34212 members. Update all users.
34213 * include/grub/i386/pc/console.h (grub_console_checkkey)
34214 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34215 etc).
34216
34217 Migrate `terminal' command and userland tools to new API:
34218
34219 * commands/terminal.c (grub_cmd_terminal): Split into ...
34220 (grub_cmd_terminal_input): ... this, and ...
34221 (grub_cmd_terminal_output): ... this.
34222 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34223 `terminal_input' and `terminal_output'.
34224 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34225 `terminal_input' / `terminal_output' API.
34226 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34227 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34228 provided ${GRUB_TERMINAL}, convert it).
34229
34230 2008-11-04 Robert Millan <rmh@aybabtu.com>
34231
34232 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34233 for FreeBSD.
34234 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34235
34236 2008-11-03 Bean <bean123ch@gmail.com>
34237
34238 * kern/elf.c (grub_elf32_load): Revert to previous code.
34239 (grub_elf64_load): Likewise.
34240
34241 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34242
34243 2008-11-01 Robert Millan <rmh@aybabtu.com>
34244
34245 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34246 (TARGET_CPPFLAGS): Likewise.
34247 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34248
34249 2008-11-01 Carles Pina i Estany <carles@pina.cat>
34250
34251 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34252
34253 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34254
34255 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34256 addition of objects until the code is not going to be able to fail.
34257
34258 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34259
34260 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34261 (add a missing NULL check, and correct them by moving the pointer
34262 operations after the actual check).
34263
34264 2008-10-29 Robert Millan <rmh@aybabtu.com>
34265
34266 * util/i386/pc/grub-install.in: Handle empty string as output from
34267 make_system_path_relative_to_its_root().
34268
34269 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34270
34271 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34272 circular metadata worst case scenario. If the metadata is circular
34273 then copy the wrap in place.
34274 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34275 project lib/format_text/layout.h
34276 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34277
34278 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34279
34280 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
34281
34282 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34283
34284 * util/update-grub_lib.in: Mention filename in warning message.
34285
34286 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34287
34288 * NEWS: Update for rename of update-grub to grub-mkconfig.
34289
34290 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34291
34292 * util/update-grub_lib.in: Copy to ...
34293 * util/grub-mkconfig_lib.in: ... this. Update all users.
34294 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
34295 * util/update-grub.in: Rename to ...
34296 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34297 option. Add `--output' option to allow users to specify the generated
34298 configuration file. Default to stdout.
34299 (update_grub_dir): Rename to ...
34300 (grub_mkconfig_dir): ... this.
34301 (grub_cfg): Default to an empty string.
34302 * conf/common.rmk (update-grub): Rename to ...
34303 (grub-mkconfig): ... this.
34304 (update-grub_lib): Copy to ...
34305 (grub-mkconfig_lib): ... this.
34306 (update-grub_SCRIPTS): Copy to ...
34307 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34308 (update-grub_DATA): Rename to ...
34309 (grub-mkconfig_DATA): ... this.
34310
34311 2008-09-28 Robert Millan <rmh@aybabtu.com>
34312
34313 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34314 to `modified'. Add the real `created' field.
34315 (grub_iso9660_uuid): Use `modified' rather than `created' for
34316 constructing the UUID.
34317
34318 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
34319
34320 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34321 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34322
34323 2008-09-28 Bean <bean123ch@gmail.com>
34324
34325 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34326 Thanks to Christian Franke for finding this bug.
34327
34328 2008-09-25 Robert Millan <rmh@aybabtu.com>
34329
34330 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34331 instances of grub_util_get_disk_name() (see previous commit).
34332
34333 2008-09-25 Robert Millan <rmh@aybabtu.com>
34334
34335 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34336 `util/i386/get_disk_name.c'.
34337 * conf/i386-efi.rmk: Likewise.
34338 * conf/x86_64-efi.rmk: Likewise.
34339 * conf/i386-coreboot.rmk: Likewise.
34340 * conf/i386-ieee1275.rmk: Likewise.
34341 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34342 `util/ieee1275/get_disk_name.c'.
34343 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34344 * util/ieee1275/get_disk_name.c: Remove file.
34345 * util/i386/get_disk_name.c: Remove file.
34346 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34347 "hd%d" for device.map entries, rather than using
34348 grub_util_get_disk_name().
34349
34350 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34351
34352 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34353 warning.
34354 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34355
34356 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34357
34358 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34359 Changed to 0x5100.
34360 (GRUB_TERM_PPAGE): Changed to 0x4900.
34361
34362 2008-09-24 Robert Millan <rmh@aybabtu.com>
34363
34364 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34365 macros (they were i386-pc specific).
34366 * include/grub/sparc64/ieee1275/console.h: Likewise.
34367 * include/grub/efi/console.h: Likewise.
34368
34369 2008-09-22 Bean <bean123ch@gmail.com>
34370
34371 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34372 resident and in attribute list.
34373
34374 * include/grub/ntfs.h (BMP_LEN): Removed.
34375
34376 2008-09-22 Bean <bean123ch@gmail.com>
34377
34378 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
34379 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34380
34381 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34382 error occurs, as grub_disk_open will call grub_disk_close, which will
34383 call p->close (scsi).
34384
34385 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34386
34387 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34388 (AC_PREREQ): Bumped to 2.59.
34389 (AC_TRY_COMPILE): Replace obsolete macro with ...
34390 (AC_COMPILE_IFELSE): ... this.
34391 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34392 (AC_LINK_IFELSE): ... this.
34393
34394 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34395
34396 * autogen.sh: Add a call to `gendistlist.sh'.
34397
34398 2008-09-19 Christian Franke <franke@computer.org>
34399
34400 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34401 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34402 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34403 Export __enable_execute_stack() to modules.
34404 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34405 New function.
34406
34407 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34408
34409 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34410 Sort the list.
34411
34412 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34413
34414 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
34415 #include <grub/util/hostdisk.h>.
34416
34417 2008-09-08 Robert Millan <rmh@aybabtu.com>
34418
34419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34420 segments when their filesz is zero (grub_file_read() interprets
34421 zero-size as "read until EOF", which results in memory corruption).
34422 Use `lowest_segment' rather than 0 for calculating the current
34423 segment load address.
34424
34425 2008-09-08 Robert Millan <rmh@aybabtu.com>
34426
34427 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34428 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34429 clobbered useful information.
34430
34431 2008-09-08 Robert Millan <rmh@aybabtu.com>
34432
34433 * include/grub/util/biosdisk.h: Move to ...
34434 * include/grub/util/hostdisk.h: ... here. Update all users.
34435 * util/biosdisk.c: Move to ...
34436 * util/hostdisk.c: ... here. Update all users.
34437
34438 2008-09-07 Robert Millan <rmh@aybabtu.com>
34439
34440 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34441 variables.
34442 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34443 and length can be stored directly in the `mbi->mmap_addr' and
34444 `mbi->mmap_length' struct fields.
34445
34446 2008-09-07 Robert Millan <rmh@aybabtu.com>
34447
34448 * conf/i386.rmk: New file. Provides declaration for building
34449 `cpuid.mod'.
34450 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34451 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34452 variables.
34453 Include `conf/i386.mk'.
34454 * conf/i386-efi.rmk: Likewise.
34455 * conf/x86_64-efi.rmk: Likewise.
34456 * conf/i386-coreboot.rmk: Likewise.
34457 * conf/i386-ieee1275.rmk: Likewise.
34458
34459 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34460
34461 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34462 Adds optimization support for BGR based modes.
34463
34464 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34465 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34466 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34467 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34468 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34469 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34470 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34471 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34472 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34473 (grub_video_i386_vbeblit_index_index): Likewise.
34474 (grub_video_i386_vbeblit_replace_directN): Added.
34475 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34476 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34477 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34478 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34479 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34480 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34481 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34482 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34483 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34484 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34485 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34486 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34487 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34488
34489 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34490 (grub_video_i386_vbefill_R8G8B8): Likewise.
34491 (grub_video_i386_vbefill_index): Likewise.
34492 (grub_video_i386_vbefill_direct32): Added.
34493 (grub_video_i386_vbefill_direct24): Likewise.
34494 (grub_video_i386_vbefill_direct16): Likewise.
34495 (grub_video_i386_vbefill_direct8): Likewise.
34496
34497 * include/grub/video.h (grub_video_blit_format): Removed
34498 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34499 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34500 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34501 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34502 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
34503
34504 * video/video.c (grub_video_get_blit_format): Updated to use new
34505 blit formats. Added handling for 16 bit color modes.
34506
34507 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
34508 fillers.
34509 (common_blitter): Updated to use new blitters.
34510
34511 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34512 Removed.
34513 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34514 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34515 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34516 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34517 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34518 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34519 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34520 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34521 (grub_video_i386_vbeblit_index_index): Likewise.
34522 (grub_video_i386_vbeblit_replace_directN): Added.
34523 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34524 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34525 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34526 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34527 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34528 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34529 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34530 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34531 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34532 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34533 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34534 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34535 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34536
34537 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34538 (grub_video_i386_vbefill_R8G8B8): Likewise.
34539 (grub_video_i386_vbefill_index): Likewise.
34540 (grub_video_i386_vbefill_direct32): Added.
34541 (grub_video_i386_vbefill_direct24): Likewise.
34542 (grub_video_i386_vbefill_direct16): Likewise.
34543 (grub_video_i386_vbefill_direct8): Likewise.
34544
34545 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34546 types.
34547
34548 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34549 types.
34550
34551 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34552 blitter types.
34553
34554 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34555 types.
34556
34557 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34558
34559 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34560 RAID level 1.
34561
34562 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34563
34564 * fs/iso9660.c (grub_iso9660_date): New structure.
34565 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34566 (grub_iso9660_uuid): New function.
34567
34568 2008-09-05 Bean <bean123ch@gmail.com>
34569
34570 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34571
34572 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34573 insensitive bit for names in Win32 and Win32 & DOS namespace.
34574
34575 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34576
34577 * include/grub/types.h (LONG_MAX): Likewise.
34578
34579 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34580
34581 * util/getroot.c: Include <config.h>.
34582 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34583 add support for /dev/md/N devices and handle LVM double dash escaping.
34584
34585 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34586
34587 * config.guess: Update to latest version from config git.
34588 * config.sub: Likewise.
34589
34590 2008-09-03 Robert Millan <rmh@aybabtu.com>
34591
34592 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34593 `disk->total_sectors'.
34594
34595 2008-09-01 Colin D Bennett <colin@gibibit.com>
34596
34597 * include/grub/normal.h: Fixed incorrect comment for
34598 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34599
34600 2008-09-01 Colin D Bennett <colin@gibibit.com>
34601
34602 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34603 values with defines.
34604
34605 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34606 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34607 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34608 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34609 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34610 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34611 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34612 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34613 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34614 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34615 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34616 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34617 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34618 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34619 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34620 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34621 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34622 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34623 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34624
34625 2008-08-31 Robert Millan <rmh@aybabtu.com>
34626
34627 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34628 declaration.
34629 (grub_multiboot): Fix a few warnings.
34630
34631 2008-08-31 Robert Millan <rmh@aybabtu.com>
34632
34633 * loader/i386/pc/multiboot.c: Update comment not to say that
34634 boot_device support is unimplemented.
34635
34636 2008-08-31 Robert Millan <rmh@aybabtu.com>
34637
34638 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34639 or memory map support are unimplemented.
34640
34641 2008-08-31 Colin D Bennett <colin@gibibit.com>
34642
34643 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34644
34645 2008-08-31 Colin D Bennett <colin@gibibit.com>
34646
34647 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34648 total video memory in 'vbeinfo' output; show color format details for
34649 each video mode.
34650
34651 2008-08-30 Pavel Roskin <proski@gnu.org>
34652
34653 * util/genmoddep.c: Remove for real this time.
34654 * DISTLIST: Remove util/genmoddep.c.
34655
34656 2008-08-30 Robert Millan <rmh@aybabtu.com>
34657
34658 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34659 as required by Multiboot spec (it was already 4-byte aligned, but
34660 only by chance).
34661
34662 2008-08-29 Pavel Roskin <proski@gnu.org>
34663
34664 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34665 * kern/powerpc/ieee1275/startup.S: ... this.
34666 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34667 * DISTLIST: Likewise.
34668
34669 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34670 grub/cpu/kernel.h. Add start label for consistency with other
34671 platforms. Add grub_prefix immediately after start. Add jump
34672 to the code after grub_prefix.
34673 * include/grub/powerpc/kernel.h: Provide valid values for
34674 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34675
34676 2008-08-29 Bean <bean123ch@gmail.com>
34677
34678 * configure.ac: Change host_os to cygwin for mingw.
34679 (asprintf): New check for function.
34680
34681 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34682 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34683
34684 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
34685 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
34686 sync, sleep and grub_util_get_disk_size for mingw.
34687
34688 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34689 to get size in mingw.
34690 (open_device): Use flag O_BINARY if it's defined.
34691 (find_root_device): Add dummy code for mingw.
34692
34693 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34694 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34695 (get_scsi_disk_name): Return 0 for mingw.
34696
34697 * util/hostfs.c: #include <grub/util/misc.h>.
34698 (grub_hostfs_open): Use "rb" flag to open file, use
34699 grub_util_get_disk_size to get disk size for mingw.
34700
34701 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34702 (asprintf): New function if HAVE_ASPRINTF is not set.
34703 (sync): New function for mingw.
34704 (sleep): Likewise.
34705 (grub_util_get_disk_size): Likewise.
34706
34707 2008-08-28 Pavel Roskin <proski@gnu.org>
34708
34709 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34710 kern/time.c.
34711
34712 2008-08-28 Robert Millan <rmh@aybabtu.com>
34713
34714 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34715
34716 2008-08-28 Robert Millan <rmh@aybabtu.com>
34717
34718 Change find_grub_drive() syntax so it doesn't prevent it from
34719 detecting NULL names as errors.
34720
34721 * util/biosdisk.c (find_grub_drive): Move free slot search code
34722 from here ...
34723 (find_free_slot): ... to here.
34724 (read_device_map): Use find_free_slot() to search for free slots.
34725
34726 2008-08-27 Marco Gerards <marco@gnu.org>
34727
34728 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34729 (scsi_mod_SOURCES): New variable.
34730 (scsi_mod_CFLAGS): Likewise
34731 (scsi_mod_LDFLAGS): Likewise.
34732
34733 * disk/scsi.c: New file.
34734
34735 * include/grub/scsi.h: Likewise.
34736
34737 * include/grub/scsicmd.h: Likewise.
34738
34739 * disk/ata.c: Include <grub/scsi.h>.
34740 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34741 instead.
34742 (grub_ata_iterate): Skip ATAPI devices.
34743 (grub_ata_open): Only handle ATAPI devices.
34744 (struct grub_atapi_read): Removed.
34745 (grub_atapi_readsector): Likewise.
34746 (grub_ata_read): No longer handle ATAPI devices.
34747 (grub_ata_write): Likewise.
34748 (grub_atapi_iterate): New function.
34749 (grub_atapi_read): Likewise.
34750 (grub_atapi_write): Likewise.
34751 (grub_atapi_open): Likewise.
34752 (grub_atapi_close): Likewise.
34753 (grub_atapi_dev): New variable.
34754 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34755 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34756
34757 * include/grub/disk.h (enum grub_disk_dev_id): Add
34758 `GRUB_DISK_DEVICE_SCSI_ID'.
34759
34760 2008-08-26 Robert Millan <rmh@aybabtu.com>
34761
34762 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34763 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34764 descriptive.
34765
34766 2008-08-23 Bean <bean123ch@gmail.com>
34767
34768 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34769 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34770 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34771 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34772 dm_nv.mod.
34773 (raid5rec_mod_SOURCES): New macro.
34774 (raid5rec_mod_CFLAGS): Likewise.
34775 (raid5rec_mod_LDFLAGS): Likewise.
34776 (raid6rec_mod_SOURCES): Likewise.
34777 (raid6rec_mod_CFLAGS): Likewise.
34778 (raid6rec_mod_LDFLAGS): Likewise.
34779 (mdraid_mod_SOURCES): Likewise.
34780 (mdraid_mod_CFLAGS): Likewise.
34781 (mdraid_mod_LDFLAGS): Likewise.
34782 (dm_nv_mod_SOURCES): Likewise.
34783 (dm_nv_mod_CFLAGS): Likewise.
34784 (dm_nv_mod_LDFLAGS): Likewise.
34785
34786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34787 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34788 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34789
34790 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34791 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34792
34793 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34794
34795 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34796
34797 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34798
34799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34800
34801 * disk/raid5_recover.c: New file.
34802
34803 * disk/raid6_recover.c: Likewise.
34804
34805 * disk/mdraid_linux.c: Likewise.
34806
34807 * disk/dmraid_nvidia.c: Likewise.
34808
34809 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34810 ULONG_MAX.
34811
34812 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34813 calculate the size of raid device.
34814 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34815 different layout of raid5.
34816 (grub_raid_scan_device): Remove code specific to mdraid.
34817 (grub_raid_list): New variable.
34818 (free_array): New function.
34819 (grub_raid_register): Likewise.
34820 (grub_raid_unregister): Likewise.
34821 (grub_raid_rescan): Likewise.
34822 (GRUB_MOD_INIT): Don't iterate device here.
34823 (GRUB_MOD_FINI): Use free_array to release resource.
34824
34825 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34826 (grub_raid5_recover_func_t): New function variable type.
34827 (grub_raid6_recover_func_t): Likewise.
34828 (grub_raid5_recover_func): New variable.
34829 (grub_raid6_recover_func): Likewise.
34830 (grub_raid_register): New function.
34831 (grub_raid_unregister): Likewise.
34832 (grub_raid_rescan): Likewise.
34833 (grub_raid_block_xor): Likewise.
34834
34835 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34836 (CMD_CRC): New macro.
34837 (part): Removed.
34838 (read_file): Handle device as well as file.
34839 (cmd_crc): New function.
34840 (fstest): Handle multiple disks.
34841 (options): Remove part, raw and long, add root and diskcount.
34842 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34843 (main): Find the first non option entry and ignore subsequent options,
34844 add handling for the new options, support multiple disks.
34845
34846 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34847
34848 2008-08-23 Bean <bean123ch@gmail.com>
34849
34850 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34851
34852 * genfslist.sh: Ignore kernel.mod.
34853
34854 * genpartmaplist.sh: Likewise.
34855
34856 2008-08-23 Robert Millan <rmh@aybabtu.com>
34857
34858 * util/getroot.c (find_root_device): Skip anything that starts with
34859 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34860
34861 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34862
34863 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34864 * util/grub.d/00_header.in: Allow the administrator to change default
34865 gfxmode via ${GRUB_GFXMODE}.
34866
34867 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34868
34869 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34870
34871 2008-08-21 Robert Millan <rmh@aybabtu.com>
34872
34873 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34874 loader.
34875 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34876 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34877
34878 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34879
34880 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34881 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34882
34883 2008-08-19 Robert Millan <rmh@aybabtu.com>
34884
34885 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34886 (struct grub_virtual_screen): Remove `cursor_color'.
34887 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34888 initialization.
34889 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34890
34891 2008-08-18 Robert Millan <rmh@aybabtu.com>
34892
34893 Unify (identical) linux_normal.c files.
34894 * loader/i386/efi/linux_normal.c: Move from here ...
34895 * loader/linux_normal.c: ... to here. Update all users.
34896 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34897 * loader/i386/ieee1275/linux_normal.c: Likewise.
34898
34899 2008-08-18 Robert Millan <rmh@aybabtu.com>
34900
34901 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34902 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34903 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34904 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34905 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34906 New macros.
34907 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34908 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34909 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34910 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34911 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34912 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34913 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34914 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34915 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34916 portably using grub_getxy().
34917 Replace `-EFI' with `-bzImage' in boot message.
34918
34919 2008-08-17 Robert Millan <rmh@aybabtu.com>
34920
34921 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34922
34923 2008-08-17 Robert Millan <rmh@aybabtu.com>
34924
34925 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34926
34927 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34928 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34929 (grub_machine_mmap_iterate): New function declaration.
34930 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34931 structure.
34932 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34933 macros.
34934
34935 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34936 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34937 Move e820 parsing from here ...
34938 * kern/i386/pc/mmap.c: New file.
34939 (grub_machine_mmap_iterate): ... to here.
34940
34941 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34942 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34943 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34944 (grub_available_iterate): Redeclare to return `void', and redeclare
34945 its hook to use grub_uint64_t as addr and size parameters, and rename
34946 to ...
34947 (grub_machine_mmap_iterate): ... this. Update all users.
34948
34949 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34950 to make it more readable. Rename to ...
34951 (grub_machine_mmap_iterate): ... this.
34952
34953 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34954 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34955 (grub_multiboot): Allocate an extra region after the payload, and fill
34956 it with a Multiboot memory map. Adjust a.out loader to calculate size
34957 with the extra space.
34958 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34959 with the extra space.
34960
34961 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34962
34963 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34964
34965 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34966
34967 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34968 mdate-sh to the list `find' searches for.
34969 * DISTLIST: Regenerated.
34970
34971 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34972
34973 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34974 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34975 genmoddep.awk, gensymlist.sh.in.
34976 (DISTDIRS): Add bus, docs, hook, lib.
34977 * DISTLIST: Regenerated.
34978 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34979
34980 2008-08-16 Robert Millan <rmh@aybabtu.com>
34981
34982 * disk/raid.c (grub_raid_init): Handle/report errors set by
34983 grub_device_iterate().
34984 * disk/lvm.c (grub_lvm_init): Likewise.
34985
34986 2008-08-15 Bean <bean123ch@gmail.com>
34987
34988 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34989 and datehook.mod.
34990 (datetime_mod_SOURCES): New macro.
34991 (datetime_mod_CFLAGS): Likewise.
34992 (datetime_mod_LDFLAGS): Likewise.
34993 (date_mod_SOURCES): Likewise.
34994 (date_mod_CFLAGS): Likewise.
34995 (date_mod_LDFLAGS): Likewise.
34996 (datehook_mod_SOURCES): Likewise.
34997 (datehook_mod_CFLAGS): Likewise.
34998 (datehook_mod_LDFLAGS): Likewise.
34999
35000 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35001 and datehook.mod.
35002 (datetime_mod_SOURCES): New macro.
35003 (datetime_mod_CFLAGS): Likewise.
35004 (datetime_mod_LDFLAGS): Likewise.
35005 (date_mod_SOURCES): Likewise.
35006 (date_mod_CFLAGS): Likewise.
35007 (date_mod_LDFLAGS): Likewise.
35008 (datehook_mod_SOURCES): Likewise.
35009 (datehook_mod_CFLAGS): Likewise.
35010 (datehook_mod_LDFLAGS): Likewise.
35011
35012 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35013 and datehook.mod.
35014 (datetime_mod_SOURCES): New macro.
35015 (datetime_mod_CFLAGS): Likewise.
35016 (datetime_mod_LDFLAGS): Likewise.
35017 (date_mod_SOURCES): Likewise.
35018 (date_mod_CFLAGS): Likewise.
35019 (date_mod_LDFLAGS): Likewise.
35020 (datehook_mod_SOURCES): Likewise.
35021 (datehook_mod_CFLAGS): Likewise.
35022 (datehook_mod_LDFLAGS): Likewise.
35023
35024 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35025 and datehook.mod.
35026 (datetime_mod_SOURCES): New macro.
35027 (datetime_mod_CFLAGS): Likewise.
35028 (datetime_mod_LDFLAGS): Likewise.
35029 (date_mod_SOURCES): Likewise.
35030 (date_mod_CFLAGS): Likewise.
35031 (date_mod_LDFLAGS): Likewise.
35032 (datehook_mod_SOURCES): Likewise.
35033 (datehook_mod_CFLAGS): Likewise.
35034 (datehook_mod_LDFLAGS): Likewise.
35035
35036 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35037 and datehook.mod.
35038 (datetime_mod_SOURCES): New macro.
35039 (datetime_mod_CFLAGS): Likewise.
35040 (datetime_mod_LDFLAGS): Likewise.
35041 (date_mod_SOURCES): Likewise.
35042 (date_mod_CFLAGS): Likewise.
35043 (date_mod_LDFLAGS): Likewise.
35044 (datehook_mod_SOURCES): Likewise.
35045 (datehook_mod_CFLAGS): Likewise.
35046 (datehook_mod_LDFLAGS): Likewise.
35047
35048 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35049
35050 * commands/date.c: New file.
35051
35052 * hook/datehook.c: Likewise.
35053
35054 * include/grub/lib/datetime.h: Likewise.
35055
35056 * include/grub/i386/cmos.h: Likewise.
35057
35058 * lib/datetime.c: Likewise.
35059
35060 * lib/i386/datetime.c: Likewise.
35061
35062 * lib/efi/datetime.c: Likewise.
35063
35064 2008-08-14 Robert Millan <rmh@aybabtu.com>
35065
35066 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35067 (grub_mkelfimage_SOURCES): New variable.
35068 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35069
35070 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35071 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35072 * conf/powerpc-ieee1275.rmk: Likewise.
35073 * conf/i386-ieee1275.rmk: Likewise.
35074
35075 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35076 * kern/i386/coreboot/init.c: Likewise.
35077
35078 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35079 with `<grub/cpu/kernel.h>'.
35080 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35081 to ...
35082 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35083 * kern/i386/coreboot/startup.S: Likewise.
35084
35085 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35086 (GRUB_MOD_GAP): Remove.
35087 * include/grub/powerpc/kernel.h: New file.
35088 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35089 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35090 * include/grub/i386/kernel.h: New file.
35091 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35092 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35093 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35094
35095 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35096 `grub-mkelfimage'.
35097 Use --directory when invoking grub_mkimage.
35098
35099 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35100 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35101 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35102 and GRUB_KERNEL_CPU_PREFIX.
35103
35104 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
35105
35106 * include/grub/err.h (grub_err_printf): New function prototype.
35107 * util/misc.c (grub_err_printf): New function.
35108 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35109 grub_printf.
35110 * kern/err.c (grub_print_error): Use grub_err_printf.
35111
35112 2008-08-13 Robert Millan <rmh@aybabtu.com>
35113
35114 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35115
35116 2008-08-13 Robert Millan <rmh@aybabtu.com>
35117
35118 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35119 boot entry.
35120
35121 2008-08-12 Robert Millan <rmh@aybabtu.com>
35122
35123 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35124 of the relocation code from here ...
35125 (grub_multiboot): ... to here.
35126 (forward_relocator, backward_relocator): Move from here ...
35127 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35128 (grub_multiboot_backward_relocator): ... to here.
35129 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35130 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35131 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35132 (grub_multiboot_forward_relocator_end)
35133 (grub_multiboot_backward_relocator)
35134 (grub_multiboot_backward_relocator_end): New variables.
35135
35136 2008-08-12 Bean <bean123ch@gmail.com>
35137
35138 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35139
35140 2008-08-11 Robert Millan <rmh@aybabtu.com>
35141
35142 * kern/i386/linuxbios/startup.S: Move from here ...
35143 * kern/i386/coreboot/startup.S: ... to here.
35144
35145 * kern/i386/linuxbios/init.c: Move from here ...
35146 * kern/i386/coreboot/init.c: ... to here.
35147
35148 * kern/i386/linuxbios/table.c: Move from here ...
35149 * kern/i386/coreboot/mmap.c: ... to here.
35150
35151 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35152
35153 2008-08-11 Robert Millan <rmh@aybabtu.com>
35154
35155 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35156 errors. Leave it to the upper layer to handle them.
35157
35158 2008-08-09 Christian Franke <franke@computer.org>
35159
35160 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35161 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35162 Install `grub.d/10_windows' only on Cygwin.
35163 * configure.ac: Add subst of `target_os'.
35164 Check `target_os' also before setting TARGET_OBJ2ELF.
35165 Add `--enable-grub-pe2elf'.
35166
35167 2008-08-08 Robert Millan <rmh@aybabtu.com>
35168
35169 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35170 (grub_last_time): Change type to grub_uint64_t.
35171 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35172 (grub_disk_close): Likewise.
35173
35174 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35175 (run_menu): Migrate code from to using grub_get_time_ms().
35176
35177 * util/misc.c (grub_get_time_ms): New function.
35178
35179 2008-08-08 Marco Gerards <marco@gnu.org>
35180
35181 * disk/ata.c (grub_ata_regget): Change return type to
35182 `grub_uint8_t'.
35183 (grub_ata_regget2): Likewise.
35184 (grub_ata_wait_status): New function.
35185 (grub_ata_wait_busy): Removed function, updated all users to use
35186 `grub_ata_wait_status'.
35187 (grub_ata_wait_drq): Likewise.
35188 (grub_ata_cmd): New function.
35189 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35190 error handling.
35191 (grub_ata_pio_write): Add error handling.
35192 (grub_atapi_identify): Likewise.
35193 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35194 handling.
35195 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35196 handling. Actually use the detected registers. Reorder the
35197 detection logic such that it is easier to read.
35198 (grub_ata_pciinit): Do not assign the same ID to each controller.
35199 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35200 handling.
35201 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35202
35203 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35204
35205 2008-08-08 Marco Gerards <marco@gnu.org>
35206
35207 * NEWS: Update.
35208
35209 2008-08-07 Bean <bean123ch@gmail.com>
35210
35211 * include/grub/x86_64/pci.h: New file.
35212
35213 2008-08-07 Christian Franke <franke@computer.org>
35214
35215 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35216 (TIMER2_GATE): Likewise.
35217 (grub_pit_wait): Add enable/disable of the timer2 gate
35218 bit of port 0x61. This fixes a possible infinite loop.
35219
35220 2008-08-07 Bean <bean123ch@gmail.com>
35221
35222 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35223 kern/i386/tsc.c and kern/i386/pit.c.
35224
35225 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35226 x86_64 platform.
35227
35228 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35229 <grub/i386/tsc.h>.
35230
35231 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35232
35233 2008-08-07 Bean <bean123ch@gmail.com>
35234
35235 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35236
35237 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35238
35239 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35240 multiple inclusion. Add #include <grub/types.h>.
35241
35242 2008-08-06 Christian Franke <franke@computer.org>
35243
35244 * conf/common.rmk: Build and install `10_windows'.
35245 * util/grub.d/10_windows.in: New script.
35246
35247 2008-08-06 Pavel Roskin <proski@gnu.org>
35248
35249 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35250
35251 2008-08-06 Robert Millan <rmh@aybabtu.com>
35252
35253 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35254 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35255
35256 2008-08-06 Bean <bean123ch@gmail.com>
35257
35258 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35259 (grub_pxefs_fs_int): Remove dummy definition.
35260 (grub_pxefs_open): Use data->block_size to store the current block
35261 size setting.
35262 (grub_pxefs_read): Use block size stored in data->block_size. As the
35263 value of grub_pxe_blksize can be changed after the file is opened.
35264
35265 2008-08-06 Bean <bean123ch@gmail.com>
35266
35267 * fs/i386/pc/pxe.c (curr_file): new variable.
35268 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35269 require the dummy internal file system anymore.
35270 (grub_pxefs_read): Removed.
35271 (grub_pxefs_close): Likewise.
35272 (grub_pxefs_fs_int): Likewise.
35273 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35274 connection when we switch file.
35275 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35276
35277 2008-08-06 Robert Millan <rmh@aybabtu.com>
35278
35279 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35280 `halt.mod'.
35281 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35282 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35283
35284 * kern/i386/halt.c: New file.
35285 * kern/i386/reboot.c: Likewise.
35286 * include/grub/i386/reboot.h: Likewise.
35287 * include/grub/i386/halt.h: Likewise.
35288
35289 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35290 Include `<grub/cpu/halt.h>'.
35291 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35292 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35293
35294 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35295 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35296 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35297 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35298 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35299 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35300 from here ...
35301 * include/grub/i386/at_keyboard.h: ... to here.
35302
35303 2008-08-05 Robert Millan <rmh@aybabtu.com>
35304
35305 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35306 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35307 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35308 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35309 `kern/generic/millisleep.c'.
35310
35311 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35312 instead of grub_get_rtc().
35313 (grub_tsc_init): Initialize `tsc_boot_time'.
35314
35315 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35316 (grub_machine_init): Use grub_tsc_init() rather than
35317 installing an RTC-based handler via grub_install_get_time_ms().
35318
35319 * kern/i386/pit.c: New file.
35320 * include/grub/i386/pit.h: Likewise.
35321
35322 2008-08-05 Bean <bean123ch@gmail.com>
35323
35324 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35325
35326 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35327 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35328 (pxe_mod_SOURCES): New macro.
35329 (pxe_mod_CFLAGS): Likewise.
35330 (pxe_mod_LDFLAGS): Likewise.
35331 (pxecmd_mod_SOURCES): Likewise.
35332 (pxecmd_mod_CFLAGS): Likewise.
35333 (pxecmd_mod_LDFLAGS): Likewise.
35334
35335 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35336 (grub_pxe_call): Likewise.
35337
35338 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35339
35340 * commands/i386/pc/pxecmd.c: New file.
35341
35342 * fs/i386/pc/pxe.c: Likewise.
35343
35344 * include/grub/i386/pc/pxe.h: Likewise.
35345
35346 2008-08-05 Bean <bean123ch@gmail.com>
35347
35348 * util/console.c (grub_console_cur_color): New variable.
35349 (grub_console_standard_color): Likewise.
35350 (grub_console_normal_color): Likewise.
35351 (grub_console_highlight_color): Likewise.
35352 (color_map): Likewise.
35353 (use_color): Likewise.
35354 (NUM_COLORS): New macro.
35355 (grub_ncurses_setcolorstate): Handle color properly.
35356 (grub_ncurses_setcolor): Don't change color here, just remember the
35357 settings, color will be set in grub_ncurses_setcolorstate.
35358 (grub_ncurses_getcolor): New function.
35359 (grub_ncurses_init): Initialize color pairs.
35360 (grub_ncurses_term): New member grub_ncurses_getcolor.
35361
35362 2008-08-05 Colin D Bennett <colin@gibibit.com>
35363
35364 High resolution timer support. Implemented for x86 CPUs using TSC.
35365 Extracted generic grub_millisleep() so it's linked in only as needed.
35366 This requires a Pentium compatible CPU; if the RDTSC instruction is
35367 not supported, then it falls back on the generic grub_get_time_ms()
35368 implementation that uses the machine's RTC.
35369
35370 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35371 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35372 `kern/generic/millisleep.c'.
35373
35374 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35375 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35376
35377 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35378 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35379
35380 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35381
35382 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35383 `kern/generic/millisleep.c'.
35384
35385 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35386
35387 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35388
35389 * kern/generic/rtc_get_time_ms.c: New file.
35390
35391 * kern/generic/millisleep.c: New file.
35392
35393 * kern/misc.c: Don't include
35394 <kern/time.h> anymore.
35395 (grub_millisleep_generic): Removed.
35396
35397 * commands/sleep.c (grub_interruptible_millisleep): Uses
35398 grub_get_time_ms() instead of grub_get_rtc().
35399
35400 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35401 function.
35402 (grub_cpu_is_cpuid_supported): New inline function.
35403 (grub_cpu_is_tsc_supported): New inline function.
35404 (grub_tsc_init): New function prototype.
35405 (grub_tsc_get_time_ms): New function prototype.
35406
35407 * kern/i386/tsc.c (grub_get_time_ms): New file.
35408
35409 * include/grub/time.h: Include <grub/types.h.
35410 (grub_millisleep_generic): Removed.
35411 (grub_get_time_ms): New prototype.
35412 (grub_install_get_time_ms): New prototype.
35413 (grub_rtc_get_time_ms): New prototype.
35414
35415 * kern/time.c (grub_get_time_ms): New function.
35416 (grub_install_get_time_ms): New function.
35417
35418 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35419 <grub/time.h> anymore.
35420 (grub_millisleep): Removed.
35421 (grub_machine_init): Call grub_tsc_init.
35422
35423 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35424 get_time_ms() implementation.
35425
35426 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35427 (ieee1275_get_time_ms): New function.
35428 (grub_machine_init): Install get_time_ms() implementation.
35429
35430 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35431 (grub_machine_init): Call grub_tsc_init().
35432 (grub_millisleep): Removed.
35433
35434 * kern/ieee1275/init.c (grub_millisleep): Removed.
35435 (grub_machine_init): Install ieee1275_get_time_ms()
35436 implementation.
35437 (ieee1275_get_time_ms): New function.
35438 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35439 real work.
35440
35441 2008-08-05 Marco Gerards <marco@gnu.org>
35442
35443 * disk/ata.c: Include <grub/pci.h>.
35444 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35445 (grub_ata_initialize): Rewritten.
35446 (grub_ata_device_initialize): New function.
35447
35448 2008-08-04 Pavel Roskin <proski@gnu.org>
35449
35450 * kern/main.c: Include grub/mm.h.
35451
35452 2008-08-04 Robert Millan <rmh@aybabtu.com>
35453
35454 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35455 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35456 corruption problem).
35457
35458 2008-08-04 Robert Millan <rmh@aybabtu.com>
35459
35460 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35461 warnings introduced in my last commit.
35462
35463 2008-08-03 Robert Millan <rmh@aybabtu.com>
35464
35465 Make PCI available on all i386 architectures.
35466
35467 * include/grub/i386/pc/pci.h: Move from here ...
35468 * include/grub/i386/pci.h: ... to here.
35469
35470 * include/grub/i386/pc/pci.h: Remove.
35471 * include/grub/i386/efi/pci.h: Remove.
35472 * include/grub/x86_64/efi/pci.h: Remove.
35473
35474 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35475 `<grub/cpu/pci.h>'.
35476
35477 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35478 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35479 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35480
35481 * conf/i386-ieee1275.rmk: Likewise.
35482
35483 2008-08-03 Robert Millan <rmh@aybabtu.com>
35484
35485 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35486 (grub_console_setcursor): Make it possible to set cursor off.
35487
35488 2008-08-03 Robert Millan <rmh@aybabtu.com>
35489
35490 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35491 of modules instead of assuming which platform provides what.
35492 * util/update-grub.in: Likewise.
35493
35494 2008-08-03 Robert Millan <rmh@aybabtu.com>
35495
35496 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35497 instead of `grub_install_dos_part' to determine whether a drive needs
35498 to be prepended to prefix (`grub_install_dos_part' is not reliable,
35499 because it can be overridden when loading GRUB via Multiboot).
35500
35501 2008-08-02 Robert Millan <rmh@aybabtu.com>
35502
35503 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35504
35505 2008-08-02 Robert Millan <rmh@aybabtu.com>
35506
35507 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35508 of informational grub_dprintf() calls.
35509
35510 2008-08-02 Robert Millan <rmh@aybabtu.com>
35511
35512 * disk/memdisk.c (memdisk_size): Don't initialize.
35513 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35514
35515 * include/grub/i386/pc/kernel.h
35516 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35517 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35518 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35519 (grub_arch_memdisk_size): Remove.
35520
35521 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35522 field (was only used to transfer a constant). Add `type' field to
35523 support multiple module types.
35524 (grub_module_iterate): New function.
35525
35526 * kern/device.c (grub_device_open): Do not hide error messages
35527 when grub_disk_open() fails. Use grub_print_error() instead.
35528
35529 * kern/i386/pc/init.c (grub_arch_modules_addr)
35530 (grub_arch_memdisk_size): Remove functions.
35531 (grub_arch_modules_addr): Return the module address in high memory
35532 (now that it isn't copied anymore).
35533
35534 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35535 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35536 decompression routine (grub_total_module_size already includes that
35537 now). Don't copy modules back to low memory.
35538
35539 * kern/main.c: Include `<grub/mm.h>'.
35540 (grub_load_modules): Split out (and use) ...
35541 (grub_module_iterate): ... this function, which iterates through
35542 module objects and runs a hook.
35543 Comment out grub_mm_init_region() call, as it would cause non-ELF
35544 modules to be overwritten.
35545
35546 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35547 the memdisk image in its own region, make it part of the module list.
35548 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35549 (main): Parse --memdisk|-m option, and pass user-provided path as
35550 parameter to generate_image().
35551 (add_segments): Pass `memdisk_path' down to load_modules().
35552 (load_modules): Embed memdisk image in module section when requested.
35553 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35554 `header.type' instead of `header.offset'.
35555
35556 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35557 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35558 (memdisk_mod_LDFLAGS): New variables.
35559 * conf/i386-coreboot.rmk: Likewise.
35560 * conf/i386-ieee1275.rmk: Likewise.
35561
35562 2008-08-02 Robert Millan <rmh@aybabtu.com>
35563
35564 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35565 (backward_relocator): New variables. Used to allocate and relocate
35566 the payload, respectively.
35567 (grub_multiboot_load_elf32): Load into heap instead of requested
35568 address, install the appropriate relocator code in each bound of
35569 the payload, and set the entry point such that
35570 grub_multiboot_real_boot() will jump to one of them.
35571
35572 * kern/i386/loader.S (grub_multiboot_payload_size)
35573 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35574 (grub_multiboot_payload_entry_offset): New variables.
35575 (grub_multiboot_real_boot): Set cpu context to what the relocator
35576 expects, and jump to the relocator instead of the payload.
35577
35578 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35579 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35580 (grub_multiboot_payload_entry_offset): Export.
35581
35582 2008-08-01 Bean <bean123ch@gmail.com>
35583
35584 * normal/menu_entry.c (editor_getline): Don't return the original
35585 string as result, as it will be released by lexer once it has done
35586 using it.
35587
35588 2008-08-01 Robert Millan <rmh@aybabtu.com>
35589
35590 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35591 within menuentries, not before them.
35592 util/grub.d/10_hurd.in: Likewise.
35593
35594 2008-08-01 Bean <bean123ch@gmail.com>
35595
35596 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35597 (bufio_mod_SOURCES): New macro.
35598 (bufio_mod_CFLAGS): Likewise.
35599 (bufio_mod_LDFLAGS): Likewise.
35600
35601 * include/grub/bufio.h: New file.
35602
35603 * io/bufio.c: Likewise.
35604
35605 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35606 (grub_video_reader_png): Use grub_buffile_open to open file.
35607
35608 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35609 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35610
35611 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35612 (grub_video_reader_tga): Use grub_buffile_open to open file.
35613
35614 * font/manager.c: Include <grub/bufio.h>.
35615 (add_font): Use grub_buffile_open to open file.
35616
35617 2008-07-31 Robert Millan <rmh@aybabtu.com>
35618
35619 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35620 ELF segments, use a macro for arbitrarily accessing any of them instead
35621 of preparing a pointer that allows access to one at a time.
35622 (grub_multiboot_load_elf64): Likewise.
35623
35624 2008-07-31 Bean <bean123ch@gmail.com>
35625
35626 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35627 GRUB_KERNEL_MACHINE_DATA_END.
35628
35629 2008-07-30 Robert Millan <rmh@aybabtu.com>
35630
35631 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35632 Increase from 0x50 to 0x60.
35633 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35634 use UUIDs to identify the root drive for them. If that's not
35635 possible, abort.
35636 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35637 check, for cross-disk installs.
35638
35639 2008-07-30 Robert Millan <rmh@aybabtu.com>
35640
35641 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35642 is non-empty, use it to set the `prefix' environment variable instead
35643 of the usual approach.
35644 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35645 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35646 environment variable instead of dummy make_install_device().
35647
35648 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35649 (start): Insert a data section, with `grub_prefix' variable.
35650 * kern/i386/linuxbios/startup.S: Likewise.
35651
35652 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35653 New variable reference.
35654 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35655 New macro. Defines offset of `grub_prefix' within startup.S (relative
35656 to `start').
35657 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35658 section within startup.S (relative to `start').
35659 * include/grub/i386/coreboot/kernel.h: Likewise.
35660
35661 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35662 Overwrite grub_prefix with its contents, at the beginning of the
35663 first segment.
35664 (main): Understand -p|--prefix.
35665
35666 2008-07-30 Robert Millan <rmh@aybabtu.com>
35667
35668 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35669
35670 2008-07-30 Robert Millan <rmh@aybabtu.com>
35671
35672 * term/i386/pc/vga_text.c (grub_console_cls): Use
35673 grub_console_gotoxy() to go back to beginning of the screen.
35674 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35675
35676 2008-07-29 Christian Franke <franke@computer.org>
35677
35678 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35679 Add conversion of emulated mount points on Cygwin.
35680
35681 2008-07-29 Christian Franke <franke@computer.org>
35682
35683 * util/update-grub.in: Add a check for admin
35684 group on Cygwin.
35685 Remove old `grub.cfg.new' before creation.
35686 Add `-f' to `mv' to handle the different filesystem
35687 semantics of Windows.
35688
35689 2008-07-29 Bean <bean123ch@gmail.com>
35690
35691 * normal/main.c (get_line): Fix buffer overflow bug.
35692
35693 2008-07-28 Robert Millan <rmh@aybabtu.com>
35694
35695 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35696 (struct grub_apple_header): New struct. Describes the layout of
35697 the partmap header.
35698 (apple_partition_map_iterate): Check the header magic as well as the
35699 partition magic (which was already being checked).
35700
35701 2008-07-28 Pavel Roskin <proski@gnu.org>
35702
35703 * genmk.rb: Add a warning to the beginning of the output that
35704 it's a generated file and should not be edited.
35705
35706 2008-07-28 Robert Millan <rmh@aybabtu.com>
35707
35708 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35709 with the same number are found, just use issue a warning with
35710 grub_dprintf(), as this error has been reported to be non-fatal.
35711
35712 2008-07-27 Robert Millan <rmh@aybabtu.com>
35713
35714 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35715 information.
35716
35717 2008-07-27 Bean <bean123ch@gmail.com>
35718
35719 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35720 (grub_fat_find_dir): Ignore case when comparing filename.
35721
35722 2008-07-27 Bean <bean123ch@gmail.com>
35723
35724 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35725 smallino, as it's more descriptive, and i8count can be confused with
35726 the other field count.
35727 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35728 inode type.
35729
35730 2008-07-27 Bean <bean123ch@gmail.com>
35731
35732 * commands/crc.c: New file.
35733
35734 * lib/crc.c: Likewise.
35735
35736 * include/grub/lib/crc.h: Likewise.
35737
35738 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35739
35740 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35741 (hexdump): Move this function to ...
35742
35743 * lib/hexdump.c: ... here.
35744
35745 * include/grub/hexdump.h: Renamed to ...
35746
35747 * include/grub/lib/hexdump.h: ... this.
35748
35749 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35750
35751 * util/grub-editenv.c: Likewise.
35752
35753 * include/envblk.h: Renamed to ...
35754
35755 * include/lib/envblk.h: ... this.
35756
35757 * util/envblk.c: Renamed to ...
35758
35759 * lib/envblk.c: ... this.
35760
35761 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35762 lib/hexdump.c.
35763 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35764 (pkglib_MODULES): Add crc.mod.
35765 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35766 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35767 (crc_mod_SOURCES): New macro.
35768 (crc_mod_CFLAGS): Likewise.
35769 (crc_mod_LDFLAGS): Likewise.
35770
35771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35772
35773 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35774
35775 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35776
35777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35778
35779 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35780
35781 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35782
35783 * commands/help.c: Include <grub/term.h>.
35784 (TERM_WIDTH): Removed. Updated all users.
35785
35786 2008-07-27 Pavel Roskin <proski@gnu.org>
35787
35788 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35789 spurious warnings about a comment within a comment.
35790
35791 2008-07-25 Robert Millan <rmh@aybabtu.com>
35792
35793 * util/getroot.c (find_root_device): Skip devices that match
35794 /dev/dm-[0-9]. This lets the real device be found for any type of
35795 abstraction (LVM, EVMS, RAID..).
35796 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35797 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35798 device is found first, find_root_device() will now skip it.
35799
35800 2008-07-24 Pavel Roskin <proski@gnu.org>
35801
35802 * include/grub/types.h: Use __builtin_bswap32() and
35803 __builtin_bswap64() with gcc 4.3 and newer.
35804
35805 2008-07-24 Christian Franke <franke@computer.org>
35806
35807 * util/i386/pc/grub-install.in: If `--debug' is specified,
35808 pass `--verbose' to grub-setup.
35809 Abort script if make_system_path_relative_to_its_root() fails.
35810
35811 2008-07-24 Bean <bean123ch@gmail.com>
35812
35813 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35814 variable `target_platform' should be `platform'.
35815
35816 2008-07-24 Bean <bean123ch@gmail.com>
35817
35818 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35819 (grub_png_init_fixed_block): New function.
35820 (grub_png_decode_image_data): Handle fixed huffman code compression.
35821
35822 2008-07-24 Bean <bean123ch@gmail.com>
35823
35824 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35825 (grub_pe2elf_SOURCES): New macro.
35826 (CLEANFILES): Add grub-pe2elf.
35827
35828 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35829 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35830 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35831 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35832 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35833 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35834 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35835 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35836 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35837 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35838 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35839 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35840 (GRUB_PE32_DT_FUNCTION): Likewise.
35841 (GRUB_PE32_REL_I386_DIR32): Likewise.
35842 (GRUB_PE32_REL_I386_REL32): Likewise.
35843 (grub_pe32_symbol): New structure.
35844 (grub_pe32_reloc): Likewise.
35845
35846 * util/grub-pe2elf.c: New file.
35847
35848 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35849 start symbol in non pc platform.
35850
35851 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35852
35853 The following patches are from Christian Franke.
35854
35855 * include/grub/dl.h: Remove .previous, gas supports this only
35856 for ELF format.
35857
35858 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35859 Remove .type, gas supports this only for ELF format.
35860
35861 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35862 nullbytes in symbol table. This fixes an infinite loop if table is
35863 zero filled.
35864
35865 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35866 TARGET_IMG_LDFLAGS and EXEEXT.
35867
35868 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35869 TARGET_IMG_LDFLAGS_AC.
35870 (grub_CHECK_STACK_ARG_PROBE): New function.
35871
35872 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35873
35874 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35875
35876 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35877 to set TARGET_IMG_LD* accordingly.
35878 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35879 Add call to grub_CHECK_STACK_ARG_PROBE.
35880 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35881
35882 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35883
35884 * genmk.rb: Add EXEEXT to CLEANFILES.
35885
35886 2008-07-23 Robert Millan <rmh@aybabtu.com>
35887
35888 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35889 define the codes for arrows and lines used for the menu).
35890 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35891 as well.
35892
35893 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35894 fonts, because the latter are too slow.
35895
35896 2008-07-21 Bean <bean123ch@gmail.com>
35897
35898 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35899 a20. Run keyboard test last, as it will cause macbook to halt.
35900
35901 2008-07-18 Pavel Roskin <proski@gnu.org>
35902
35903 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35904 load foreign architecture modules correctly anyway. Keep
35905 support for loading host architecture modules, whether we
35906 compile them or not.
35907
35908 2008-07-17 Pavel Roskin <proski@gnu.org>
35909
35910 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35911 change target_cpu. The compiler default can mismatch target_cpu
35912 in any case.
35913
35914 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35915 * kern/efi/efi.c: Likewise.
35916
35917 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35918 target compiler is functional.
35919 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35920 are set up.
35921
35922 * configure.ac: Default to efi platform for x86_64-apple. Allow
35923 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35924 adjustments from the rest, only do them if target is not
35925 explicitly given. Merge other adjustments with the final sanity
35926 check. Remove an extraneous check for supported CPU. Be
35927 specific which CPU and which platform is not supported.
35928
35929 * configure.ac: Default to pc platform for x86_64.
35930
35931 2008-07-17 Robert Millan <rmh@aybabtu.com>
35932
35933 Partial LinuxBIOS -> Coreboot rename.
35934
35935 * conf/i386-linuxbios.rmk: Renamed to ...
35936 * conf/i386-coreboot.rmk: ... this.
35937 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35938 * configure.ac: Accept "coreboot" as input platform (but maintain
35939 compatibility with "linuxbios").
35940 * include/grub/i386/linuxbios: Renamed to ...
35941 * include/grub/i386/coreboot: ... this.
35942
35943 2008-07-17 Bean <bean123ch@gmail.com>
35944
35945 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35946 (appleldr_mod_SOURCE): New variable.
35947 (appleldr_mod_CFLAGS): Likewise.
35948 (appleldr_mod_LDFLAGS): Likewise.
35949 (pci_mod_SOURCES): Likewise.
35950 (pci_mod_CFLAGS): Likewise.
35951 (pci_mod_LDFLAGS): Likewise.
35952 (lspci_mod_SOURCES): Likewise.
35953 (lspci_mod_CFLAGS): Likewise.
35954 (lspci_mod_LDFLAGS): Likewise.
35955
35956 * conf/x86_64-efi.rmk: New file.
35957
35958 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35959 macro.
35960 (grub_efidisk_write): Likewise.
35961
35962 * include/efi/api.h (efi_call_0): New macro.
35963 (efi_call_1): Likewise.
35964 (efi_call_2): Likewise.
35965 (efi_call_3): Likewise.
35966 (efi_call_4): Likewise.
35967 (efi_call_5): Likewise.
35968 (efi_call_6): Likewise.
35969
35970 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35971 grub_rescue_cmd_chainloader.
35972
35973 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35974 (grub_pe32_optional_header): Change some fields based on i386 or
35975 x86_64 platform.
35976 (GRUB_PE32_PE32_MAGIC): Likewise.
35977
35978 * include/grub/efi/uga_draw.h: New file.
35979
35980 * include/grub/elf.h (STN_ABS): New constant.
35981 (R_X86_64_NONE): Relocation constant for x86_64.
35982 (R_X86_64_64): Likewise.
35983 (R_X86_64_PC32): Likewise.
35984 (R_X86_64_GOT32): Likewise.
35985 (R_X86_64_PLT32): Likewise.
35986 (R_X86_64_COPY): Likewise.
35987 (R_X86_64_GLOB_DAT): Likewise.
35988 (R_X86_64_JUMP_SLOT): Likewise.
35989 (R_X86_64_RELATIVE): Likewise.
35990 (R_X86_64_GOTPCREL): Likewise.
35991 (R_X86_64_32): Likewise.
35992 (R_X86_64_32S): Likewise.
35993 (R_X86_64_16): Likewise.
35994 (R_X86_64_PC16): Likewise.
35995 (R_X86_64_8): Likewise.
35996 (R_X86_64_PC8): Likewise.
35997
35998 * include/grub/i386/efi/pci.h: New file.
35999
36000 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36001 Change it value based on platform.
36002 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36003 (GRUB_E820_RAM): Likewise.
36004 (GRUB_E820_RESERVED): Likewise.
36005 (GRUB_E820_ACPI): Likewise.
36006 (GRUB_E820_NVS): Likewise.
36007 (GRUB_E820_EXEC_CODE): Likewise.
36008 (GRUB_E820_MAX_ENTRY): Likewise.
36009 (grub_e820_mmap): New structure.
36010 (linux_kernel_header): Change the efi field according to different
36011 kernel version, also field from linux_kernel_header.
36012
36013 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36014
36015 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36016 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36017 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36018 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36019 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36020 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36021 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36022 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36023 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36024 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36025
36026 * include/grub/x86_64/efi/kernel.h: New file.
36027
36028 * include/grub/x86_64/efi/loader.h: Likewise.
36029
36030 * include/grub/x86_64/efi/machine.h: Likewise.
36031
36032 * include/grub/x86_64/efi/pci.h: Likewise.
36033
36034 * include/grub/x86_64/efi/time.h: Likewise.
36035
36036 * include/grub/x86_64/linux.h: Likewise.
36037
36038 * include/grub/x86_64/setjmp.h: Likewise.
36039
36040 * include/grub/x86_64/time.h: Likewise.
36041
36042 * include/grub/x86_64/types.h: Likewise.
36043
36044 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36045 GRUB_TARGET_SIZEOF_VOID_P.
36046
36047 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36048 (grub_efi_locate_handle): Likewise.
36049 (grub_efi_open_protocol): Likewise.
36050 (grub_efi_set_text_mode): Likewise.
36051 (grub_efi_stall): Likewise.
36052 (grub_exit): Likewise.
36053 (grub_reboot): Likewise.
36054 (grub_halt): Likewise.
36055 (grub_efi_exit_boot_services): Likewise.
36056 (grub_get_rtc): Likewise.
36057
36058 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36059 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36060 (grub_efi_allocate_pages): Wrap efi calls.
36061 (grub_efi_free_pages): Wrap efi calls.
36062 (grub_efi_get_memory_map): Wrap efi calls.
36063
36064 * kern/x86_64/dl.c: New file.
36065
36066 * kern/x86_64/efi/callwrap.S: Likewise.
36067
36068 * kern/x86_64/efi/startup.S: Likewise.
36069
36070 * loader/efi/appleloader.c: Likewise.
36071
36072 * loader/efi/chainloader.c (cmdline): New variable.
36073 (grub_chainloader_unload): Wrap efi calls.
36074 (grub_chainloader_boot): Likewise.
36075 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36076 command line.
36077
36078 * loader/efi/chainloader_normal.c (chainloader_command):
36079 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36080 command line.
36081
36082 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36083 method.
36084 (grub_e820_add_region): New function.
36085 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36086 booting.
36087 (grub_find_video_card): New function.
36088 (grub_linux_setup_video): New function.
36089 (grub_rescue_cmd_linux): Probe for video information.
36090
36091 * normal/x86_64/setjmp.S: New file.
36092
36093 * term/efi/console.c (map_char): New function.
36094 (grub_console_putchar): Map unicode char.
36095 (grub_console_checkkey): Wrap efi calls.
36096 (grub_console_getkey): Likewise.
36097 (grub_console_getwh): Likewise.
36098 (grub_console_gotoxy): Likewise.
36099 (grub_console_cls): Likewise.
36100 (grub_console_setcolorstate): Likewise.
36101 (grub_console_setcursor): Likewise.
36102
36103 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36104
36105 2008-07-16 Pavel Roskin <proski@gnu.org>
36106
36107 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36108 format strings.
36109
36110 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36111 pointer, not an integer. This fixes a warning and prevents
36112 precision loss on 64-bit systems.
36113 (relocate_addresses): Remove unneeded cast.
36114
36115 2008-07-15 Pavel Roskin <proski@gnu.org>
36116
36117 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36118
36119 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36120
36121 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36122 Fix comparison between signed and unsigned.
36123
36124 * include/grub/i386/ieee1275/console.h: Declare
36125 grub_console_init() and grub_console_fini().
36126
36127 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36128 It's empty and unused.
36129
36130 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36131 beginning to avoid warnings with some compilers.
36132
36133 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36134 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36135
36136 2008-07-14 Pavel Roskin <proski@gnu.org>
36137
36138 * kern/env.c (grub_register_variable_hook): Don't copy empty
36139 string, it leaks memory. Pass "" to grub_env_set(), it should
36140 handle constant strings.
36141
36142 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36143 * commands/cmp.c (grub_cmd_cmp): Likewise.
36144 * kern/dl.c (grub_dl_flush_cache): Likewise.
36145 (grub_dl_load_core): Likewise.
36146 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36147 (grub_elf64_load_phdrs): Likewise.
36148
36149 2008-07-13 Pavel Roskin <proski@gnu.org>
36150
36151 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36152 between signed and unsigned.
36153 (LzmaEnc_Finish): Fix warning about an unused parameter.
36154
36155 2008-07-13 Bean <bean123ch@gmail.com>
36156
36157 * Makefile.in (enable_lzo): New rule.
36158
36159 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36160
36161 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36162
36163 * boot/i386/pc/lnxboot.S: #include <config.h>.
36164
36165 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
36166 its value according to the compression algorithm used, lzo or lzma.
36167
36168 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36169 compression algorithm according to configure macro.
36170
36171 * kern/i386/pc/startup.S (codestart): Likewise.
36172
36173 * kern/i386/pc/lzma_decode.S: New file.
36174
36175 * include/grub/lib/LzFind.h: Likewise.
36176
36177 * include/grub/lib/LzHash.h: Likewise.
36178
36179 * include/grub/lib/LzmaDec.h: Likewise.
36180
36181 * include/grub/lib/LzmaEnc.h: Likewise.
36182
36183 * include/grub/lib/LzmaTypes.h: Likewise.
36184
36185 * lib/LzFind.c: Likewise.
36186
36187 * lib/LzmaDec.c: Likewise.
36188
36189 * lib/LzmaEnc.c: Likewise.
36190
36191 2008-07-13 Bean <bean123ch@gmail.com>
36192
36193 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36194 (grub_ext4_extent_header): New structure.
36195 (grub_ext4_extent): Likewise.
36196 (grub_ext4_extent_idx): Likewise.
36197 (grub_ext4_find_leaf): New function.
36198 (grub_ext2_read_block): Handle extents.
36199
36200 2008-07-12 Robert Millan <rmh@aybabtu.com>
36201
36202 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36203
36204 2008-07-11 Robert Millan <rmh@aybabtu.com>
36205
36206 * util/grub.d/40_custom.in: New file. Example on how to add custom
36207 entries to /etc/grub.d.
36208 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36209 40_custom (implicitly, by merging all the grub.d rules).
36210
36211 2008-07-11 Pavel Roskin <proski@gnu.org>
36212
36213 * commands/read.c (grub_getline): Fix invalid memory access.
36214 Don't add newline to the variable value.
36215
36216 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36217 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36218 (serial_hw_get_port): Check validity of the port number.
36219 (grub_cmd_serial): Check return value of serial_hw_get_port().
36220
36221 2008-07-07 Pavel Roskin <proski@gnu.org>
36222
36223 * boot/i386/pc/diskboot.S (notification_string): Replace
36224 "Loading kernel" with just "loading". This is shorter, less
36225 confusing and saves a few bytes for possible future changes.
36226
36227 2008-07-05 Pavel Roskin <proski@gnu.org>
36228
36229 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36230 size for ATAPI devices, they are undefined. Output sector
36231 number in decimal form.
36232
36233 * disk/ata.c: Use named constants for status bits.
36234
36235 2008-07-04 Pavel Roskin <proski@gnu.org>
36236
36237 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36238 grub_addr_t before casting it to the void pointer to fix a
36239 warning. Non-addressable regions are discarded earlier.
36240 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36241 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36242 (check_signature): Don't shadow table_header.
36243 (grub_linuxbios_table_iterate): Cast numeric constants to
36244 grub_linuxbios_table_header_t.
36245 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36246 grub_stop().
36247
36248 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36249 prevent warnings.
36250
36251 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36252 pointer, which can cause warnings. Support 64-bit addresses.
36253
36254 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36255 of sizeof(long). This fixes PowerPC image generation on x86_64.
36256
36257 2008-07-04 Robert Millan <rmh@aybabtu.com>
36258
36259 This fixes a performance issue when pc & gpt partmap iterators
36260 didn't abort iteration even after our hook found what it was
36261 looking for (often causing expensive probes of non-existent drives).
36262
36263 Some callers relied on previous buggy behaviour, since they would
36264 raise an error when their own hooks caused early abortion of its
36265 iteration.
36266
36267 * kern/device.c (grub_device_open): Improve error message.
36268 * disk/lvm.c (grub_lvm_open): Likewise.
36269 * disk/raid.c (grub_raid_open): Likewise.
36270
36271 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36272 when hook requests it, independently of grub_errno.
36273 (pc_partition_map_probe): Do not fail when find_func() caused
36274 early abortion of pc_partition_map_iterate().
36275
36276 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36277 when hook requests it, independently of grub_errno.
36278 (gpt_partition_map_probe): Do not fail when find_func() caused
36279 early abortion of gpt_partition_map_iterate().
36280
36281 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36282 when hook requests it, independently of grub_errno. Do not fail when
36283 part_map_iterate_hook() caused early abortion of p->iterate().
36284
36285 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36286 when grub_partition_iterate() returned with non-zero.
36287
36288 2008-07-03 Pavel Roskin <proski@gnu.org>
36289
36290 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36291 like we do in grub_ata_pio_read().
36292 (grub_ata_readwrite): Always write individual sectors. Fix the
36293 sector count for the remainder.
36294 (grub_ata_write): Enable writing to ATA devices. Correctly
36295 report error for ATAPI devices.
36296
36297 2008-07-02 Pavel Roskin <proski@gnu.org>
36298
36299 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36300 warning.
36301
36302 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36303 for every read sector, we already increment it for the whole
36304 batch. This fixes reading more than 256 sectors at once.
36305
36306 * util/grub-editenv.c (cmd_info): Cast argument to long
36307 explicitly. ptrdiff_t reduces to int on i386.
36308
36309 * util/grub-editenv.c (main): Be specific which parameter is
36310 missing.
36311
36312 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36313 (memdisk): Make memdisk_orig_addr a pointer.
36314
36315 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36316 for file offsets, use grub_off_t instead. Fix printf format
36317 warnings.
36318
36319 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36320 there. Real unexpected warnings should not drown in the noise
36321 about known problems.
36322
36323 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36324 grub_disk_addr_t for memory addresses.
36325
36326 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36327 explicitly to fix a warning.
36328
36329 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36330
36331 * Makefile.in (MODULE_LDFLAGS): New variable.
36332 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36333 the linker accepts --build-id=none.
36334 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36335 MODULE_LDFLAGS.
36336 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36337
36338 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36339 those in Linux XFS code. Provide a way to access 64-bit parent
36340 inode.
36341 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36342 the end of struct grub_xfs_dir_header.
36343
36344 2008-07-02 Bean <bean123ch@gmail.com>
36345
36346 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36347 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36348 and GRUB_IEEE1275_FLAG_NO_ANSI.
36349
36350 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36351 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36352 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36353
36354 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36355 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36356
36357 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36358 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36359
36360 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36361 esc sequence on non ANSI terminal.
36362 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36363
36364 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36365 beginning of file.
36366
36367 2008-07-02 Bean <bean123ch@gmail.com>
36368
36369 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36370 (grub_editenv_SOURCES): New variable.
36371 (pkglib_MODULES): Add loadenv.mod.
36372 (loadenv_mod_SOURCES): New variable.
36373 (loadenv_mod_CFLAGS): Likewise.
36374 (loadenv_mod_LDFLAGS): Likewise.
36375
36376 * include/grub/envblk.h: New file.
36377
36378 * util/envblk.c: New file.
36379
36380 * util/grub-editenv.c: New file.
36381
36382 * commands/loadenv.c: New file.
36383
36384 2008-07-01 Pavel Roskin <proski@gnu.org>
36385
36386 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36387 not unsigned char. This fixes warnings and is consistent with
36388 other tags.
36389
36390 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36391
36392 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36393
36394 * term/tparm.c (analyze): Always set *popcount.
36395
36396 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36397 cast to fix a warning.
36398
36399 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36400 cast to suppress a warning.
36401
36402 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36403 grub_fshelp_read_file() expects.
36404
36405 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36406 write uuid as a 32-bit value in CPU byte order, so declare and
36407 use it as such.
36408
36409 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36410 long if the format specifier expects it.
36411 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36412 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36413 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36414 long to fix a warning.
36415 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36416 grub_dprintf() arguments to fix warnings.
36417
36418 2008-06-30 Pavel Roskin <proski@gnu.org>
36419
36420 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36421 install_bsd_part immediately before core.img is embedded or
36422 modified on disk. This fixes core.img verification if core.img
36423 cannot be embedded.
36424
36425 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36426 core_path to calculate the blocklist.
36427 Patch from Javier Martín <lordhabbit@gmail.com>
36428
36429 2008-06-29 Robert Millan <rmh@aybabtu.com>
36430
36431 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36432 block to disk block.
36433 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36434 Patch from Niels Böhm <bitbucket@arcor.de>
36435
36436 2008-06-29 Robert Millan <rmh@aybabtu.com>
36437
36438 * util/update-grub_lib.in (font_path): Search for fonts in
36439 /boot/grub first, which is more likely to be readable (we aren't
36440 deciding where fonts live, just looking for them).
36441
36442 2008-06-26 Pavel Roskin <proski@gnu.org>
36443
36444 * util/biosdisk.c (read_device_map): Don't leave dead map
36445 entries for devices failing stat() check.
36446
36447 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36448 core_path_dev for the core.img path on the target device.
36449
36450 2008-06-26 Robert Millan <rmh@aybabtu.com>
36451
36452 * disk/fs_uuid.c: New file.
36453 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36454 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36455 (fs_uuid_mod_LDFLAGS): New variables.
36456 * include/grub/disk.h (grub_disk_dev_id): Add
36457 `GRUB_DISK_DEVICE_UUID_ID'.
36458 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36459 implement iterate().
36460
36461 2008-06-26 Robert Millan <rmh@aybabtu.com>
36462
36463 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36464 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36465 Linux image includes no initrd.
36466
36467 2008-06-21 Javier Martín <lordhabbit@gmail.com>
36468
36469 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36470 call to resolve the core image location that effectively appended the
36471 name twice.
36472
36473 2008-06-21 Robert Millan <rmh@aybabtu.com>
36474
36475 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36476 call from here ...
36477
36478 * util/grub.d/10_hurd.in: ... to here ...
36479 * util/grub.d/10_linux.in: ... and here.
36480
36481 2008-06-19 Robert Millan <rmh@aybabtu.com>
36482
36483 * kern/main.c (grub_main): Export `prefix' variable immediately
36484 after it has been set by grub_machine_set_prefix().
36485
36486 2008-06-19 Robert Millan <rmh@aybabtu.com>
36487
36488 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36489 search result when not saving to variable, not the other way around.
36490 When saving to variable, abort iteration as soon as a match is found.
36491
36492 2008-06-19 Robert Millan <rmh@aybabtu.com>
36493
36494 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36495 check for partition that provides /boot/grub. Its logic is flawed,
36496 as it prevents prepare_grub_to_access_device() from being called
36497 multiple times.
36498
36499 2008-06-19 Robert Millan <rmh@aybabtu.com>
36500
36501 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36502 "insmod" command directly when abstraction modules are needed,
36503 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
36504 since it had already been processed).
36505
36506 2008-06-19 Pavel Roskin <proski@gnu.org>
36507
36508 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36509 changed. This is needed in case GRUB_LIBDIR changes.
36510 * conf/i386-ieee1275.rmk: Likewise.
36511 * conf/i386-linuxbios.rmk: Likewise.
36512 * conf/i386-pc.rmk: Likewise.
36513 * conf/powerpc-ieee1275.rmk: Likewise.
36514
36515 2008-06-18 Pavel Roskin <proski@gnu.org>
36516
36517 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36518 kernel_elf_symlist.c to symlist.c for consistency with other
36519 architectures. Update all users.
36520 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36521
36522 2008-06-18 Robert Millan <rmh@aybabtu.com>
36523
36524 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36525 it in prefix.
36526
36527 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36528 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36529 a RAID device, run setup() for all members independently on whether
36530 LVM abstraction is being used.
36531 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36532 If grub-mkimage has set `*install_dos_part == -2', don't override this
36533 value.
36534 Perform *install_dos_part adjustments independently on whether
36535 we're embedding or not.
36536 Clarify error message when image is too big for embedding.
36537 Remove duplicate *install_dos_part stanza.
36538
36539 2008-06-17 Robert Millan <rmh@aybabtu.com>
36540
36541 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36542 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36543 variables.
36544 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36545 values in grub_ofconsole_normal_color and
36546 grub_ofconsole_highlight_color (they're not directly related to
36547 background and foreground).
36548 (grub_ofconsole_setcolorstate): Extract background and foreground
36549 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36550
36551 2008-06-17 Robert Millan <rmh@aybabtu.com>
36552
36553 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36554 /boot/grub for the check in last commit, not /boot (they could be
36555 different partitions).
36556
36557 2008-06-16 Robert Millan <rmh@aybabtu.com>
36558
36559 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36560 asked to setup access for the same partition that provides /boot,
36561 don't bother using UUIDs since our root already has the value we
36562 want.
36563
36564 2008-06-16 Robert Millan <rmh@aybabtu.com>
36565
36566 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36567 I2O devices.
36568 Patch from Sven Mueller <sven@debian.org>.
36569
36570 2008-06-16 Robert Millan <rmh@aybabtu.com>
36571
36572 * util/update-grub.in: Check for $EUID instead of $UID.
36573 Reported by Vincent Zweije.
36574
36575 2008-06-16 Bean <bean123ch@gmail.com>
36576
36577 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
36578 (grub_ext2_read_block): Likewise.
36579 (grub_ext2_read_inode): Likewise.
36580 (grub_ext2_mount): Likewise.
36581 (grub_ext2_close): Likewise.
36582 (grub_ext3_get_journal): Removed.
36583
36584 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
36585 (grub_reiserfs_read_symlink): Likewise.
36586 (grub_reiserfs_mount): Likewise.
36587 (grub_reiserfs_open): Likewise.
36588 (grub_reiserfs_read): Likewise.
36589 (grub_reiserfs_close): Likewise.
36590 (grub_reiserfs_get_journal): Removed.
36591
36592 * fs/fshelp.c (grub_fshelp_read): Removed.
36593 (grub_fshelp_map_block): Likewise.
36594
36595 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36596 (grub_fshelp_journal): Likewise.
36597 (grub_fshelp_read): Likewise.
36598 (grub_fshelp_map_block): Likewise.
36599
36600 2008-06-16 Pavel Roskin <proski@gnu.org>
36601
36602 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36603 floating point anymore.
36604 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36605
36606 2008-06-15 Pavel Roskin <proski@gnu.org>
36607
36608 * commands/ls.c (grub_ls_list_files): Use integer calculations
36609 for human readable format, avoid floating point use.
36610 * kern/misc.c (grub_ftoa): Remove.
36611 (grub_vsprintf): Remove floating point support.
36612
36613 2008-06-15 Robert Millan <rmh@aybabtu.com>
36614
36615 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
36616 devices.
36617 Reported by Max Vozeler.
36618
36619 2008-06-15 Robert Millan <rmh@aybabtu.com>
36620
36621 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36622 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36623 skipped later.
36624 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36625 the beginning of the prefix.
36626
36627 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36628 It is assumed that if we have a memdisk, grub-mkimage has set
36629 grub_prefix to include the "(memdisk)" drive in it.
36630
36631 2008-06-15 Robert Millan <rmh@aybabtu.com>
36632
36633 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36634 Initialize keyboard controller after registering the terminal, so that
36635 grub_printf() can be called from grub_keyboard_controller_init().
36636
36637 2008-06-15 Robert Millan <rmh@aybabtu.com>
36638
36639 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36640 extent-btree which is written as big endian on disk.
36641 Reported by Alain Greppin <al@chilibi.org>.
36642
36643 2008-06-14 Robert Millan <rmh@aybabtu.com>
36644
36645 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36646 * util/i386/pc/grub-install.in (modules): Likewise.
36647
36648 2008-06-13 Pavel Roskin <proski@gnu.org>
36649
36650 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36651
36652 2008-06-13 Bean <bean123ch@gmail.com>
36653
36654 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36655
36656 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36657
36658 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36659 to indicate sparse block.
36660
36661 2008-06-12 Pavel Roskin <proski@gnu.org>
36662
36663 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36664 number, grub_fshelp_read() does it for us.
36665
36666 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36667 linear disk read with journal translation.
36668 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36669 * include/grub/fshelp.h: Declare grub_fshelp_read().
36670
36671 2008-06-09 Pavel Roskin <proski@gnu.org>
36672
36673 * fs/minix.c (grub_minix_mount): Handle error reading
36674 superblock.
36675
36676 2008-06-08 Robert Millan <rmh@aybabtu.com>
36677
36678 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36679 don't append the RAID prefix afterwards.
36680 Reported by Clint Adams.
36681
36682 2008-06-08 Robert Millan <rmh@aybabtu.com>
36683
36684 Based on description from Pavel:
36685 * kern/disk.c (grub_disk_check_range): Rename to ...
36686 (grub_disk_adjust_range): ... this. Add a comment explaining the
36687 tasks performed by this function.
36688
36689 2008-06-08 Robert Millan <rmh@aybabtu.com>
36690
36691 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36692 `num_serial' (for consistency with other variables).
36693 (struct grub_ntfs_data): Add `uuid' member.
36694 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36695 (grub_ntfs_uuid): New function.
36696 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36697
36698 2008-06-07 Pavel Roskin <proski@gnu.org>
36699
36700 * util/biosdisk.c (open_device): Revert last change to the
36701 function, it broke installation. The sector needs to be
36702 different dependent on which device is opened.
36703
36704 2008-06-06 Robert Millan <rmh@aybabtu.com>
36705
36706 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36707 rest of GRUB, and breakage doesn't happen if its value were modified.
36708
36709 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36710 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36711 a constant (same value).
36712 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36713 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36714
36715 2008-06-06 Robert Millan <rmh@aybabtu.com>
36716
36717 * util/biosdisk.c (open_device): Do not modify sector offset when
36718 accessing a partition. kern/disk.c already handles this for us.
36719
36720 2008-06-06 Robert Millan <rmh@aybabtu.com>
36721
36722 * util/grub-emu.c (grub_machine_init): Move code in this function from
36723 here ...
36724 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36725 segfault in case grub_printf() is called).
36726
36727 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36728 grub_probe. Update all users not to explicitly add it again.
36729 (grub_device): New variable; contains corresponding device for grubdir.
36730 (fs_module, partmap_module, devabstraction_module): Pass
36731 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36732 every time.
36733
36734 2008-06-05 Robert Millan <rmh@aybabtu.com>
36735
36736 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36737 is found, print it (same layout as with labels).
36738
36739 2008-06-04 Robert Millan <rmh@aybabtu.com>
36740
36741 * util/biosdisk.c (get_drive): Rename to ...
36742 (find_grub_drive): ... this. Update all users.
36743
36744 (get_os_disk): Rename to ...
36745 (convert_system_partition_to_system_disk): ... this. Update all users.
36746
36747 (find_drive): Rename to ...
36748 (find_system_device): ... this. Update all users.
36749
36750 2008-06-04 Robert Millan <rmh@aybabtu.com>
36751
36752 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36753 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36754 (make_device_map): Likewise.
36755
36756 2008-06-01 Robert Millan <rmh@aybabtu.com>
36757
36758 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36759 before dereferencing it.
36760
36761 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36762 union with fat12/fat16-specific ones. Add some new fields, including
36763 `num_serial' for both versions.
36764 (struct grub_fat_data): Add `uuid' member.
36765 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36766 names. Initialize `data->uuid' using `num_serial'.
36767 (grub_fat_uuid): New function.
36768 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36769
36770 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36771 (grub_reiserfs_uuid): New function.
36772 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36773 member.
36774
36775 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36776 (grub_xfs_uuid): New function.
36777 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36778
36779 2008-06-01 Robert Millan <rmh@aybabtu.com>
36780
36781 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36782 code that is backward compatible with pre-uuid search command.
36783
36784 2008-05-31 Robert Millan <rmh@aybabtu.com>
36785
36786 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36787 floppies after everything else, to ensure floppy drive isn't accessed
36788 unnecessarily (patch from Bean).
36789
36790 2008-05-31 Robert Millan <rmh@aybabtu.com>
36791
36792 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36793 not print device names when we were asked to set a variable.
36794
36795 2008-05-31 Robert Millan <rmh@aybabtu.com>
36796
36797 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36798 using "cursor-on" and "cursor-off" commands (understood at least by
36799 the Open Firmware flavour on OLPC).
36800
36801 2008-05-31 Michael Gorven <michael@gorven.za.net>
36802
36803 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36804 on and off sequences.
36805
36806 2008-05-31 Robert Millan <rmh@aybabtu.com>
36807
36808 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36809 * util/update-grub.in: Likewise.
36810
36811 2008-05-30 Pavel Roskin <proski@gnu.org>
36812
36813 * util/biosdisk.c (linux_find_partition): Simplify logic and
36814 make the code more universal. Keep special processing for
36815 devfs, but use a simple rule for all other devices. If the
36816 device ends with a number, append 'p' and the partition number.
36817 Otherwise, append only the partition number.
36818
36819 2008-05-30 Robert Millan <rmh@aybabtu.com>
36820
36821 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36822 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36823 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36824 the `root' parameter to Linux.
36825
36826 2008-05-30 Robert Millan <rmh@aybabtu.com>
36827
36828 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36829 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36830 --fs_uuid with --fs-uuid.
36831 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36832 all filesystems support them).
36833
36834 2008-05-30 Robert Millan <rmh@aybabtu.com>
36835
36836 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36837 grub_printf() flags, since we're printing in units of 2 bytes.
36838
36839 2008-05-30 Robert Millan <rmh@aybabtu.com>
36840
36841 * util/grub.d/00_header.in: Remove obsolete comment referencing
36842 convert_system_path_to_grub_path().
36843 * util/update-grub.in: Likewise.
36844 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36845 (convert_system_path_to_grub_path): Add a warning message explaining
36846 that this function is deprecated. Rely on is_path_readable_by_grub()
36847 for the readability checks.
36848 (font_path): Use is_path_readable_by_grub() for the readability
36849 check rather than convert_system_path_to_grub_path().
36850
36851 2008-05-30 Robert Millan <rmh@aybabtu.com>
36852
36853 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36854 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36855 converting it first.
36856 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36857 grub.cfg for access to font file, and afterwards call it again to set
36858 the root device.
36859
36860 2008-05-30 Robert Millan <rmh@aybabtu.com>
36861
36862 * commands/search.c (options): Add --fs_uuid option.
36863 (search_fs_uuid): New function.
36864 (grub_cmd_search): Fix --set argument passing.
36865 Use search_fs_uuid() when requested via --fs_uuid.
36866 (grub_search_init): Update help message.
36867 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36868 and redeclare it as an array of 16-bit words.
36869 (grub_ext2_uuid): New function.
36870 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36871 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36872 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36873 (GRUB_DEVICE_BOOT_UUID): New variables.
36874 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36875 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36876 whenever possible.
36877 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36878 just assume `root' variable has the right value.
36879 * util/grub.d/10_linux.in: Likewise.
36880 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36881 via PRINT_FS_UUID.
36882 (main): Recognise `-t fs_uuid' argument.
36883
36884 2008-05-30 Robert Millan <rmh@aybabtu.com>
36885
36886 * util/biosdisk.c (map): Redefine structure to hold information
36887 about GRUB drive name.
36888 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36889 drive names.
36890 (call_hook): Remove.
36891 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36892 member. Assume drive has partitions.
36893 (grub_util_biosdisk_open): Access device names via `.device' struct
36894 member.
36895 (open_device): Likewise.
36896 (find_drive): Likewise.
36897 (read_device_map): Adjust map[] usage to match the new struct
36898 definition. Don't check for duplicates (still possible, but not cheap
36899 anymore).
36900 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36901 (make_device_name): Remove assumption of BIOS-like drive names.
36902
36903 2008-05-30 Pavel Roskin <proski@gnu.org>
36904
36905 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36906 compiling execute.c doesn't need grub_script.tab.h anymore.
36907 (normal/command.c_DEPENDENCIES): Likewise.
36908 (normal/function.c_DEPENDENCIES): Likewise.
36909 * conf/i386-ieee1275.rmk: Likewise.
36910 * conf/i386-linuxbios.rmk: Likewise.
36911 * conf/i386-pc.rmk: Likewise.
36912 * conf/powerpc-ieee1275.rmk: Likewise.
36913 * conf/sparc64-ieee1275.rmk: Likewise.
36914
36915 2008-05-29 Pavel Roskin <proski@gnu.org>
36916
36917 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36918 when scanning metadata for volume group name.
36919
36920 * include/grub/script.h: Don't include grub_script.tab.h. It's
36921 a generated file, which may only be included from the files with
36922 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36923 use union YYSTYPE, as the later allows forward declaration.
36924 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36925
36926 2008-05-29 Robert Millan <rmh@aybabtu.com>
36927
36928 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36929 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36930 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36931 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36932 scan codes.
36933
36934 2008-05-29 Robert Millan <rmh@aybabtu.com>
36935
36936 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36937 control key combinations.
36938
36939 2008-05-29 Robert Millan <rmh@aybabtu.com>
36940
36941 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36942 * util/ieee1275/grub-install.in: ... to here.
36943 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36944 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36945 (grub_install_SOURCES): Likewise.
36946
36947 2008-05-29 Robert Millan <rmh@aybabtu.com>
36948
36949 * fs/affs.c: Update copyright year.
36950 * fs/ext2.c: Likewise.
36951 * fs/fshelp.c: Likewise.
36952 * fs/hfsplus.c: Likewise.
36953 * fs/ntfs.c: Likewise.
36954 * fs/xfs.c: Likewise.
36955 * include/grub/fshelp.h: Likewise.
36956 * util/grub-mkdevicemap.c: Likewise.
36957
36958 2008-05-28 Robert Millan <rmh@aybabtu.com>
36959
36960 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36961 might need to be fatfs to support some firmware implementations
36962 (e.g. OFW or EFI).
36963
36964 2008-05-28 Robert Millan <rmh@aybabtu.com>
36965
36966 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36967 devices.
36968 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36969 (make_device_map): Likewise.
36970
36971 2008-05-20 Bean <bean123ch@gmail.com>
36972
36973 * fs/fshelp.c (grub_fshelp_map_block): New function.
36974 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36975 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36976
36977 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36978 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36979 (grub_fshelp_journal): New structure.
36980 (grub_fshelp_map_block): New function prototype.
36981 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36982 (grub_fshelp_map_block): Likewise.
36983
36984 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36985 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36986 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36987 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36988 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36989 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36990 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36991 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36992 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36993 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36994 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36995 (grub_ext2_sblock): New members for journal support.
36996 (grub_ext3_journal_header): New structure.
36997 (grub_ext3_journal_revoke_header): Likewise.
36998 (grub_ext3_journal_block_tag): Likewise.
36999 (grub_ext3_journal_sblock): Likewise.
37000 (grub_fshelp_node): New members logfile and journal.
37001 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37002 grub_fshelp_map_block to get real block number.
37003 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37004 number.
37005 (grub_ext2_read_inode): Likewise.
37006 (grub_ext3_get_journal): New function.
37007 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37008 (grub_ext2_close): Release memory used by journal.
37009
37010 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37011 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37012 (grub_reiserfs_transaction_header): Renamed to
37013 grub_reiserfs_description_block, replace field data with real_blocks.
37014 (grub_reiserfs_commit_block): New structure.
37015 (grub_reiserfs_data): New member journal.
37016 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37017 number.
37018 (grub_reiserfs_read_symlink): Likewise.
37019 (grub_reiserfs_iterate_dir): Likewise.
37020 (grub_reiserfs_open): Likewise.
37021 (grub_reiserfs_read): Likewise.
37022 (grub_reiserfs_get_journal): New function.
37023 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37024 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37025 using grub_reiserfs_get_journal.
37026 (grub_reiserfs_close): Release memory used by journal.
37027
37028 * fs/affs.c (grub_affs_read_block): Change block type to
37029 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37030
37031 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37032
37033 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37034
37035 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37036
37037 * fs/udf.c (grub_udf_read_block): Change block type to
37038 grub_disk_addr_t. Use type cast to avoid warning.
37039
37040 * fs/xfs.c (grub_xfs_read_block): Likewise.
37041
37042 2008-05-16 Christian Franke <franke@computer.org>
37043
37044 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37045 to ensure that break with ESC will always work.
37046 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37047 Remove ESC from keyboard queue.
37048
37049 2008-05-16 Christian Franke <franke@computer.org>
37050
37051 * util/biosdisk.c: [__CYGWIN__] Add includes.
37052 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37053 (get_os_disk): Move variable declarations to OS specific
37054 parts to avoid warning.
37055 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37056 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37057 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37058 Cygwin.
37059 * util/getroot.c: [__CYGWIN__] Add includes.
37060 (strip_extra_slashes): Fix "/" case.
37061 [__CYGWIN__] (get_win32_path): New function.
37062 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37063 [__CYGWIN__] (find_root_device): Disable.
37064 [__CYGWIN__] (get_bootsec_serial): New function.
37065 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37066 [__linux__] (grub_guess_root_device): Add early returns to simplify
37067 structure.
37068 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37069 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37070 check for Linux only.
37071
37072 2008-05-15 Bean <bean123ch@gmail.com>
37073
37074 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37075 keyboard hang problem in apple's intel mac.
37076
37077 2008-05-09 Robert Millan <rmh@aybabtu.com>
37078
37079 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37080 devices.
37081 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37082 (make_device_map): Likewise.
37083 Reported by Aurelien Jarno <aurel32@debian.org>
37084
37085 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
37086
37087 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37088 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37089 (make_device_map): Output entries for xvd type disks.
37090
37091 2008-05-07 Robert Millan <rmh@aybabtu.com>
37092
37093 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37094 devices.
37095 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37096 (make_device_map): Likewise.
37097 Reported by Roland Dreier <rdreier@cisco.com>
37098
37099 2008-05-07 Robert Millan <rmh@aybabtu.com>
37100
37101 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37102 grub_strstr() call. Correct a few mistakes in failure path handling.
37103
37104 2008-05-06 Robert Millan <rmh@aybabtu.com>
37105
37106 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37107 Do not print a trailing slash (therefore, the root directory is an
37108 empty string).
37109 (convert_system_path_to_grub_path): Do not remove trailing slash
37110 from make_system_path_relative_to_its_root() output.
37111
37112 * util/i386/pc/grub-install.in: Add trailing slash to output from
37113 make_system_path_relative_to_its_root().
37114
37115 2008-05-06 Robert Millan <rmh@aybabtu.com>
37116
37117 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37118 ensures that output lines aren't intermangled with those sent to
37119 stderr (via grub_util_info()).
37120 * util/grub-probe.c (grub_refresh): Likewise.
37121 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37122
37123 2008-05-05 Christian Franke <franke@computer.org>
37124
37125 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37126 Add Cygwin device names.
37127 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37128 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37129 (check_device): Return error instead of success on empty name.
37130 (make_device_map): Move label inside linux specific code to
37131 prevent compiler warning.
37132
37133 2008-04-30 Robert Millan <rmh@aybabtu.com>
37134
37135 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37136 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37137 first boot option.
37138 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37139
37140 2008-04-29 Robert Millan <rmh@aybabtu.com>
37141
37142 * docs/grub.cfg: New file (example GRUB configuration).
37143
37144 2008-04-26 Robert Millan <rmh@aybabtu.com>
37145
37146 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37147 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37148 and `disk/ieee1275/nand.c'.
37149
37150 2008-04-25 Bean <bean123ch@gmail.com>
37151
37152 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37153 i386-linuxbios.
37154
37155 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37156 change the buffer size to 4096 for cdrom device.
37157
37158 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37159 and nand.mod.
37160 (_linux_mod_SOURCES): New variable.
37161 (_linux_mod_CFLAGS): Likewise.
37162 (_linux_mod_LDFLAGS): Likewise.
37163 (linux_mod_SOURCES): Likewise.
37164 (linux_mod_CFLAGS): Likewise.
37165 (linux_mod_LDFLAGS): Likewise.
37166 (nand_mod_SOURCES): Likewise.
37167 (nand_mod_CFLAGS): Likewise.
37168 (nand_mod_LDFLAGS): Likewise.
37169
37170 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37171 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37172 type property. (nand device in olpc don't have this property)
37173
37174 * include/grub/disk.h (grub_disk_dev_id): New macro
37175 GRUB_DISK_DEVICE_NAND_ID.
37176
37177 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37178 function prototype.
37179 (grub_rescue_cmd_initrd): Likewise.
37180
37181 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37182 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37183 ofw_cif_handler and ofw_idt, adjust padding number.
37184
37185 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37186 GRUB_MACHINE_IEEE1275 is defined.
37187
37188 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37189 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37190
37191 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37192 on nested function heap_init.
37193 (grub_upper_mem): New variable for i386-ieee1275.
37194 (grub_get_extended_memory): New function for i386-ieee1275.
37195 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37196
37197 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37198 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37199 property.
37200
37201 * loader/i386/ieee1275/linux.c: New file.
37202
37203 * loader/i386/ieee1275/linux_normal.c: New file.
37204
37205 * disk/ieee1275/nand.c: New file.
37206
37207 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37208
37209 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37210 value.
37211 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37212
37213 2008-04-18 Robert Millan <rmh@aybabtu.com>
37214
37215 Restructures early code path on ieee1275 to unify grub_main() as
37216 the first C function that is executed in every platform.
37217
37218 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37219 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37220 cmain().
37221 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37222 * kern/ieee1275/cmain.c (cmain): Rename to ...
37223 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37224 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37225 at the beginning.
37226
37227 2008-04-18 Robert Millan <rmh@aybabtu.com>
37228
37229 * util/update-grub.in: Fix syntax error when setting
37230 `GRUB_PRELOAD_MODULES'.
37231 Reported by Stephane Chazelas <stephane@artesyncp.com>
37232
37233 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37234
37235 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37236 section into account, newer toolchains generate unique build ids
37237 * configure.ac: remove the test for --build-id=none acceptance,
37238 we want build ids to be preserved
37239 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37240 far from other sections don't cause the raw binary images grow
37241 size
37242
37243 2008-04-15 Robert Millan <rmh@aybabtu.com>
37244
37245 * disk/lvm.c: Update copyright year.
37246 * kern/misc.c: Likewise.
37247
37248 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37249
37250 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
37251 there is no memory left for physical volume name.
37252
37253 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37254
37255 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37256 volume name mapping to support bigger than 9 character names properly.
37257
37258 2008-04-13 Robert Millan <rmh@aybabtu.com>
37259
37260 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37261 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37262
37263 2008-04-13 Christian Franke <franke@computer.org>
37264
37265 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37266 to create a floppy emulation boot CD when non emulation mode
37267 does not work.
37268 Enable Joliet CD filesystem extension.
37269
37270 2008-04-13 Robert Millan <rmh@aybabtu.com>
37271
37272 * kern/misc.c (grub_strncat): Fix off-by-one error.
37273 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37274
37275 * kern/env.c (grub_env_context_close): Clear current context, not
37276 previous one.
37277 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37278
37279 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37280
37281 2008-04-13 Robert Millan <rmh@aybabtu.com>
37282
37283 Improve robustness when handling LVM.
37284
37285 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
37286 (and leave `*p' unmodified).
37287 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37288 through it.
37289 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37290 iterating through it.
37291 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37292 through it.
37293 (grub_lvm_scan_device): Check the return value (and fail gracefully
37294 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37295 Don't assume `vg->pvs != NULL' when iterating through it.
37296
37297 2008-04-13 Robert Millan <rmh@aybabtu.com>
37298
37299 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37300 * genmk.rb (partmap): New variable.
37301 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37302 (#{partmap}): New target rule.
37303 * genpartmaplist.sh: New file.
37304 * Makefile.in (pkglib_DATA): Add partmap.lst.
37305 (partmap.lst): New target rule.
37306 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37307 modules (including all partition maps), instead of preloading them.
37308
37309 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37310
37311 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37312 `linux-boot-prober' (if installed) to detect other operating
37313 systems which are installed on the computer and add them to
37314 the boot menu.
37315 * conf/common.rmk: Build and install 30_os-prober.
37316
37317 2008-04-12 Robert Millan <rmh@aybabtu.com>
37318
37319 * kern/powerpc/ieee1275/init.c: Move from here ...
37320 * kern/ieee1275/init.c: ... to here. Update all users.
37321
37322 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37323 * kern/ieee1275/cmain.c: ... to here. Update all users.
37324
37325 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37326 * kern/ieee1275/openfw.c: ... to here. Update all users.
37327
37328 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37329 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37330
37331 2008-04-10 Pavel Roskin <proski@gnu.org>
37332
37333 * configure.ac: Always use "_cv_" in cache variables for
37334 compatibility with Autoconf 2.62.
37335
37336 2008-04-07 Robert Millan <rmh@aybabtu.com>
37337
37338 Revert grub/machine/init.h addition by Pavel (since it breaks on
37339 i386-ieee1275 and others):
37340 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37341 * util/powerpc/ieee1275/misc.c: Likewise.
37342
37343 2008-04-07 Robert Millan <rmh@aybabtu.com>
37344
37345 * util/grub-probe.c (probe): Improve error message.
37346
37347 2008-04-07 Robert Millan <rmh@aybabtu.com>
37348
37349 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37350 (this prevents the presence of a bogus entry from ruining the whole
37351 thing).
37352
37353 2008-04-06 Pavel Roskin <proski@gnu.org>
37354
37355 * util/biosdisk.c: Include grub/util/biosdisk.h.
37356 * util/grub-fstest.c (execute_command): Make static.
37357 * util/grub-mkdevicemap.c (check_device): Likewise.
37358 * util/i386/pc/misc.c: Include grub/machine/init.h.
37359 * util/powerpc/ieee1275/misc.c: Likewise.
37360 * util/lvm.c: Include grub/util/lvm.h.
37361 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37362 grub/cache.h.
37363 * util/raid.c: Include grub/util/raid.h.
37364 (grub_util_getdiskname): Make static.
37365
37366 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37367 grub_hostfs_fini(), as they are called from grub_init_all() and
37368 grub_fini_all() respectively. This fixes an infinite loop in
37369 grub-fstest due to double registration of hostfs.
37370 Reported by Christian Franke <Christian.Franke@t-online.de>
37371
37372 2008-04-05 Pavel Roskin <proski@gnu.org>
37373
37374 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37375 all 8 functions. Otherwise, probe function 0 only.
37376
37377 2008-04-04 Pavel Roskin <proski@gnu.org>
37378
37379 * commands/lspci.c (grub_lspci_iter): Print the bus number
37380 correctly.
37381
37382 * commands/lspci.c (grub_pci_classes): Fix typos.
37383 (grub_lspci_iter): Don't print func twice. Print vendor ID
37384 before device ID, as it's normally done.
37385
37386 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37387 Fix signedness warnings.
37388 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37389 Likewise.
37390 * util/ieee1275/get_disk_name.c: Include config.h so that
37391 _GNU_SOURCE is defined and getline() is declared. Mark an
37392 unused argument as such. Fix a signedness warning.
37393
37394 2008-04-02 Pavel Roskin <proski@gnu.org>
37395
37396 * genkernsyms.sh.in: Use more robust assignments for CC and
37397 srcdir. Quote srcdir.
37398 * gensymlist.sh.in: Likewise. Assert at the compile time that
37399 the symbol table is not empty.
37400
37401 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37402 * fs/cpio.c (grub_cpio_read): Likewise.
37403
37404 2008-04-01 Pavel Roskin <proski@gnu.org>
37405
37406 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37407 * disk/host.c (grub_host_open): Likewise.
37408 * disk/loopback.c (grub_loopback_open): Likewise.
37409 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37410 disk->id as in disk/host.c, not a multi-character constant.
37411
37412 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37413 later is obsolete, potentially dangerous and sets a bad example.
37414 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37415 * util/misc.c (grub_util_get_image_size): Likewise.
37416
37417 * disk/loopback.c (options): Improve help for "--partitions".
37418
37419 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37420 options to align them with the short options, e.g. "echo -e".
37421
37422 2008-03-31 Bean <bean123ch@gmail.com>
37423
37424 * video/reader/png.c (grub_png_data): New member is_16bit and
37425 image_data.
37426 (grub_png_decode_image_header): Detect 16 bit png image.
37427 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37428 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37429 (grub_video_reader_png): Release memory occupied by image_data.
37430
37431 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37432 4096 bytes.
37433 (grub_nfs_mount): Skip the test for sector per cluster.
37434
37435 * include/grub/ntfs.h (MAX_SPC): Removed.
37436
37437 2008-03-31 Bean <bean123ch@gmail.com>
37438
37439 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37440 (grub_probe_SOURCES): Add fs/afs.c.
37441 (grub_fstest_SOURCES): Likewise.
37442 (afs_mod_SOURCES): New variable.
37443 (afs_mod_CFLAGS): Likewise.
37444 (afs_mod_LDFLAGS): Likewise.
37445
37446 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37447 (grub_emu_SOURCES): Likewise.
37448
37449 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37450
37451 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37452
37453 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37454
37455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37456
37457 * fs/afs.c: New file.
37458
37459 2008-03-30 Pavel Roskin <proski@gnu.org>
37460
37461 * disk/host.c: Include grub/misc.h to fix a warning.
37462 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37463 warnings about implicit declarations.
37464
37465 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37466 variable.
37467 * include/grub/i386/loader.h: Change declaration of
37468 grub_linux_boot() to match what grub_loader_set() expects.
37469 * util/getroot.c (grub_guess_root_device): Return const char* to
37470 fix a warning.
37471 * util/grub-probe.c (probe): Fix a warning about uninitialized
37472 abstraction_name variable.
37473 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37474 second argument as unused to fix a warning.
37475
37476 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37477 missing grub_error() call.
37478
37479 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37480 2.60 and newer uses it to define datadir.
37481
37482 * commands/sleep.c: Fix warning about implicit declaration.
37483 * disk/memdisk.c: Likewise.
37484 * loader/aout.c: Likewise.
37485 * loader/i386/bsd_normal.c: Likewise.
37486 * util/grub-probe.c: Likewise.
37487
37488 * commands/i386/cpuid.c (has_longmode): Make static.
37489 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37490 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37491
37492 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37493 GDT. This is more robust, as %ds can change.
37494 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37495 calling real_to_prot().
37496 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37497
37498 2008-03-28 Pavel Roskin <proski@gnu.org>
37499
37500 * kern/i386/pc/startup.S: Assert that uncompressed functions
37501 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37502 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37503 code, as they push parts of the code (error handlers) beyond
37504 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37505 code as correctness and size.
37506
37507 2008-03-28 Pavel Roskin <proski@gnu.org>
37508
37509 * kern/i386/pc/startup.S
37510 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37511 data block address to the real mode, keep offset minimal. This
37512 works around a bug in AWARD BIOS on old Athlon systems, which
37513 makes CD detection hang.
37514
37515 2008-03-26 Pavel Roskin <proski@gnu.org>
37516
37517 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37518 const.
37519 * include/grub/normal.h: Add grub_parse_color_name_pair()
37520 declaration.
37521
37522 2008-03-24 Bean <bean123ch@gmail.com>
37523
37524 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37525 (cd_count): Removed.
37526 (cd_drive): New variable.
37527 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37528 (grub_biosdisk_call_hook): Likewise.
37529 (grub_biosdisk_iterate): Change cdrom detection method.
37530 (grub_biosdisk_open): Replace cd_start with cd_drive.
37531 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37532 detect cdrom device.
37533
37534 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37535 Removed.
37536 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37537 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37538 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37539 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37540 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37541 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37542 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37543 (grub_biosdisk_cdrp): New structure.
37544 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37545
37546 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37547
37548 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37549 device.
37550
37551 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37552 New function.
37553
37554 2008-03-20 Robert Millan <rmh@aybabtu.com>
37555
37556 Remove 2 TiB limit in ata.mod.
37557 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37558 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37559 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37560 grub_uint64_t instead of grub_uint32_t.
37561
37562 2008-03-05 Bean <bean123ch@gmail.com>
37563
37564 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37565 (grub_multiboot): Set boot device.
37566
37567 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37568
37569 2008-03-02 Bean <bean123ch@gmail.com>
37570
37571 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37572 symlink_buffer.
37573
37574 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37575
37576 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37577 texinfo.tex.
37578
37579 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37580 modified.
37581
37582 * docs/fdl.texi: New file.
37583
37584 * docs/mdate-sh: New file. Copied from gnulib.
37585 * docs/texinfo.tex: Likewise.
37586
37587 * config.guess: Updated from gnulib.
37588 * install-sh: Likewise.
37589
37590 2008-02-28 Robert Millan <rmh@aybabtu.com>
37591
37592 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37593 (aout_mod_SOURCES): New variable.
37594 (aout_mod_CFLAGS): Likewise.
37595 (aout_mod_LDFLAGS): Likewise.
37596
37597 * conf/i386-ieee1275.rmk: Likewise.
37598
37599 2008-02-28 Robert Millan <rmh@aybabtu.com>
37600
37601 * util/update-grub.in: Reorganise terminal validity check. Accept
37602 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37603 Based on suggestion by Franklin PIAT.
37604
37605 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37606
37607 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37608 function.
37609 * util/getroot.c (grub_util_check_block_device): New function that
37610 returns the given argument if it is a block device and returns NULL else.
37611 * util/grub-probe.c (argument_is_device): New variable.
37612 (probe): Promote device_name from a variable to an argument. Receive
37613 device_name from grub_util_check_block_device() if path is NULL and from
37614 grub_guess_root_device() else. Do not free() device_name anymore.
37615 (options): Introduce new parameter '-d, --device'.
37616 (main): Add description of the new parameter to the help screen.
37617 Rename path variable to argument. Set argument_is_device if the '-d'
37618 option is given. Pass argument to probe() depending on
37619 argument_is_device.
37620
37621 2008-02-24 Bean <bean123ch@gmail.com>
37622
37623 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37624 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37625 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37626 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37627 (GRUB_ISO9660_VOLDESC_END): Likewise.
37628 (grub_iso9660_primary_voldesc): New member escape.
37629 (grub_iso9660_data): New member joliet.
37630 (grub_iso9660_convert_string): New function.
37631 (grub_iso9660_mount): Detect joliet extension.
37632 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37633 (grub_iso9660_iso9660_label): Likewise.
37634
37635 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37636 (grub_setup_SOURCES): Add fs/udf.c.
37637 (grub_fstest_SOURCES): Likewise.
37638 (udf_mod_SOURCES): New variable.
37639 (udf_mod_CFLAGS): Likewise.
37640 (udf_mod_LDFLAGS): Likewise.
37641
37642 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37643 (grub_emu_SOURCES): Likewise.
37644
37645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37646
37647 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37648
37649 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37650
37651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37652
37653 * fs/udf.c: New file.
37654
37655 2008-02-24 Robert Millan <rmh@aybabtu.com>
37656
37657 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37658 (normal/lexer.c_DEPENDENCIES): New variables.
37659 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37660 (normal/lexer.c_DEPENDENCIES): Likewise.
37661 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37662 (normal/lexer.c_DEPENDENCIES): Likewise.
37663 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37664 (normal/lexer.c_DEPENDENCIES): Likewise.
37665 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37666 (normal/lexer.c_DEPENDENCIES): Likewise.
37667 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37668 (normal/lexer.c_DEPENDENCIES): Likewise.
37669
37670 2008-02-23 Robert Millan <rmh@aybabtu.com>
37671
37672 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37673 since they were intended to be in hex. This didn't break previously
37674 because of a bug in gpt_partition_map_iterate() (see below).
37675
37676 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37677 when checking the validity of GPT header.
37678 Remove `partno', since it always provides the same information as `i'.
37679
37680 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37681
37682 * include/grub/efi/time.h: Fix a wrong comment.
37683
37684 2008-02-19 Pavel Roskin <proski@gnu.org>
37685
37686 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37687 message.
37688
37689 2008-02-19 Bean <bean123ch@gmail.com>
37690
37691 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37692 (aout_mod_SOURCES): New variable.
37693 (aout_mod_CFLAGS): Likewise.
37694 (aout_mod_LDFLAGS): Likewise.
37695 (_bsd_mod_SOURCES): New variable.
37696 (_bsd_mod_CFLAGS): Likewise.
37697 (_bsd_mod_LDFLAGS): Likewise.
37698 (bsd_mod_SOURCES): New variable.
37699 (bsd_mod_CFLAGS): Likewise.
37700 (bsd_mod_LDFLAGS): Likewise.
37701
37702 * include/grub/aout.h: New file.
37703
37704 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37705
37706 * include/grub/i386/bsd.h: New file.
37707
37708 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37709 to make it public.
37710
37711 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37712 function is called, so that it's possible to change it inside the hook.
37713 (grub_elf64_load): Likewise.
37714 (grub_elf_file): Don't close the file if elf header is not found.
37715 (grub_elf_close): Close the file if grub_elf_file fails (The new
37716 grub_elf_file won't close it).
37717 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37718 (grub_elf64_size): Likewise.
37719
37720 * kern/i386/loader.S (grub_unix_real_boot): New function.
37721
37722 * loader/aout.c: New file.
37723
37724 * loader/i386/bsd.c: New file.
37725
37726 * loader/i386/bsd_normal.c: New file.
37727
37728 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37729
37730 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37731 can test other formats.
37732
37733 2008-02-19 Robert Millan <rmh@aybabtu.com>
37734
37735 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37736 (grub_gpt_partition_type_empty): Redefine with macro from
37737 `<grub/gpt_partition.h>'.
37738 (gpt_partition_map_iterate): Adjust partition type comparison.
37739
37740 Export `entry' as partmap-specific `part.data' struct.
37741 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37742
37743 * include/grub/gpt_partition.h (grub_gpt_header)
37744 (grub_gpt_partentry): ... to here (new file).
37745
37746 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37747
37748 (grub_gpt_partition_type_bios_boot): New const variable, defined
37749 with macro from `<grub/gpt_partition.h>'.
37750
37751 (setup): Replace `first_start' with `embed_region', which keeps
37752 track of the embed region (and is partmap-agnostic).
37753
37754 Replace find_first_partition_start() with find_usable_region(),
37755 which finds a usable region for embedding using partmap-specific
37756 knowledge (supports PC/MSDOS and GPT).
37757
37758 Fix all assumptions that the embed region start at sector 1, using
37759 `embed_region.start' from now on. Similarly, use `embed_region.end'
37760 rather than `first_start' to calculate available size.
37761
37762 In grub_util_info() message, replace "into after the MBR" with an
37763 indication of the specific sector our embed region starts at.
37764
37765 2008-02-19 Robert Millan <rmh@aybabtu.com>
37766
37767 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37768 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37769 `commands/reboot.c'.
37770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37771 (halt_mod_SOURCES): Likewise.
37772 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37773 (halt_mod_SOURCES): Likewise.
37774
37775 2008-02-17 Christian Franke <franke@computer.org>
37776
37777 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37778
37779 2008-02-17 Robert Millan <rmh@aybabtu.com>
37780
37781 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37782 set `first_start' to 0 for non-PC/MSDOS partition maps.
37783
37784 2008-02-16 Robert Millan <rmh@aybabtu.com>
37785
37786 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37787 do not assume partition map is PC/MSDOS before performing checks that
37788 are specific to that layout.
37789
37790 2008-02-13 Robert Millan <rmh@aybabtu.com>
37791
37792 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37793 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37794 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37795
37796 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37797
37798 * configure.ac: Only a cosmetic change on the handling of
37799 -fno-stack-protector.
37800
37801 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37802
37803 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37804 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37805 reboot.c.
37806 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37807 (halt_mod_SOURCES): New variable.
37808 (halt_mod_CFLAGS): Likewise.
37809 (halt_mod_LDFLAGS): Likewise.
37810 (reboot_mod_SOURCES): Likewise.
37811 (reboot_mod_CFLAGS): Likewise.
37812 (reboot_mod_LDFLAGS): Likewise.
37813
37814 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37815 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37816 reboot.c.
37817 (halt_mod_SOURCES): Likewise.
37818 (reboot_mod_SOURCES): Likewise.
37819
37820 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37821 commands/i386/pc/reboot.c by commands/reboot.c.
37822 (reboot_mod_SOURCES): Likewise.
37823
37824 * commands/i386/pc/reboot.c: merge this file ...
37825
37826 * commands/ieee1275/reboot.c: ... and this file ...
37827
37828 * commands/reboot.c: ... to this file.
37829 Add some precompiler directive to include the correct header for
37830 each machine.
37831
37832 * commands/ieee1275/halt.c: move this file ...
37833
37834 * commands/halt.c: ... to here.
37835 Add some precompiler directive to include the correct header for
37836 each machine.
37837
37838 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37839 (grub_halt): Likewise.
37840
37841 * kern/efi/efi.c (grub_reboot): New function.
37842 (grub_halt): Likewise.
37843
37844 2008-02-12 Robert Millan <rmh@aybabtu.com>
37845
37846 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37847 /dev (like it is done for /dev/mapper). This doesn't provide support
37848 for EVMS, but at least it is now easy to identify the problem when it
37849 arises.
37850
37851 2008-02-11 Robert Millan <rmh@aybabtu.com>
37852
37853 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37854 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37855 comparing it with -1, not 0.
37856
37857 2008-02-10 Robert Millan <rmh@aybabtu.com>
37858
37859 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37860 `disk/lvm.c'.
37861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37862 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37863
37864 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37865 `disk/lvm.c' to the end of the list.
37866 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37867 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37868
37869 2008-02-10 Robert Millan <rmh@aybabtu.com>
37870
37871 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37872 grub_print_error() instead. This will let user know why we're entering
37873 rescue mode.
37874 Based on suggestions from Sam Morris.
37875
37876 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37877
37878 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37879 on remaining N args, instead of "--" arg N times.
37880
37881 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37882
37883 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37884 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37885 pattern for unknown glyphs.
37886
37887 2008-02-09 Robert Millan <rmh@aybabtu.com>
37888
37889 * configure.ac: Probe for `help2man'.
37890 * Makefile.in (builddir): New variable.
37891 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37892 or otherwise add a few flags/options to it.
37893 (install-local): For every executable utility or script that is
37894 installed, invoke $(HELP2MAN) to install a manpage based on --help
37895 output.
37896
37897 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37898 that it doesn't prevent --help from working in build tree.
37899
37900 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37901 with `bug-grub@gnu.org'.
37902 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37903 * util/update-grub.in (usage): New function.
37904 Implement proper argument check, with support for --help and --version
37905 (as well as existing -y).
37906
37907 2008-02-09 Christian Franke <franke@computer.org>
37908
37909 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37910 avoid overwriting previous output.
37911 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37912
37913 2008-02-09 Robert Millan <rmh@aybabtu.com>
37914
37915 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37916 drawing the menu.
37917
37918 2008-02-09 Robert Millan <rmh@aybabtu.com>
37919
37920 * commands/sleep.c: New file.
37921 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37922 (sleep_mod_SOURCES): New variable.
37923 (sleep_mod_CFLAGS): Likewise.
37924 (sleep_mod_LDFLAGS): Likewise.
37925
37926 2008-02-09 Robert Millan <rmh@aybabtu.com>
37927
37928 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37929 situations in which we can deduce the RAID size and the superblock
37930 doesn't match it.
37931
37932 2008-02-09 Robert Millan <rmh@aybabtu.com>
37933
37934 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37935 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37936 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37937
37938 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37939 and return a grub_diskmemberlist_t composed of physical array members.
37940 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37941
37942 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37943 prototype.
37944 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37945 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37946 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37947
37948 * util/grub-probe.c (probe): Move partmap probing code from here ...
37949 (probe_partmap): ... to here.
37950 (probe): Use probe_partmap() once for the disk we're probing, and
37951 additionally, when such disk contains a memberlist() struct member,
37952 once for each disk that is contained in the structure returned by
37953 memberlist().
37954
37955 2008-02-09 Robert Millan <rmh@aybabtu.com>
37956
37957 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37958 environment variable to 'all' in order to obtain debug output from
37959 non-util/ code.
37960 * util/i386/pc/grub-setup.c (main): Likewise.
37961
37962 2008-02-08 Robert Millan <rmh@aybabtu.com>
37963
37964 * disk/raid.c (grub_raid_scan_device): Check for
37965 `array->device[sb.this_disk.number]' rather than for
37966 `array->device[sb.this_disk.number]->name', since the latter is not
37967 guaranteed to be accessible.
37968
37969 2008-02-08 Robert Millan <rmh@aybabtu.com>
37970
37971 * disk/raid.c: Update copyright.
37972 * fs/cpio.c: Likewise.
37973 * include/grub/raid.h: Likewise.
37974 * loader/i386/pc/multiboot.c: Likewise.
37975 * util/hostfs.c: Likewise.
37976
37977 2008-02-08 Robert Millan <rmh@aybabtu.com>
37978
37979 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37980 to a grub_disk_t array.
37981 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37982 `device[x]'.
37983 (grub_raid_scan_device): Replace `device[x].name' accesses with
37984 `device[x]->name'. Simplify initialization of `array->device[x]'.
37985
37986 2008-02-08 Robert Millan <rmh@aybabtu.com>
37987
37988 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37989 grub_dprintf() calls.
37990 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37991 error message.
37992
37993 2008-02-07 Christian Franke <franke@computer.org>
37994
37995 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37996 instead of fseek and ftell to support large files.
37997 (grub_hostfs_read): Likewise.
37998
37999 2008-02-07 Robert Millan <rmh@aybabtu.com>
38000
38001 Patch from Jeroen Dekkers.
38002 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
38003 failure, since successfully reading all array members might not be
38004 required.
38005
38006 2008-02-06 Robert Millan <rmh@aybabtu.com>
38007
38008 * util/grub-probe.c (probe): Simplify partmap probing (with the
38009 assumption that the first word up to the underscore equals to
38010 the module name).
38011
38012 2008-02-06 Christian Franke <franke@computer.org>
38013
38014 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38015 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38016 last block of a cpio or tar stream.
38017 Check for "TRAILER!!!" instead of any empty data
38018 block to detect last block of a cpio stream.
38019 (grub_cpio_dir): Fix constness of variable np.
38020 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38021 cpio or tar trailer is detected. This fixes a crash
38022 on open of a non existing file.
38023
38024 2008-02-05 Bean <bean123ch@gmail.com>
38025
38026 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38027 address of entry.
38028 (grub_multiboot_load_elf64): Likewise.
38029 (grub_multiboot): Initialize mbi structure.
38030
38031 * util/grub-fstest.c: Don't include unused header file script.h.
38032
38033 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
38034 of file.
38035 (grub_fstest_SOURCES): Likewise.
38036
38037 2008-02-05 Robert Millan <rmh@aybabtu.com>
38038
38039 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38040 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38041 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38042 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38043
38044 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38045 (translation_table): Replace hardcoded values with macros
38046 provided by `<grub/term.h>'.
38047
38048 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38049 (keyboard_map): Correct/add a few values, with macros provided
38050 by `<grub/term.h>'.
38051 (keyboard_map_shift): Zero values that don't differ from their
38052 `keyboard_map' equivalents.
38053 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38054 Discard the second scan code that is always sent by Caps lock.
38055 Only use `keyboard_map_shift' when it provides a non-zero value,
38056 otherwise fallback to `keyboard_map'.
38057
38058 2008-02-04 Bean <bean123ch@gmail.com>
38059
38060 * Makefile.in (enable_grub_fstest): New variable.
38061
38062 * conf/common.rmk (grub_fstest_init.lst): New rule.
38063 (grub_fstest_init.h): Likewise.
38064 (grub_fstest_init.c): Likewise.
38065 (util/grub-fstest.c_DEPENDENCIES): New variable.
38066 (grub_fstest_SOURCES): Likewise.
38067
38068 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38069
38070 * util/grub-fstest.c: New file.
38071
38072 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38073
38074 Make grub-setup handle a separate root device.
38075
38076 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38077 so that the root device can be compared with the destination
38078 device.
38079 When embedding the core image, if the root and destination devices
38080 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38081 0xFF.
38082 When not embedding, set ROOT_DRIVE to 0xFF.
38083
38084 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38085
38086 Add support for having a grub directory in a different drive. This
38087 is still only the data handling part.
38088
38089 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38090 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38091 (grub_root_drive): New variable.
38092
38093 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38094 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38095 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38096 as it was.
38097
38098 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38099
38100 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38101 macro.
38102 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38103
38104 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38105 is bogus, because PXE booting does not specify any drive
38106 correctly.
38107
38108 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38109 am not sure if this is really correct.
38110
38111 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38112 is always identical to the boot drive when booting from a CD.
38113
38114 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38115 longer.
38116 (root_drive): New variable.
38117 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38118 (setup_sectors): Push %dx right after popping it, because %dh will
38119 be modified later.
38120 (copy_buffer): Restore %dx.
38121
38122 2008-02-03 Robert Millan <rmh@aybabtu.com>
38123
38124 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38125 use `cdboot.img' for cdrom images.
38126
38127 2008-02-03 Robert Millan <rmh@aybabtu.com>
38128
38129 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38130 only setup gfxterm when `font' command has succeeded.
38131
38132 2008-02-03 Robert Millan <rmh@aybabtu.com>
38133
38134 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38135 (grub_rescue_cmd_multiboot_loader)
38136 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38137
38138 2008-02-03 Pavel Roskin <proski@gnu.org>
38139
38140 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
38141 %edx and %esi from stack only after grub_gate_a20() is called.
38142 grub_gate_a20() clobbers %edx.
38143
38144 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38145
38146 * configure.ac (AC_INIT): Bumped to 1.96.
38147
38148 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38149 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38150 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38151 video/readers/png.c.
38152
38153 2008-02-03 Bean <bean123ch@gmail.com>
38154
38155 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38156 (cdboot_img_SOURCES): New variable.
38157 (cdboot_img_ASFLAGS): New variable.
38158 (cdboot_img_LDFLAGS): New variable.
38159
38160 * boot/i386/pc/cdboot.S: New file.
38161
38162 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38163 (cd_count): Likewise.
38164 (grub_biosdisk_get_drive): Add support for cd device.
38165 (grub_biosdisk_call_hook): Likewise.
38166 (grub_biosdisk_iterate): Likewise.
38167 (grub_biosdisk_open): Likewise.
38168 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38169 (grub_biosdisk_rw): Support reading from cd device.
38170 (GRUB_MOD_INIT): Iterate cd devices.
38171
38172 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38173 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38174 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38175
38176 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38177
38178 2008-02-02 Robert Millan <rmh@aybabtu.com>
38179
38180 * commands/read.c: New file.
38181 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38182 (read_mod_SOURCES): New variable.
38183 (read_mod_CFLAGS): Likewise.
38184 (read_mod_LDFLAGS): Likewise.
38185
38186 2008-02-02 Robert Millan <rmh@aybabtu.com>
38187
38188 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38189 determining whether menu has to be displayed.
38190
38191 2008-02-02 Marco Gerards <marco@gnu.org>
38192
38193 * bus/pci.c: New file.
38194
38195 * include/grub/pci.h: Likewise.
38196
38197 * include/grub/i386/pc/pci.h: Likewise.
38198
38199 * commands/lspci.c: Likewise.
38200
38201 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38202 `lspci.mod'.
38203 (pci_mod_SOURCES): New variable.
38204 (pci_mod_CFLAGS): Likewise.
38205 (pci_mod_LDFLAGS): Likewise.
38206 (lspci_mod_SOURCES): Likewise.
38207 (lspci_mod_CFLAGS): Likewise.
38208 (lspci_mod_LDFLAGS): Likewise.
38209
38210 2008-02-02 Bean <bean123ch@gmail.com>
38211
38212 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38213 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38214
38215 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38216 (grub_xfs_btree_node): New structure.
38217 (grub_xfs_btree_root): New structure.
38218 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38219 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38220 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38221 (GRUB_XFS_EXTENT_SIZE): Likewise.
38222 (grub_xfs_read_block): Support btree format type.
38223 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38224 Use directory block as basic unit.
38225
38226 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38227
38228 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38229 __attribute__ ((__regparm__ (1))).
38230
38231 2008-02-01 Robert Millan <rmh@aybabtu.com>
38232
38233 Correct a mistake in previous commit.
38234
38235 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38236 top.
38237 (normal/command.c_DEPENDENCIES): New variable.
38238
38239 2008-02-01 Robert Millan <rmh@aybabtu.com>
38240
38241 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38242 top.
38243 (normal/command.c_DEPENDENCIES): New variable.
38244 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38245 * conf/i386-ieee1275.rmk: Likewise.
38246 * conf/i386-linuxbios.rmk: Likewise.
38247 * conf/i386-pc.rmk: Likewise.
38248 * conf/sparc64-ieee1275.rmk: Likewise.
38249 * conf/powerpc-ieee1275.rmk: Likewise.
38250 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38251
38252 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38253
38254 2008-02-01 Robert Millan <rmh@aybabtu.com>
38255
38256 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38257 call at beginning of function.
38258
38259 2008-01-31 Pavel Roskin <proski@gnu.org>
38260
38261 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
38262 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38263 (grub_mkrescue_SOURCES): Likewise.
38264 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38265
38266 2008-01-30 Robert Millan <rmh@aybabtu.com>
38267
38268 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38269 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38270 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38271 (grub_probe_SOURCES): ... to here.
38272
38273 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38274 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38275 * conf/i386-ieee1275.rmk: Likewise.
38276 * conf/i386-linuxbios.rmk: Likewise.
38277 * conf/powerpc-ieee1275.rmk: Likewise.
38278
38279 2008-01-30 Tristan Gingold <gingold@free.fr>
38280
38281 * kern/rescue.c: Silently accept empty lines.
38282
38283 2008-01-29 Bean <bean123ch@gmail.com>
38284
38285 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38286 (real_code_2): Code cleanup and change comment style.
38287 (move_memory): Avoid using 32-bit address mode.
38288
38289 2008-01-29 Bean <bean123ch@gmail.com>
38290
38291 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38292 (png_mod_SOURCES): New variable.
38293 (png_mod_CFLAGS): Likewise.
38294 (png_mod_LDFLAGS): Likewise.
38295
38296 * video/readers/png.c: New file.
38297
38298 2008-01-28 Robert Millan <rmh@aybabtu.com>
38299
38300 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38301 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38302 `ifndef GRUB_MOD_GAP' hack.
38303 * util/elf/grub-mkimage.c (add_segments): Likewise.
38304
38305 2008-01-27 Robert Millan <rmh@aybabtu.com>
38306
38307 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38308 `GRUB_MOD_GAP' for platforms in which it's not defined.
38309 * util/elf/grub-mkimage.c (add_segments): Likewise.
38310
38311 2008-01-27 Robert Millan <rmh@aybabtu.com>
38312
38313 Get grub-emu to build again (including parallel builds).
38314
38315 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38316 Split into ...
38317 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38318 (normal/execute.c_DEPENDENCIES): ... this, ...
38319 (grub-emu_DEPENDENCIES): ... and this.
38320
38321 * conf/i386-efi.rmk: Likewise.
38322 * conf/i386-linuxbios.rmk: Likewise.
38323 * conf/i386-ieee1275.rmk: Likewise.
38324 * conf/powerpc-ieee1275.rmk: Likewise.
38325 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38326
38327 2008-01-27 Robert Millan <rmh@aybabtu.com>
38328
38329 * NEWS: Add a few items.
38330
38331 2008-01-27 Robert Millan <rmh@aybabtu.com>
38332
38333 Fix parallel builds with grub-emu. Based on earlier commit for
38334 grub-probe and grub-setup.
38335
38336 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38337 (util/grub-emu.c_DEPENDENCIES): ... this.
38338 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38339 (util/grub-emu.c_DEPENDENCIES): ... this.
38340 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38341 (util/grub-emu.c_DEPENDENCIES): ... this.
38342 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38343 (util/grub-emu.c_DEPENDENCIES): ... this.
38344 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38345 (util/grub-emu.c_DEPENDENCIES): ... this.
38346
38347 2008-01-27 Pavel Roskin <proski@gnu.org>
38348
38349 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38350 to create a gap between _end and the modules added to the image
38351 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38352 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38353 * util/elf/grub-mkimage.c (add_segments): Likewise.
38354
38355 2008-01-26 Pavel Roskin <proski@gnu.org>
38356
38357 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38358 just return an error.
38359
38360 2008-01-26 Bean <bean123ch@gmail.com>
38361
38362 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38363 (grub_reiserfs_get_item): Save offset of the next item.
38364 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38365
38366 2008-01-25 Robert Millan <rmh@aybabtu.com>
38367
38368 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38369 make all filesystem sources appear together (possibly fixing omissions
38370 while at it).
38371 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38373 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38375
38376 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38377 add `kern/file.c'.
38378 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38379 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38380 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38381 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38382
38383 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38384 (probe): Add a sanity check to make sure of our ability to read
38385 requested files when probing for filesystem type.
38386
38387 * genmk.rb: Update copyright year (2007).
38388
38389 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38390 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38391 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38392 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38393 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38394 : Remove function prototypes.
38395
38396 2008-01-25 Robert Millan <rmh@aybabtu.com>
38397
38398 Revert my previous commits (based on wrong assumption of how grub_errno
38399 works).
38400
38401 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
38402 * kern/file.c (grub_file_open): Likewise.
38403
38404 2008-01-24 Pavel Roskin <proski@gnu.org>
38405
38406 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38407 that hang if GRUB tries to setup colors.
38408 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38409 colors for firmwares that don't support it.
38410 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38411 Recognize Open Hack'Ware, set flags to work around its
38412 limitations.
38413
38414 2008-01-24 Robert Millan <rmh@aybabtu.com>
38415
38416 * kern/file.c (grub_file_open): Do not account previous failures of
38417 unrelated functions when grub_errno is checked for.
38418 Reported by Oleg Strikov.
38419
38420 2008-01-24 Bean <bean123ch@gmail.com>
38421
38422 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38423 (grub_ufs_sblock): New member volume name.
38424 (grub_ufs_find_file): Fix string copy bug.
38425 (grub_ufs_label): Implement this function properly.
38426
38427 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38428 (grub_hfs_iterate_records): Use the correct file number for extents
38429 and catalog file. Fix problem in next index calculation.
38430 (grub_hfs_find_node): Replace recursive function call with loop.
38431 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38432
38433 2008-01-23 Robert Millan <rmh@aybabtu.com>
38434
38435 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38436 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38437 (grub_multiboot2_real_boot): New function prototype.
38438
38439 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38440 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38441
38442 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38443 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38444
38445 2008-01-23 Robert Millan <rmh@aybabtu.com>
38446
38447 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38448 #ifdef'ed out grub_printf().
38449
38450 2008-01-23 Robert Millan <rmh@aybabtu.com>
38451
38452 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38453 grub_dprintf calls, since they make "debug=all" mode unusable.
38454 (grub_console_checkkey): Likewise.
38455
38456 2008-01-23 Robert Millan <rmh@aybabtu.com>
38457
38458 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38459 `term/i386/pc/at_keyboard.c'.
38460 (pkglib_MODULES): Add `serial.mod'.
38461 (serial_mod_SOURCES): New variable.
38462 (serial_mod_CFLAGS): Likewise.
38463 (serial_mod_LDFLAGS): Likewise.
38464
38465 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38466 `<grub/powerpc/ieee1275/console.h>'.
38467 (grub_keyboard_controller_init): New function prototype.
38468 (grub_console_checkkey): Likewise.
38469 (grub_console_getkey): Likewise.
38470
38471 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38472 keyboard on i386.
38473
38474 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38475 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38476
38477 2008-01-23 Robert Millan <rmh@aybabtu.com>
38478
38479 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38480 present, "(memdisk)/boot/grub" becomes the default prefix.
38481
38482 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38483 a memdisk tarball with all the modules. Add --overlay=DIR option that
38484 allows users to overlay additional files into the image.
38485
38486 2008-01-23 Robert Millan <rmh@aybabtu.com>
38487
38488 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38489 and `machine/memory.h'.
38490 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38491 (_multiboot_mod_SOURCES): New variable.
38492 (_multiboot_mod_CFLAGS): Likewise.
38493 (_multiboot_mod_LDFLAGS): Likewise.
38494 (multiboot_mod_SOURCES): Likewise.
38495 (multiboot_mod_CFLAGS): Likewise.
38496 (multiboot_mod_LDFLAGS): Likewise.
38497
38498 * include/grub/i386/ieee1275/loader.h: New file.
38499
38500 * include/grub/i386/ieee1275/machine.h: Likewise.
38501
38502 * include/grub/i386/ieee1275/memory.h: Likewise.
38503
38504 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38505 variable declaration.
38506 (grub_os_area_size): Likewise.
38507
38508 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38509 (grub_lower_mem, grub_upper_mem): New variables.
38510 (grub_stop_floppy): New function (just to make
38511 grub_multiboot2_real_boot() happy).
38512
38513 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38514 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38515 (grub_stop): New function.
38516 Include `"../realmode.S"' and `"../loader.S"'.
38517
38518 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38519 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38520
38521 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38522 rely on grub_multiboot2_real_boot() for final boot.
38523
38524 2008-01-22 Robert Millan <rmh@aybabtu.com>
38525
38526 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38527 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38528 device that doesn't look like an SD card.
38529 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38530 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38531 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38532 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38533 found.
38534
38535 2008-01-22 Robert Millan <rmh@aybabtu.com>
38536
38537 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38538 avoid claiming over our own code.
38539
38540 2008-01-22 Bean <bean123ch@gmail.com>
38541
38542 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38543 (jpeg_mod_SOURCES): New variable.
38544 (jpeg_mod_CFLAGS): Likewise.
38545 (jpeg_mod_LDFLAGS): Likewise.
38546
38547 * video/readers/jpeg.c : New file.
38548
38549 2008-01-22 Bean <bean123ch@gmail.com>
38550
38551 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38552 there are no more items.
38553
38554 2008-01-21 Robert Millan <rmh@aybabtu.com>
38555
38556 * kern/mm.c (grub_mm_init_region): Improve debug message.
38557
38558 2008-01-21 Robert Millan <rmh@aybabtu.com>
38559
38560 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38561 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38562 address.
38563 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38564 a C macro.
38565 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38566 Indicates start of upper memory.
38567 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38568 (generate_image): Abort when image size is big enough to corrupt
38569 upper memory.
38570
38571 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38572 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38573 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38574 instead of hardcoding 0xA0000.
38575 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38576 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38577 instead of hardcoding 0xA0000.
38578
38579 2008-01-21 Robert Millan <rmh@aybabtu.com>
38580
38581 * disk/memdisk.c (memdisk_size): New variable.
38582 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38583 `memdisk_size'.
38584 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38585 image to dynamic memory.
38586 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38587 `memdisk_size'. Free memdisk block.
38588
38589 2008-01-21 Robert Millan <rmh@aybabtu.com>
38590
38591 Fix detection of very small filesystems (like tar).
38592
38593 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38594 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38595 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38596 a problem with this disk).
38597
38598 2008-01-21 Robert Millan <rmh@aybabtu.com>
38599
38600 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38601 on grub_biosdisk_rw_standard() error.
38602
38603 2008-01-21 Robert Millan <rmh@aybabtu.com>
38604
38605 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38606 recent changes.
38607 * kern/elf.c: Likewise.
38608 * kern/ieee1275/ieee1275.c: Likewise.
38609 * kern/powerpc/ieee1275/openfw.c: Likewise.
38610 * term/ieee1275/ofconsole.c: Likewise.
38611
38612 2008-01-21 Robert Millan <rmh@aybabtu.com>
38613
38614 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38615
38616 * include/grub/kernel.h (grub_arch_memdisk_addr)
38617 (grub_arch_memdisk_size): Moved from here ...
38618
38619 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38620 (grub_arch_memdisk_size): ... to here.
38621
38622 2008-01-21 Robert Millan <rmh@aybabtu.com>
38623
38624 Mostly based on bugfix from Bean.
38625
38626 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38627 attribute with hook() parameter.
38628 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38629 declaration.
38630 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38631 attribute with hook() parameter.
38632 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38633 declaration.
38634
38635 2008-01-21 Robert Millan <rmh@aybabtu.com>
38636
38637 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38638 (pkglib_MODULES): Add `memdisk.mod'.
38639 (memdisk_mod_SOURCES): New variable.
38640 (memdisk_mod_CFLAGS): Likewise.
38641 (memdisk_mod_LDFLAGS): Likewise.
38642
38643 * disk/memdisk.c: New file.
38644
38645 * include/grub/disk.h (grub_disk_dev_id): Add
38646 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38647
38648 * include/grub/i386/pc/kernel.h
38649 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38650 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38651 (grub_kernel_image_size): New variable declaration.
38652 (grub_total_module_size): Likewise.
38653 (grub_memdisk_image_size): Likewise.
38654
38655 * include/grub/i386/pc/memory.h
38656 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38657
38658 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38659 (grub_arch_memdisk_addr): New variable declaration.
38660 (grub_arch_memdisk_size): Likewise.
38661
38662 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38663 (grub_arch_memdisk_size): Likewise.
38664
38665 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38666 (codestart): Replace hardcoded `0x100000' with
38667 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38668
38669 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38670 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38671 not NULL, append the contents of the file it refers to, at the end of
38672 the compressed kernel image. Initialize `grub_memdisk_image_size'
38673 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38674 (options): Add "memdisk"|'m' option.
38675 (main): Parse --memdisk|-m option, and pass user-provided path as
38676 parameter to generate_image().
38677
38678 2008-01-20 Robert Millan <rmh@aybabtu.com>
38679
38680 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38681 grub_dprintf() calls from here ...
38682 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38683
38684 2008-01-20 Robert Millan <rmh@aybabtu.com>
38685
38686 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38687
38688 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38689 declaration.
38690 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38691 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38692 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38693 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38694 property).
38695 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38696 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38697
38698 2008-01-19 Robert Millan <rmh@aybabtu.com>
38699
38700 Get rid of confusing function (superseded by
38701 `grub_ieee1275_get_integer_property')
38702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38703 prototype.
38704 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38705 function.
38706 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38707 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38708 in native endianness from grub_ieee1275_get_integer_property().
38709
38710 2008-01-19 Robert Millan <rmh@aybabtu.com>
38711
38712 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38713 command after "shut-down", since implementations differ on which
38714 the command for halt is.
38715
38716 2008-01-19 Robert Millan <rmh@aybabtu.com>
38717
38718 * include/grub/i386/linuxbios/console.h: Add header protection.
38719 (grub_keyboard_controller_init): New function prototype.
38720 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38721 (KEYBOARD_COMMAND_READ): Likewise.
38722 (KEYBOARD_COMMAND_WRITE): Likewise.
38723 (KEYBOARD_SCANCODE_SET1): Likewise.
38724 (grub_keyboard_controller_write): New function.
38725 (grub_keyboard_controller_read): Likewise.
38726 (grub_keyboard_controller_init): Likewise.
38727
38728 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38729 (grub_console_init): On coreboot/LinuxBIOS, call
38730 grub_keyboard_controller_init().
38731
38732 2008-01-19 Robert Millan <rmh@aybabtu.com>
38733
38734 PowerPC changes provided by Pavel Roskin.
38735
38736 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38737 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38738 don't rely on cmain() doing it.
38739 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38740 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38741
38742 2008-01-16 Robert Millan <rmh@aybabtu.com>
38743
38744 * include/grub/i386/linuxbios/memory.h
38745 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38746 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38747 receive `table_header' as argument. Instead, probe for it in the
38748 known memory ranges where it can be present.
38749 (grub_available_iterate): Do not pass a fixed `table_header' address
38750 to grub_linuxbios_table_iterate().
38751
38752 2008-01-15 Robert Millan <rmh@aybabtu.com>
38753
38754 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38755 * conf/i386-ieee1275.rmk: New file.
38756 * include/grub/i386/ieee1275/console.h: Likewise.
38757 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38758 * include/grub/i386/ieee1275/kernel.h: Likewise.
38759 * include/grub/i386/ieee1275/time.h: Likewise.
38760 * kern/i386/ieee1275/init.c: Likewise.
38761 * kern/i386/ieee1275/startup.S: Likewise.
38762
38763 2008-01-15 Robert Millan <rmh@aybabtu.com>
38764
38765 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38766 when pointers are 32-bit (but still do set it to one when they are
38767 64-bit).
38768
38769 2008-01-15 Robert Millan <rmh@aybabtu.com>
38770
38771 * include/grub/ieee1275/ieee1275.h
38772 (grub_ieee1275_get_integer_property): New function prototype.
38773
38774 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38775 (grub_ieee1275_get_integer_property): New function. Wraps around
38776 grub_ieee1275_get_property() to handle endianness.
38777
38778 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38779 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38780 where appropriate.
38781 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38782 (grub_map): Likewise.
38783 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38784
38785 2008-01-15 Bean <bean123ch@gmail.com>
38786
38787 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38788 (grub_script_execute_cmdline): Reset grub_errno.
38789
38790 * normal/main.c (read_config_file): Reset grub_errno.
38791
38792 * normal/parse.y (script_init): New.
38793 (script): Move function and menuentry here.
38794 (delimiter): New.
38795 (command): Add delimiter at the end of command.
38796 (commands): Adjust to match the new command.
38797 (commandblock): Remove grub_script_lexer_record_start.
38798 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38799 (if): Use the new commands.
38800
38801 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38802
38803 2008-01-15 Robert Millan <rmh@aybabtu.com>
38804
38805 * normal/menu.c (run_menu): Move timeout message from here ...
38806 (print_timeout): ... to here.
38807 (run_menu): Use print_timeout() once during initial draw to print
38808 the whole message, and again in every clock tick to update only
38809 the number of seconds.
38810
38811 2008-01-15 Robert Millan <rmh@aybabtu.com>
38812
38813 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38814 actual size of `available' from grub_ieee1275_get_property(), and
38815 restrict parsing to that bound.
38816
38817 2008-01-15 Christian Franke <franke@computer.org>
38818
38819 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38820 (argp_program_version): Remove variable.
38821 (argp_program_bug_address): Likewise.
38822 (options): Convert from struct argp_option to struct option.
38823 (struct arguments): Remove.
38824 (parse_opt): Remove.
38825 (usage): New function.
38826 (main): Replace struct args members by simple variables.
38827 Replace argp_parse() by getopt_long().
38828 Add switch to evaluate options.
38829 Add missing "(...)" around root_dev in prefix string.
38830
38831 2008-01-14 Robert Millan <rmh@aybabtu.com>
38832
38833 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38834 for grub_ieee1275_exit(), in order to improve portability.
38835
38836 2008-01-14 Robert Millan <rmh@aybabtu.com>
38837
38838 * util/grub.d/10_linux.in (prefix): Define.
38839 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38840
38841 2008-01-13 Pavel Roskin <proski@gnu.org>
38842
38843 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38844 grub_errno if no errors have been detected.
38845
38846 2008-01-12 Robert Millan <rmh@aybabtu.com>
38847
38848 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38849 (grub_util_get_dev_abstraction): New function prototype.
38850
38851 * util/getroot.c: Include `<grub/util/getroot.h>'
38852 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38853 (grub_util_get_dev_abstraction): ... here (new function).
38854
38855 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38856 `PRINT_ABSTRACTION'.
38857 (probe): Probe for abstraction type when requested.
38858 (main): Understand `--target=abstraction'.
38859
38860 * util/i386/efi/grub-install.in: Add abstraction module to core
38861 image when it is found to be necessary.
38862 * util/i386/pc/grub-install.in: Likewise.
38863 * util/powerpc/ieee1275/grub-install.in: Likewise.
38864
38865 * util/update-grub_lib.in (font_path): Return system path without
38866 converting to GRUB path.
38867 * util/update-grub.in: Convert system path returned by font_path()
38868 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38869 abstraction module is needed for loading fonts (if any). Export
38870 that as `GRUB_PRELOAD_MODULES'.
38871 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38872 insmod commands).
38873
38874 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38875
38876 Remove some unused code from reiserfs.
38877
38878 * fs/reiserfs.c (struct grub_reiserfs_key)
38879 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38880 (struct grub_reiserfs_node_body): Removed.
38881 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38882 Likewise.
38883 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38884 Likewise.
38885 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38886 Likewise.
38887 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38888 Likewise.
38889 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38890 Likewise.
38891 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38892 Likewise.
38893 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38894 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38895 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38896
38897 2008-01-10 Robert Millan <rmh@aybabtu.com>
38898
38899 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38900 Determines if a file is garbage left by packaging systems, etc.
38901 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38902 for processing /etc/grub.d scripts.
38903 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38904 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38905 as a condition for processing Linux images.
38906
38907 2008-01-10 Pavel Roskin <proski@gnu.org>
38908
38909 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38910 to compile reiserfs.c on PowerPC.
38911
38912 2008-01-10 Robert Millan <rmh@aybabtu.com>
38913
38914 * kern/device.c (grub_device_iterate): Do not abort device iteration
38915 when one of the devices cannot be opened.
38916 * kern/disk.c (grub_disk_open): Do not account previous failures of
38917 unrelated functions when grub_errno is checked for.
38918
38919 2008-01-08 Robert Millan <rmh@aybabtu.com>
38920
38921 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38922 `! grub_linux_is_bzimage', change order of address comparison to make
38923 it more intuitive, and improve "too big zImage" error message.
38924
38925 2008-01-08 Robert Millan <rmh@aybabtu.com>
38926
38927 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38928 `$(update-grub_DATA)'.
38929 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38930 targets.
38931
38932 2008-01-07 Robert Millan <rmh@aybabtu.com>
38933
38934 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38935 which instruction is modified by grub-setup during installation
38936 (since it wasn't obvious by only looking at this file).
38937
38938 2008-01-07 Robert Millan <rmh@aybabtu.com>
38939
38940 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38941 listing actual TODO items.
38942
38943 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38944
38945 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38946 correctly.
38947 (grub_reiserfs_get_key_offset): Likewise.
38948 (grub_reiserfs_set_key_offset): Likewise.
38949 (grub_reiserfs_set_key_type): Likewise.
38950 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38951
38952 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38953 better to remove the bitfield version completely.
38954
38955 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38956
38957 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38958 allocated from the heap, due to the fshelp implementation.
38959 (grub_reiserfs_dir): Free NODE, due to the same reason.
38960
38961 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38962
38963 Mostly from Vincent Pelletier:
38964
38965 * fs/reiserfs.c: New file.
38966
38967 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38968 (reiserfs_mod_SOURCES): New variable.
38969 (reiserfs_mod_CFLAGS): Likewise.
38970 (reiserfs_mod_LDFLAGS): Likewise.
38971
38972 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38973 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38974 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38975 normal/color.c.
38976
38977 2008-01-06 Robert Millan <rmh@aybabtu.com>
38978
38979 * normal/color.c: Remove `<grub/env.h>'.
38980
38981 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38982
38983 * include/grub/normal.h: Include <grub/env.h>.
38984
38985 2008-01-05 Robert Millan <rmh@aybabtu.com>
38986
38987 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38988 usage example with `(hd0,1)'.
38989 Reported by Samuel Thibault.
38990
38991 2008-01-05 Robert Millan <rmh@aybabtu.com>
38992
38993 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38994 (grub_linux_boot_zimage): Rename to ...
38995 (grub_linux_boot): ... this.
38996 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38997 (grub_linux_boot_zimage): Conditionalize zImage copy.
38998
38999 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39000 (grub_linux_boot_bzimage): Remove prototype.
39001 (grub_linux_boot_zimage): Rename to ...
39002 (grub_linux_boot): ... this.
39003
39004 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39005 (grub_linux_boot): Remove function.
39006
39007 2008-01-05 Robert Millan <rmh@aybabtu.com>
39008
39009 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39010 (grub_env_write_color_highlight): Likewise.
39011 (grub_wait_after_message): Likewise.
39012
39013 * normal/color.c: New file.
39014
39015 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39016 (normal_mod_DEPENDENCIES): Likewise.
39017
39018 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39019 (normal_mod_DEPENDENCIES): Likewise.
39020
39021 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39022 (normal_mod_DEPENDENCIES): Likewise.
39023
39024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39025 (normal_mod_DEPENDENCIES): Likewise.
39026
39027 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39028 for waiting after a message is printed.
39029 * normal/main.c (read_config_file): Likewise.
39030 (grub_normal_init): Register grub_env_write_color_normal() and
39031 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39032 `color_highlight' variables as global.
39033
39034 * normal/menu.c (grub_wait_after_message): New function.
39035 (grub_color_menu_normal): New variable. Replaces ...
39036 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39037 (grub_color_menu_highlight): New variable. Replaces ...
39038 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39039 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39040 `GRUB_TERM_COLOR_STANDARD'.
39041 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39042 `normal_code' and `highlight_code' to `old_color_normal' and
39043 `old_color_highlight', respectively.
39044 (grub_menu_init_page): Update colors when drawing the menu, based on
39045 `menu_color_normal' and `menu_color_highlight' variables.
39046 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39047 a message is printed.
39048
39049 2008-01-05 Robert Millan <rmh@aybabtu.com>
39050
39051 * kern/env.c (grub_env_context_open): Propagate hooks for global
39052 variables to new context.
39053
39054 * kern/main.c (grub_set_root_dev): Export `root' variable.
39055
39056 2008-01-05 Robert Millan <rmh@aybabtu.com>
39057
39058 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
39059 discs unconditionally, since udev and others have options to provide
39060 them.
39061
39062 2008-01-05 Robert Millan <rmh@aybabtu.com>
39063
39064 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39065
39066 2008-01-04 Christian Franke <franke@computer.org>
39067
39068 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39069 of eisa_mmap.
39070
39071 2008-01-03 Pavel Roskin <proski@gnu.org>
39072
39073 * kern/i386/linuxbios/init.c: Put "void" to all function
39074 declarations with no arguments.
39075 * kern/powerpc/ieee1275/init.c: Likewise.
39076 * term/i386/pc/at_keyboard.c: Likewise.
39077 * term/i386/pc/vga_text.c: Likewise.
39078 * util/grub-mkdevicemap.c: Likewise.
39079
39080 2008-01-02 Robert Millan <rmh@aybabtu.com>
39081
39082 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39083 message when loaded image is out of bounds.
39084 (grub_multiboot_load_elf64): Likewise.
39085
39086 2008-01-02 Pavel Roskin <proski@gnu.org>
39087
39088 * util/grub.d/10_linux.in: Try version without ".old" when
39089 looking for initrd. It's better to use initrd from the newer
39090 kernel of the same version than no initrd at all.
39091
39092 2008-01-01 Robert Millan <rmh@aybabtu.com>
39093
39094 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39095
39096 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39097
39098 * include/grub/video.h: Added grub_video_unmap_color and
39099 grub_video_get_active_render_target.
39100 (grub_video_adapter): Added unmap_color and get_active_render_target.
39101
39102 * video/video.c: Added grub_video_unmap_color and
39103 grub_video_get_active_render_target.
39104 (grub_video_get_info): Changed method to accept NULL pointer as an
39105 argument to allow detection of active video adapter.
39106
39107 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39108 grub_video_vbe_unmap_color_int.
39109 Added grub_video_vbe_unmap_color and
39110 grub_video_vbe_get_active_render_target.
39111 (grub_video_vbe_adapter): Added unmap_color and
39112 get_active_render_target.
39113
39114 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
39115 with grub_video_vbe_unmap_color_int.
39116
39117 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39118 (DEFAULT_NORMAL_COLOR): Likewise.
39119 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39120 (DEFAULT_FG_COLOR): Removed.
39121 (DEFAULT_BG_COLOR): Likewise.
39122 (DEFAULT_CURSOR_COLOR): Changed value.
39123 (grub_virtual_screen): Added standard_color_setting,
39124 normal_color_setting, highlight_color_setting and term_color.
39125 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39126 (bitmap_width): Added.
39127 (bitmap_height): Likewise.
39128 (bitmap): Likewise.
39129 (set_term_color): Likewise.
39130 (grub_virtual_screen_setup): Changed to use new terminal coloring
39131 settings.
39132 (grub_gfxterm_init): Added init for bitmap.
39133 (grub_gfxterm_fini): Added destroy for bitmap.
39134 (redraw_screen_rect): Updated to use background bitmap and new
39135 terminal coloring.
39136 (scroll_up): Added optimization for case when there is no bitmap.
39137 (grub_gfxterm_cls): Fixed to use correct background color.
39138 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39139 coloring.
39140 (grub_virtual_screen_setcolor): Likewise.
39141 (grub_virtual_screen_getcolor): Added.
39142 (grub_gfxterm_background_image_cmd): Likewise.
39143 (grub_video_term): Added setcolor and getcolor.
39144 (MOD_INIT): Added registration of background_image command.
39145 (MOD_TERM): Added unregistration for background_image command.
39146
39147 2007-12-30 Pavel Roskin <proski@gnu.org>
39148
39149 * loader/multiboot_loader.c: Fix multiboot command
39150 unregistration. Fix all typos in the word "multiboot".
39151
39152 2007-12-29 Pavel Roskin <proski@gnu.org>
39153
39154 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39155 support for initrd names used in Fedora.
39156
39157 2007-12-26 Bean <bean123ch@gmail.com>
39158
39159 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39160 (cpio_mod_SOURCES): New variable.
39161 (cpio_mod_CFLAGS): Likewise.
39162 (cpio_mod_LDFLAGS): Likewise.
39163
39164 * fs/cpio.c: New file.
39165
39166 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39167
39168 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39169
39170 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39171
39172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39173
39174 2007-12-25 Robert Millan <rmh@aybabtu.com>
39175
39176 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39177 (grub_getcolor): New function.
39178
39179 * kern/term.c (grub_getcolor): New function.
39180 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39181 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39182 (print_entry): Set normal and highlight colors to
39183 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39184 respectively, before printing and restore them to old
39185 values afterwards.
39186 (grub_menu_init_page): Likewise. Fill an additional colored space
39187 that would otherwise be left blank.
39188
39189 * term/efi/console.c (grub_console_getcolor): New function.
39190 (struct grub_console_term.getcolor): New variable.
39191 * term/i386/pc/console.c (grub_console_getcolor): New function.
39192 (struct grub_console_term.getcolor): New variable.
39193 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39194 (struct grub_console_term.getcolor): New variable.
39195
39196 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39197 (struct grub_console_term.setcolor): Remove variable.
39198 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39199 (struct grub_console_term.setcolor): Remove variable.
39200 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39201 (struct grub_console_term.setcolor): Remove variable.
39202 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39203 (struct grub_console_term.setcolor): Remove variable.
39204
39205 2007-12-25 Robert Millan <rmh@aybabtu.com>
39206
39207 * configure.ac: Search for possible unifont.hex locations, and
39208 define UNIFONT_HEX if found.
39209
39210 * Makefile.in (UNIFONT_HEX): Define variable.
39211 (DATA): Rename to ...
39212 (PKGLIB): ... this. Update all users.
39213 (PKGDATA): New variable.
39214 (pkgdata_IMAGES): Rename to ...
39215 (pkglib_IMAGES): ... this. Update all users.
39216 (pkgdata_MODULES): Rename to ...
39217 (pkglib_MODULES): ... this. Update all users.
39218 (pkgdata_PROGRAMS): Rename to ...
39219 (pkglib_PROGRAMS): ... this. Update all users.
39220 (pkgdata_DATA): Rename to ...
39221 (pkglib_DATA): ... this. Update all users.
39222 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39223 (unicode.pff, ascii.pff): New rules.
39224 (all-local): Add `$(PKGDATA)' dependency.
39225 (install-local): Process `$(PKGDATA)'.
39226
39227 * util/update-grub_lib.in (font_path): Search for *.pff files in
39228 a few more locations, including `${pkgdata}'.
39229
39230 2007-12-23 Robert Millan <rmh@aybabtu.com>
39231
39232 Patch from Bean <bean123ch@gmail.com>:
39233 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39234 `size'.
39235
39236 2007-12-21 Bean <bean123ch@gmail.com>
39237
39238 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39239 (ntfscomp_mod_SOURCES): New variable.
39240 (ntfscomp_mod_CFLAGS): Likewise.
39241 (ntfscomp_mod_LDFLAGS): Likewise.
39242
39243 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39244 (grub_probe_SOURCES): Likewise.
39245 (grub_emu_SOURCES): Likewise.
39246
39247 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39248 (grub_emu_SOURCES): Likewise.
39249
39250 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39251 (grub_emu_SOURCES): Likewise.
39252
39253 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39254 (grub_emu_SOURCES): Likewise.
39255
39256 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39257 (read_run_list): Renamed to grub_ntfs_read_run_list.
39258 (decomp_nextvcn): Moved to ntfscomp.c.
39259 (decomp_getch): Likewise.
39260 (decomp_get16): Likewise.
39261 (decomp_block): Likewise.
39262 (read_block): Likewise.
39263 (read_data): Partially moved to ntfscomp.c.
39264 (fixup): Change unsigned to grub_uint16_t.
39265 (read_mft): Change unsigned long to grub_uint32_t.
39266 (read_attr): Likewise.
39267 (read_data): Likewise.
39268 (read_run_data): Likewise.
39269 (read_run_list): Likewise.
39270 (read_mft): Likewise.
39271
39272 * fs/ntfscomp.c: New file.
39273
39274 * include/grub/ntfs.h: New file.
39275
39276 2007-12-16 Robert Millan <rmh@aybabtu.com>
39277
39278 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39279 IDE disk check, since Linux is known to support 20 IDE disks.
39280 Reported by Colin Watson.
39281
39282 2007-12-15 Bean <bean123ch@gmail.com>
39283
39284 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39285 (lnxboot_img_SOURCES): New variable.
39286 (lnxboot_img_ASFLAGS): Likewise.
39287 (lnxboot_img_LDFLAGS): Likewise.
39288
39289 * boot/i386/pc/lnxboot.S: New file.
39290
39291 2007-11-24 Pavel Roskin <proski@gnu.org>
39292
39293 * configure.ac: Test if '--build-id=none' is supported by the
39294 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39295 objcopy to generate incorrect binary files (binutils
39296 2.17.50.0.18-1 as shipped by Fedora 8).
39297 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39298 linking, so that build ID doesn't break the test.
39299
39300 2007-11-24 Pavel Roskin <proski@gnu.org>
39301
39302 * include/grub/i386/time.h: use "void" in the argument list
39303 of grub_cpu_idle().
39304 * include/grub/powerpc/time.h: Likewise.
39305 * include/grub/sparc64/time.h: Likewise.
39306
39307 2007-11-18 Christian Franke <franke@computer.org>
39308
39309 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39310 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39311 This fixes the problem that function keys did not work in grub-emu.
39312
39313 2007-11-18 Christian Franke <franke@computer.org>
39314
39315 * disk/host.c (grub_host_open): Remove attribute unused from
39316 name parameter. Add check for "host". This fixes the problem
39317 that grub-emu does not find partitions.
39318
39319 2007-11-18 Christian Franke <franke@computer.org>
39320
39321 * util/hostfs.c (is_dir): New function.
39322 (grub_hostfs_dir): Handle missing dirent.d_type case.
39323 (grub_hostfs_read): Add missing fseek().
39324 (grub_hostfs_label): Clear label pointer. This fixes a crash
39325 of grub-emu on "ls (host)".
39326
39327 2007-11-18 Christian Franke <franke@computer.org>
39328
39329 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39330 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39331 to 64 bit boundary by default.
39332
39333 2007-11-18 Bean <bean123ch@gmail.com>
39334
39335 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39336 (hexdump_mod_SOURCES): New variable.
39337 (hexdump_mod_CFLAGS): Likewise.
39338 (hexdump_mod_LDFLAGS): Likewise.
39339
39340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39341
39342 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39343
39344 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39345
39346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39347
39348 * include/grub/hexdump.h: New file.
39349
39350 * commands/hexdump.c: New file.
39351
39352 2007-11-10 Robert Millan <rmh@aybabtu.com>
39353
39354 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39355 in grub_outb() calls.
39356 (beep_on): Likewise.
39357
39358 2007-11-10 Christian Franke <franke@computer.org>
39359
39360 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39361 (grub_menu_run): Likewise.
39362
39363 2007-11-10 Robert Millan <rmh@aybabtu.com>
39364
39365 * include/grub/i386/efi/machine.h: New file.
39366 * include/grub/i386/linuxbios/machine.h: Likewise.
39367 * include/grub/i386/pc/machine.h: Likewise.
39368 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39369 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39370
39371 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39372 (serial_hw_io_addr): New variable.
39373 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39374 instead of `(unsigned short *) 0x400'.
39375
39376 2007-11-10 Bean <bean123ch@gmail.com>
39377
39378 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39379
39380 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39381
39382 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39383 (vga_mod_SOURCES): Added.
39384 (vga_mod_CFLAGS): Likewise.
39385 (vga_mod_LDFLAGS): Likewise.
39386
39387 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39388 grub_outb() calls.
39389 (set_map_mask): Likewise.
39390 (set_read_map): Likewise.
39391 (set_read_address): Likewise.
39392 (vga_font): Removed variable.
39393 (get_vga_glyph): Removed function.
39394 (invalidate_char): Likewise.
39395 (write_char): Changed to use grub_font_get_glyph() for font
39396 information.
39397 (grub_vga_putchar): Likewise.
39398 (grub_vga_getcharwidth): Likewise.
39399
39400 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39401
39402 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39403 flags.
39404 (pxeboot_img_LDFLAGS): Likewise.
39405 (diskboot_img_LDFLAGS): Likewise.
39406 (kernel_img_LDFLAGS): Likewise.
39407
39408 2007-11-06 Robert Millan <rmh@aybabtu.com>
39409
39410 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39411 in grub_outb() calls.
39412 (serial_hw_init): Likewise.
39413
39414 2007-11-05 Robert Millan <rmh@aybabtu.com>
39415
39416 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39417 spaces. Skip non-regular files.
39418
39419 2007-11-05 Robert Millan <rmh@aybabtu.com>
39420
39421 * kern/disk.c (grub_disk_firmware_fini)
39422 (grub_disk_firmware_is_tainted): New variables.
39423
39424 * include/grub/disk.h (grub_disk_firmware_fini)
39425 (grub_disk_firmware_is_tainted): Likewise.
39426
39427 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39428 (grub_disk_biosdisk_fini): ... to here.
39429 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39430 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39431 is set. Register grub_disk_biosdisk_fini() in
39432 `grub_disk_firmware_fini'.
39433
39434 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39435 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39436 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39437 to finish existing firmware disk interface.
39438
39439 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39440 (ata_mod_SOURCES): New variable.
39441 (ata_mod_CFLAGS): Likewise.
39442 (ata_mod_LDFLAGS): Likewise.
39443
39444 2007-11-05 Robert Millan <rmh@aybabtu.com>
39445
39446 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39447 (grub_ata_wait): Reimplement using grub_millisleep().
39448
39449 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39450 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39451
39452 2007-11-03 Marco Gerards <marco@gnu.org>
39453
39454 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39455 (CRTC_ADDR_PORT): New macro.
39456 (CRTC_DATA_PORT): Likewise.
39457 (CRTC_CURSOR): Likewise.
39458 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39459 (CRTC_CURSOR_ADDR_LOW): Likewise.
39460 (update_cursor): New function.
39461 (grub_console_real_putchar): Call `update_cursor'.
39462 (grub_console_gotoxy): Likewise.
39463 (grub_console_cls): Set the default color when clearing the
39464 screen.
39465 (grub_console_setcursor): Implemented.
39466
39467 2007-11-03 Marco Gerards <marco@gnu.org>
39468
39469 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39470 become activate.
39471 (grub_ata_pio_write): Likewise.
39472
39473 (grub_atapi_identify): Wait after issuing an ATA command.
39474 (grub_atapi_packet): Likewise.
39475 (grub_ata_identify): Likewise.
39476 (grub_ata_readwrite): Likewise.
39477
39478 2007-11-03 Marco Gerards <marco@gnu.org>
39479
39480 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39481 (grub_ata_pio_write): Likewise.
39482 (grub_ata_readwrite): Use `grub_error', instead of
39483 returning `grub_errno'.
39484
39485 2007-11-03 Marco Gerards <marco@gnu.org>
39486
39487 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39488 grub_ata_pio_write once for every single sector, instead of for
39489 multiple sectors.
39490
39491 2007-10-31 Robert Millan <rmh@aybabtu.com>
39492
39493 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39494
39495 * conf/i386-linuxbios.rmk: New file.
39496
39497 * kern/i386/pc/hardware.c: Likewise.
39498 * term/i386/pc/at_keyboard.c: Likewise.
39499 * term/i386/pc/vga_text.c: Likewise.
39500
39501 * include/grub/i386/linuxbios/boot.h: Likewise.
39502 * include/grub/i386/linuxbios/console.h: Likewise.
39503 * include/grub/i386/linuxbios/init.h: Likewise.
39504 * include/grub/i386/linuxbios/kernel.h: Likewise.
39505 * include/grub/i386/linuxbios/loader.h: Likewise.
39506 * include/grub/i386/linuxbios/memory.h: Likewise.
39507 * include/grub/i386/linuxbios/serial.h: Likewise.
39508 * include/grub/i386/linuxbios/time.h: Likewise.
39509
39510 * kern/i386/linuxbios/init.c: Likewise.
39511 * kern/i386/linuxbios/startup.S: Likewise.
39512 * kern/i386/linuxbios/table.c: Likewise.
39513
39514 2007-10-31 Marco Gerards <marco@gnu.org>
39515
39516 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39517 (ata_mod_SOURCES): New variable.
39518 (ata_mod_CFLAGS): Likewise.
39519 (ata_mod_LDFLAGS): Likewise.
39520
39521 * disk/ata.c: New file.
39522
39523 * include/grub/disk.h (grub_disk_dev_id): Add
39524 `GRUB_DISK_DEV_ATA_ID'.
39525
39526 2007-10-31 Robert Millan <rmh@aybabtu.com>
39527
39528 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39529 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39530
39531 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39532 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39533
39534 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39535 `<grub/types.h>'.
39536
39537 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39538
39539 2007-10-27 Robert Millan <rmh@aybabtu.com>
39540
39541 * include/grub/types.h (ULONG_MAX): Define macro.
39542
39543 2007-10-22 Robert Millan <rmh@aybabtu.com>
39544
39545 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39546 `"../realmode.S"'.
39547 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39548
39549 2007-10-22 Robert Millan <rmh@aybabtu.com>
39550
39551 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39552 (pkgdata_MODULES): Add `biosdisk.mod'.
39553 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39554 variables.
39555
39556 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39557 (grub_biosdisk_init): Replace with ...
39558 (GRUB_MOD_INIT(biosdisk)): ... this.
39559 (grub_biosdisk_fini): Replace with ...
39560 (GRUB_MOD_FINI(biosdisk)): ... this.
39561
39562 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39563 (grub_machine_init): Remove call to grub_biosdisk_init().
39564 (grub_machine_fini): Remove call to grub_machine_fini().
39565
39566 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39567
39568 2007-10-22 Robert Millan <rmh@aybabtu.com>
39569
39570 * include/grub/time.h: New file.
39571 * include/grub/i386/time.h: Likewise.
39572 * include/grub/powerpc/time.h: Likewise.
39573 * include/grub/sparc64/time.h: Likewise.
39574
39575 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39576 instances to ...
39577 (KERNEL_MACHINE_TIME_HEADER): ... this.
39578 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39579 instances to ...
39580 (KERNEL_MACHINE_TIME_HEADER): ... this.
39581 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39582 instances to ...
39583 (KERNEL_MACHINE_TIME_HEADER): ... this.
39584
39585 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39586 (grub_millisleep): New function.
39587 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39588 (grub_millisleep): New function.
39589 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39590 Remove `grub/machine/time.h' include.
39591 (grub_millisleep): New function.
39592 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39593 Remove `grub/machine/time.h' include.
39594 (grub_millisleep): New function.
39595
39596 * include/grub/misc.h (grub_div_roundup): New function.
39597
39598 * kern/misc.c: Include `<grub/time.h>'.
39599 (grub_millisleep_generic): New function.
39600
39601 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39602 Add `time.h'.
39603 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39604 Add `time.h'.
39605 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39606 `machine/time.h'. Add `time.h'.
39607 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39608
39609 2007-10-21 Robert Millan <rmh@aybabtu.com>
39610
39611 * include/grub/misc.h (grub_max): New function.
39612
39613 2007-10-21 Robert Millan <rmh@aybabtu.com>
39614
39615 * util/misc.c (grub_util_info): Call fflush() before returning.
39616
39617 2007-10-20 Robert Millan <rmh@aybabtu.com>
39618
39619 * genmk.rb (Image): Copy `extra_flags' from here ...
39620 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39621
39622 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39623 to `argc' and `args' arguments.
39624
39625 2007-10-17 Robert Millan <rmh@aybabtu.com>
39626
39627 * kern/i386/loader.S: New file.
39628
39629 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39630 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39631 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39632 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39633 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39634 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39635 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39636 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39637 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39638 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39639 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39640 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39641 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39642 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39643
39644 * kern/i386/realmode.S: New file.
39645
39646 * kern/i386/pc/startup.S (protstack): Moved from here ...
39647 * kern/i386/realmode.S (protstack)... to here.
39648 * kern/i386/pc/startup.S (gdt): Moved from here ...
39649 * kern/i386/realmode.S (gdt)... to here.
39650 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39651 * kern/i386/realmode.S (prot_to_real)... to here.
39652
39653 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39654 `kern/i386/realmode.S'.
39655
39656 2007-10-17 Robert Millan <rmh@aybabtu.com>
39657
39658 * include/grub/i386/loader.h: New file.
39659
39660 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39661 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39662 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39663 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39664 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39665 * include/grub/i386/loader.h (grub_linux_prot_size)
39666 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39667 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39668 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39669 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39670
39671 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39672
39673 2007-10-15 Robert Millan <rmh@aybabtu.com>
39674
39675 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39676 filesystem when dev->disk is unset.
39677 Do probe for filesystem even when dev->disk->has_partitions is set.
39678 In case a filesystem is found, always report it.
39679 In case it isn't, if dev->disk->has_partitions is set, report that
39680 a partition table was found instead of reporting that no filesystem
39681 could be identified.
39682
39683 2007-10-12 Robert Millan <rmh@aybabtu.com>
39684
39685 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39686 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39687
39688 * include/grub/types.h (grub_host_to_target16): New macro.
39689 (grub_host_to_target32): Likewise.
39690 (grub_host_to_target64): Likewise.
39691 (grub_target_to_host16): Likewise.
39692 (grub_target_to_host32): Likewise.
39693 (grub_target_to_host64): Likewise.
39694
39695 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39696 Renamed from to ...
39697 (GRUB_MOD_ALIGN): ...this. Update all users.
39698
39699 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39700 grub_host_to_target32.
39701 Replace grub_be_to_cpu32 with grub_target_to_host32.
39702 (load_modules): Likewise.
39703 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39704 Replace grub_be_to_cpu32 with grub_target_to_host32.
39705 Replace grub_cpu_to_be16 with grub_host_to_target16.
39706 Replace grub_cpu_to_be32 grub_host_to_target32.
39707
39708 2007-10-12 Robert Millan <rmh@aybabtu.com>
39709
39710 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39711 * util/elf/grub-mkimage.c: ... here.
39712
39713 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39714 `util/powerpc/ieee1275/grub-mkimage.c'.
39715
39716 2007-10-07 Robert Millan <rmh@aybabtu.com>
39717
39718 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39719 and make it easier to figure out.
39720 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39721 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39722 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39723 leave us with less than HEAP_MIN_SIZE total heap.
39724 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39725
39726 2007-10-03 Robert Millan <rmh@aybabtu.com>
39727
39728 * include/grub/i386/io.h: New file.
39729 * commands/i386/pc/play.c (inb): Removed.
39730 (outb): Removed.
39731 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39732 with grub_outb().
39733 * term/i386/pc/serial.c (inb): Removed.
39734 (outb): Removed.
39735 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39736 with grub_outb().
39737 * term/i386/pc/vga.c (inb): Removed.
39738 (outb): Removed.
39739 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39740 with grub_outb().
39741
39742 2007-10-02 Robert Millan <rmh@aybabtu.com>
39743
39744 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39746 Reported by Marcin Kurek.
39747
39748 2007-09-07 Robert Millan <rmh@aybabtu.com>
39749
39750 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39751 SmartFirmware version updates (as released by Sven Luther), and avoid
39752 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39753 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39754 known broken.
39755
39756 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39757
39758 From Hitoshi Ozeki:
39759 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39760 when merging two regions.
39761
39762 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39763
39764 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39765 * normal/completion.c (grub_normal_do_completion): Likewise.
39766 Reported by Hitoshi Ozeki.
39767
39768 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39769
39770 Do not use devices at boot in chainloading.
39771
39772 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39773 (boot_part_addr): Likewise.
39774 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39775 with BOOT_DRIVE and BOOT_PART_ADDR.
39776 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39777 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39778
39779 2007-08-29 Robert Millan <rmh@aybabtu.com>
39780
39781 Patch from Simon Peter <dn.tlp@gmx.net>:
39782 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39783 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39784 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39785 util/i386/pc/grub-setup.c_DEPENDENCIES.
39786 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39787 util/grub-probe.c_DEPENDENCIES.
39788 * conf/powerpc-ieee1275.rmk: Likewise.
39789
39790 2007-08-28 Robert Millan <rmh@aybabtu.com>
39791
39792 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39793 to tell grub-mkdevicemap how to name devices.
39794 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39795 feature).
39796
39797 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39798 util/i386/get_disk_name.c.
39799 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39800 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39801 util/ieee1275/get_disk_name.c.
39802
39803 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39804
39805 * DISTLIST: Add util/i386/get_disk_name.c and
39806 util/ieee1275/get_disk_name.c.
39807
39808 * util/grub-mkdevicemap.c: Replace device naming logic with
39809 grub_util_get_disk_name() calls.
39810
39811 2007-08-20 Robert Millan <rmh@aybabtu.com>
39812
39813 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39814 (so that it works for both plural and singular quantities).
39815
39816 2007-08-05 Robert Millan <rmh@aybabtu.com>
39817
39818 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39819 so that [xz] isn't taken into account when determining order.
39820
39821 2007-08-02 Marco Gerards <marco@gnu.org>
39822
39823 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39824 `include/multiboot2.h', `include/grub/elfload.h',
39825 `include/multiboot.h', `include/grub/multiboot.h',
39826 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39827 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39828 `kern/elf.c', `loader/multiboot_loader.c',
39829 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39830 `loader/i386/pc/multiboot2.c',
39831 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39832 `util/i386/pc/grub-mkrescue.in'. Remove
39833 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39834 `include/grub/i386/pc/util/biosdisk.h' and
39835 `include/grub/powerpc/ieee1275/multiboot.h'.
39836
39837 2007-08-02 Bean <bean123ch@gmail.com>
39838
39839 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39840 (ntfs_mod_SOURCES): New variable.
39841 (ntfs_mod_CFLAGS): Likewise.
39842 (ntfs_mod_LDFLAGS): Likewise.
39843
39844 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39845 (grub_probe_SOURCES): Likewise.
39846 (grub_emu_SOURCES): Likewise.
39847
39848 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39849 (grub_emu_SOURCES): Likewise.
39850
39851 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39852 (grub_emu_SOURCES): Likewise.
39853
39854 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39855
39856 * fs/ntfs.c: New file.
39857
39858 2007-08-02 Bean <bean123ch@gmail.com>
39859
39860 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39861
39862 * file.h (grub_file): Likewise.
39863
39864 * fshelp.h (grub_fshelp_read_file): Likewise.
39865
39866 * util/i386/pc/grub-setup.c (setup): Likewise.
39867 (save_first_sector): Likewise.
39868 (save_blocklists): Likewise.
39869
39870 * fs/affs.c (grub_affs_read_file): Likewise.
39871
39872 * fs/ext2.c (grub_ext2_read_file): Likewise.
39873
39874 * fs/fat.c (grub_fat_read_data): Likewise.
39875
39876 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39877
39878 * fs/hfs.c (grub_hfs_read_file): Likewise.
39879
39880 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39881
39882 * fs/jfs.c (grub_jfs_read_file): Likewise.
39883
39884 * fs/minix.c (grub_minix_read_file): Likewise.
39885
39886 * fs/sfs.c (grub_sfs_read_file): Likewise.
39887
39888 * fs/ufs.c (grub_ufs_read_file): Likewise.
39889
39890 * fs/xfs.c (grub_xfs_read_file): Likewise.
39891
39892 * command/blocklist.c (read_blocklist): Likewise.
39893 (print_blocklist): Likewise.
39894
39895 2007-08-02 Marco Gerards <marco@gnu.org>
39896
39897 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39898 `util/hostfs.c'.
39899
39900 * disk/host.c: New file.
39901
39902 * util/hostfs.c: Likewise.
39903
39904 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39905 return `GRUB_ERR_BAD_FS'.
39906 * fs/sfs.c (grub_sfs_mount): Likewise.
39907 * fs/xfs.c (grub_xfs_mount): Likewise.
39908
39909 * include/grub/disk.h (enum grub_disk_dev_id): Add
39910 `GRUB_DISK_DEVICE_HOST_ID'.
39911
39912 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39913
39914 2007-07-24 Jerone Young <jerone@gmail.com>
39915
39916 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39917 modules for compilation.
39918 * conf/powerpc-ieee1275.rmk: Likewise.
39919
39920 * include/multiboot.h: Move multiboot definitions to one file. Rename
39921 many definitions to not get grub specific.
39922 * include/multiboot2.h: Create header with multiboot 2 definitions.
39923 * include/grub/multiboot.h: Header for grub specific function
39924 prototypes and definitions.
39925 * include/grub/multiboot2.h: Likewise.
39926 * include/grub/multiboot_loader.h: Likewise.
39927 * include/grub/i386/pc/multiboot.h: Removed.
39928 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39929
39930 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39931 and 2 to allow for one multiboot and module commands.
39932 * loader/multiboot2.c: Add multiboot2 functionality.
39933 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39934 and definition names.
39935 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39936 2 functions.
39937 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39938 ieee1275 specific multiboot2 code.
39939
39940 * kern/i386/pc/startup.S: Change headers and definition names for
39941 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39942
39943 2007-07-22 Robert Millan <rmh@aybabtu.com>
39944
39945 * geninitheader.sh: Process file specified in first parameter rather
39946 than hardcoding grub_modules_init.lst.
39947 * geninit.sh: Likewise. Also, construct header name dynamically rather
39948 than hardcoding grub_modules_init.h.
39949
39950 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39951 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39952 grub_probe_init.[ch] and grub_setup_init.[ch].
39953
39954 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39955 grub_modules_init.h with grub_emu_init.h.
39956 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39957 grub_probe_init.[ch] files.
39958 * conf/i386-efi.rmk: Likewise.
39959 * conf/i386-pc.rmk: Likewise.
39960 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39961 grub_setup_init.[ch] files.
39962
39963 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39964 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39965 to initialize modules rather than a list of hardcoded functions.
39966 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39967 grub_init_all() to initialize modules rather than a list of hardcoded
39968 functions.
39969
39970 2007-07-22 Robert Millan <rmh@aybabtu.com>
39971
39972 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39973 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39974
39975 2007-07-22 Robert Millan <rmh@aybabtu.com>
39976
39977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39978 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39979 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39980 flag when running on SmartFirmware.
39981 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39982 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39983 was set.
39984
39985 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39986 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39987 rather than decreasing it.
39988
39989 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39990 there's not enough space to do it, fail in the same way as when it
39991 can't be done because there are no partitions.
39992
39993 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39994 when nvsetenv failed.
39995
39996 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39997
39998 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39999 because this rule is automatically generated.
40000 (grub-mkrescue): Removed for the same reason as above.
40001
40002 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40003
40004 Migrate to GNU General Public License Version 3.
40005
40006 * COPYING: Replaced with the plain text version of GPLv3.
40007
40008 * config.guess: Updated from gnulib.
40009 * config.sub: Likewise.
40010
40011 * geninit.sh: Output a GPLv3 copyright notice.
40012 * geninitheader.sh: Likewise.
40013 * genmodsrc.sh: Likewise.
40014 * gensymlist.sh.in: Likewise.
40015
40016 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40017 * boot/i386/pc/diskboot.S: Likewise.
40018 * boot/i386/pc/pxeboot.S: Likewise.
40019 * commands/blocklist.c: Likewise.
40020 * commands/boot.c: Likewise.
40021 * commands/cat.c: Likewise.
40022 * commands/cmp.c: Likewise.
40023 * commands/configfile.c: Likewise.
40024 * commands/echo.c: Likewise.
40025 * commands/help.c: Likewise.
40026 * commands/ls.c: Likewise.
40027 * commands/search.c: Likewise.
40028 * commands/terminal.c: Likewise.
40029 * commands/test.c: Likewise.
40030 * commands/videotest.c: Likewise.
40031 * commands/i386/cpuid.c: Likewise.
40032 * commands/i386/pc/halt.c: Likewise.
40033 * commands/i386/pc/play.c: Likewise.
40034 * commands/i386/pc/reboot.c: Likewise.
40035 * commands/i386/pc/vbeinfo.c: Likewise.
40036 * commands/i386/pc/vbetest.c: Likewise.
40037 * commands/ieee1275/halt.c: Likewise.
40038 * commands/ieee1275/reboot.c: Likewise.
40039 * commands/ieee1275/suspend.c: Likewise.
40040 * disk/loopback.c: Likewise.
40041 * disk/lvm.c: Likewise.
40042 * disk/raid.c: Likewise.
40043 * disk/efi/efidisk.c: Likewise.
40044 * disk/i386/pc/biosdisk.c: Likewise.
40045 * disk/ieee1275/ofdisk.c: Likewise.
40046 * font/manager.c: Likewise.
40047 * fs/affs.c: Likewise.
40048 * fs/ext2.c: Likewise.
40049 * fs/fat.c: Likewise.
40050 * fs/fshelp.c: Likewise.
40051 * fs/hfs.c: Likewise.
40052 * fs/hfsplus.c: Likewise.
40053 * fs/iso9660.c: Likewise.
40054 * fs/jfs.c: Likewise.
40055 * fs/minix.c: Likewise.
40056 * fs/sfs.c: Likewise.
40057 * fs/ufs.c: Likewise.
40058 * fs/xfs.c: Likewise.
40059 * hello/hello.c: Likewise.
40060 * include/grub/acorn_filecore.h: Likewise.
40061 * include/grub/arg.h: Likewise.
40062 * include/grub/bitmap.h: Likewise.
40063 * include/grub/boot.h: Likewise.
40064 * include/grub/cache.h: Likewise.
40065 * include/grub/device.h: Likewise.
40066 * include/grub/disk.h: Likewise.
40067 * include/grub/dl.h: Likewise.
40068 * include/grub/elfload.h: Likewise.
40069 * include/grub/env.h: Likewise.
40070 * include/grub/err.h: Likewise.
40071 * include/grub/file.h: Likewise.
40072 * include/grub/font.h: Likewise.
40073 * include/grub/fs.h: Likewise.
40074 * include/grub/fshelp.h: Likewise.
40075 * include/grub/gzio.h: Likewise.
40076 * include/grub/hfs.h: Likewise.
40077 * include/grub/kernel.h: Likewise.
40078 * include/grub/loader.h: Likewise.
40079 * include/grub/lvm.h: Likewise.
40080 * include/grub/misc.h: Likewise.
40081 * include/grub/mm.h: Likewise.
40082 * include/grub/net.h: Likewise.
40083 * include/grub/normal.h: Likewise.
40084 * include/grub/parser.h: Likewise.
40085 * include/grub/partition.h: Likewise.
40086 * include/grub/pc_partition.h: Likewise.
40087 * include/grub/raid.h: Likewise.
40088 * include/grub/rescue.h: Likewise.
40089 * include/grub/script.h: Likewise.
40090 * include/grub/setjmp.h: Likewise.
40091 * include/grub/symbol.h: Likewise.
40092 * include/grub/term.h: Likewise.
40093 * include/grub/terminfo.h: Likewise.
40094 * include/grub/tparm.h: Likewise.
40095 * include/grub/types.h: Likewise.
40096 * include/grub/video.h: Likewise.
40097 * include/grub/efi/api.h: Likewise.
40098 * include/grub/efi/chainloader.h: Likewise.
40099 * include/grub/efi/console.h: Likewise.
40100 * include/grub/efi/console_control.h: Likewise.
40101 * include/grub/efi/disk.h: Likewise.
40102 * include/grub/efi/efi.h: Likewise.
40103 * include/grub/efi/pe32.h: Likewise.
40104 * include/grub/efi/time.h: Likewise.
40105 * include/grub/i386/linux.h: Likewise.
40106 * include/grub/i386/setjmp.h: Likewise.
40107 * include/grub/i386/types.h: Likewise.
40108 * include/grub/i386/efi/kernel.h: Likewise.
40109 * include/grub/i386/efi/loader.h: Likewise.
40110 * include/grub/i386/efi/time.h: Likewise.
40111 * include/grub/i386/pc/biosdisk.h: Likewise.
40112 * include/grub/i386/pc/boot.h: Likewise.
40113 * include/grub/i386/pc/chainloader.h: Likewise.
40114 * include/grub/i386/pc/console.h: Likewise.
40115 * include/grub/i386/pc/init.h: Likewise.
40116 * include/grub/i386/pc/kernel.h: Likewise.
40117 * include/grub/i386/pc/loader.h: Likewise.
40118 * include/grub/i386/pc/memory.h: Likewise.
40119 * include/grub/i386/pc/multiboot.h: Likewise.
40120 * include/grub/i386/pc/serial.h: Likewise.
40121 * include/grub/i386/pc/time.h: Likewise.
40122 * include/grub/i386/pc/vbe.h: Likewise.
40123 * include/grub/i386/pc/vbeblit.h: Likewise.
40124 * include/grub/i386/pc/vbefill.h: Likewise.
40125 * include/grub/i386/pc/vbeutil.h: Likewise.
40126 * include/grub/i386/pc/vga.h: Likewise.
40127 * include/grub/ieee1275/ieee1275.h: Likewise.
40128 * include/grub/ieee1275/ofdisk.h: Likewise.
40129 * include/grub/powerpc/libgcc.h: Likewise.
40130 * include/grub/powerpc/setjmp.h: Likewise.
40131 * include/grub/powerpc/types.h: Likewise.
40132 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40133 * include/grub/powerpc/ieee1275/console.h: Likewise.
40134 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40135 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40136 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40137 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40138 * include/grub/powerpc/ieee1275/time.h: Likewise.
40139 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40140 * include/grub/sparc64/libgcc.h: Likewise.
40141 * include/grub/sparc64/setjmp.h: Likewise.
40142 * include/grub/sparc64/types.h: Likewise.
40143 * include/grub/sparc64/ieee1275/console.h: Likewise.
40144 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40145 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40146 * include/grub/sparc64/ieee1275/time.h: Likewise.
40147 * include/grub/util/biosdisk.h: Likewise.
40148 * include/grub/util/getroot.h: Likewise.
40149 * include/grub/util/lvm.h: Likewise.
40150 * include/grub/util/misc.h: Likewise.
40151 * include/grub/util/raid.h: Likewise.
40152 * include/grub/util/resolve.h: Likewise.
40153 * io/gzio.c: Likewise.
40154 * kern/device.c: Likewise.
40155 * kern/disk.c: Likewise.
40156 * kern/dl.c: Likewise.
40157 * kern/elf.c: Likewise.
40158 * kern/env.c: Likewise.
40159 * kern/err.c: Likewise.
40160 * kern/file.c: Likewise.
40161 * kern/fs.c: Likewise.
40162 * kern/loader.c: Likewise.
40163 * kern/main.c: Likewise.
40164 * kern/misc.c: Likewise.
40165 * kern/mm.c: Likewise.
40166 * kern/parser.c: Likewise.
40167 * kern/partition.c: Likewise.
40168 * kern/rescue.c: Likewise.
40169 * kern/term.c: Likewise.
40170 * kern/efi/efi.c: Likewise.
40171 * kern/efi/init.c: Likewise.
40172 * kern/efi/mm.c: Likewise.
40173 * kern/i386/dl.c: Likewise.
40174 * kern/i386/efi/init.c: Likewise.
40175 * kern/i386/efi/startup.S: Likewise.
40176 * kern/i386/pc/init.c: Likewise.
40177 * kern/i386/pc/lzo1x.S: Likewise.
40178 * kern/i386/pc/startup.S: Likewise.
40179 * kern/ieee1275/ieee1275.c: Likewise.
40180 * kern/powerpc/cache.S: Likewise.
40181 * kern/powerpc/dl.c: Likewise.
40182 * kern/powerpc/ieee1275/cmain.c: Likewise.
40183 * kern/powerpc/ieee1275/crt0.S: Likewise.
40184 * kern/powerpc/ieee1275/init.c: Likewise.
40185 * kern/powerpc/ieee1275/openfw.c: Likewise.
40186 * kern/sparc64/cache.S: Likewise.
40187 * kern/sparc64/dl.c: Likewise.
40188 * kern/sparc64/ieee1275/init.c: Likewise.
40189 * kern/sparc64/ieee1275/openfw.c: Likewise.
40190 * loader/efi/chainloader.c: Likewise.
40191 * loader/efi/chainloader_normal.c: Likewise.
40192 * loader/i386/efi/linux.c: Likewise.
40193 * loader/i386/efi/linux_normal.c: Likewise.
40194 * loader/i386/pc/chainloader.c: Likewise.
40195 * loader/i386/pc/chainloader_normal.c: Likewise.
40196 * loader/i386/pc/linux.c: Likewise.
40197 * loader/i386/pc/linux_normal.c: Likewise.
40198 * loader/i386/pc/multiboot.c: Likewise.
40199 * loader/i386/pc/multiboot_normal.c: Likewise.
40200 * loader/powerpc/ieee1275/linux.c: Likewise.
40201 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40202 * normal/arg.c: Likewise.
40203 * normal/cmdline.c: Likewise.
40204 * normal/command.c: Likewise.
40205 * normal/completion.c: Likewise.
40206 * normal/execute.c: Likewise.
40207 * normal/function.c: Likewise.
40208 * normal/lexer.c: Likewise.
40209 * normal/main.c: Likewise.
40210 * normal/menu.c: Likewise.
40211 * normal/menu_entry.c: Likewise.
40212 * normal/misc.c: Likewise.
40213 * normal/parser.y: Likewise.
40214 * normal/script.c: Likewise.
40215 * normal/i386/setjmp.S: Likewise.
40216 * normal/powerpc/setjmp.S: Likewise.
40217 * normal/sparc64/setjmp.S: Likewise.
40218 * partmap/acorn.c: Likewise.
40219 * partmap/amiga.c: Likewise.
40220 * partmap/apple.c: Likewise.
40221 * partmap/gpt.c: Likewise.
40222 * partmap/pc.c: Likewise.
40223 * partmap/sun.c: Likewise.
40224 * term/gfxterm.c: Likewise.
40225 * term/terminfo.c: Likewise.
40226 * term/efi/console.c: Likewise.
40227 * term/i386/pc/console.c: Likewise.
40228 * term/i386/pc/serial.c: Likewise.
40229 * term/i386/pc/vesafb.c: Likewise.
40230 * term/i386/pc/vga.c: Likewise.
40231 * term/ieee1275/ofconsole.c: Likewise.
40232 * util/biosdisk.c: Likewise.
40233 * util/console.c: Likewise.
40234 * util/genmoddep.c: Likewise.
40235 * util/getroot.c: Likewise.
40236 * util/grub-emu.c: Likewise.
40237 * util/grub-mkdevicemap.c: Likewise.
40238 * util/grub-probe.c: Likewise.
40239 * util/lvm.c: Likewise.
40240 * util/misc.c: Likewise.
40241 * util/raid.c: Likewise.
40242 * util/resolve.c: Likewise.
40243 * util/update-grub.in: Likewise.
40244 * util/update-grub_lib.in: Likewise.
40245 * util/grub.d/00_header.in: Likewise.
40246 * util/grub.d/10_hurd.in: Likewise.
40247 * util/grub.d/10_linux.in: Likewise.
40248 * util/i386/efi/grub-install.in: Likewise.
40249 * util/i386/efi/grub-mkimage.c: Likewise.
40250 * util/i386/pc/grub-install.in: Likewise.
40251 * util/i386/pc/grub-mkimage.c: Likewise.
40252 * util/i386/pc/grub-mkrescue.in: Likewise.
40253 * util/i386/pc/grub-setup.c: Likewise.
40254 * util/i386/pc/misc.c: Likewise.
40255 * util/powerpc/ieee1275/grub-install.in: Likewise.
40256 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40257 * util/powerpc/ieee1275/misc.c: Likewise.
40258 * video/bitmap.c: Likewise.
40259 * video/video.c: Likewise.
40260 * video/i386/pc/vbe.c: Likewise.
40261 * video/i386/pc/vbeblit.c: Likewise.
40262 * video/i386/pc/vbefill.c: Likewise.
40263 * video/i386/pc/vbeutil.c: Likewise.
40264 * video/readers/tga.c: Likewise.
40265
40266 2007-07-02 Robert Millan <rmh@aybabtu.com>
40267
40268 * conf/i386-efi.rmk: Replace obsolete reference to
40269 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40270 with util/getroot.c.
40271 * conf/powerpc-ieee1275.rmk: Likewise.
40272 * conf/sparc64-ieee1275.rmk: Likewise.
40273
40274 * util/grub-emu.c (main): Fix unchecked pointer handling.
40275
40276 2007-07-02 Robert Millan <rmh@aybabtu.com>
40277
40278 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40279 invocation to fail, in order to support partition-less media.
40280
40281 * util/i386/pc/grub-install.in: Likewise.
40282
40283 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40284 which fs or partmap modules are needed (akin to its sister scripts).
40285
40286 Also use grub-probe to get rid of unportable /proc/mounts check.
40287
40288 Print the same informational message that the other scripts do, before
40289 exiting.
40290
40291 2007-06-23 Robert Millan <rmh@aybabtu.com>
40292
40293 * util/update-grub_lib.in (font_path): New function. Determine whether
40294 a font file can be found and, if so, echo the GRUB path to it.
40295
40296 * util/update-grub.in: Handle multiple terminals depending on user
40297 input, platform availability and font file presence. Propagate
40298 variables of our findings to /etc/grub.d/ children.
40299
40300 * util/grub.d/00_header.in: Handle multiple terminals, based on
40301 environment setup by update-grub.
40302
40303 2007-06-23 Robert Millan <rmh@aybabtu.com>
40304
40305 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
40306
40307 2007-06-21 Robert Millan <rmh@aybabtu.com>
40308
40309 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40310 indicate end of data section in kernel image.
40311 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40312 GRUB_KERNEL_MACHINE_DATA_END.
40313
40314 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40315 space for it.
40316 * kern/i386/efi/startup.S: Likewise.
40317
40318 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40319 during image generation. Implement --prefix option to override this
40320 patch.
40321 * util/i386/efi/grub-mkimage.c: Likewise.
40322
40323 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40324 code to make path relative to its root into a separate function.
40325
40326 * util/i386/pc/grub-install.in: Use newly provided
40327 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40328 pass the result to grub-install --prefix.
40329
40330 2007-06-13 Robert Millan <rmh@aybabtu.com>
40331
40332 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40333 DEFAULT_DEVICE_MAP.
40334 * util/grub-emu.c: Use above definitions from misc.h instead of
40335 defining them.
40336 * util/grub-mkdevicemap.c: Likewise.
40337 * util/i386/pc/grub-setup.c: Likewise.
40338 * util/grub-probe.c: Likewise.
40339 (probe): Abort with grub_util_error() when either
40340 grub_guess_root_device or grub_util_get_grub_dev fails.
40341
40342 2007-06-12 Robert Millan <rmh@aybabtu.com>
40343
40344 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40345 "pager" assignment.
40346 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40347 "pcdata".
40348 * util/grub-probe.c (probe): Likewise for "drive_name".
40349
40350 2007-06-11 Robert Millan <rmh@aybabtu.com>
40351
40352 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40353 not just the cdrom one.
40354
40355 2007-06-11 Robert Millan <rmh@aybabtu.com>
40356
40357 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40358 Add --pkglibdir=DIR option to override pkglibdir.
40359 Mention --image-type=TYPE in help output.
40360 Fix --grub-mkimage (it was a no-op).
40361 Abort gracefully when no parameter is given.
40362
40363 2007-06-11 Robert Millan <rmh@aybabtu.com>
40364
40365 * util/i386/pc/grub-mkrescue.in: New file.
40366 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40367 * Makefile.in: Handle bin_SCRIPTS.
40368
40369 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40370
40371 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40372 list of video modes.
40373
40374 2007-06-06 Robert Millan <rmh@aybabtu.com>
40375
40376 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40377 file doesn't exist, or if it is in a filesystem grub can't read.
40378
40379 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40380 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40381 header comment to fit in 80 columns when the variables are resolved.
40382
40383 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40384 could be identified by update-grub. Remove redundant check for
40385 unifont.pff existence (since convert_system_path_to_grub_path now
40386 handles that).
40387
40388 2007-06-04 Robert Millan <rmh@aybabtu.com>
40389
40390 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40391
40392 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40393
40394 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40395
40396 2007-06-04 Robert Millan <rmh@aybabtu.com>
40397
40398 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40399
40400 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40401 grub_apple_partition_map_fini.
40402
40403 * util/biosdisk.c
40404 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40405 to access >2 TiB disks).
40406
40407 Print disk->total_sectors with %llu instead of %lu, since this
40408 variable is always 64-bit (prevents wrong disk size from being displayed
40409 on either >2 TiB disk or big-endian CPU).
40410
40411 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40412 into a generic case that supports all (sane) partition maps.
40413
40414 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40415 breaks big-endian.
40416
40417 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40418 and grub_apple_partition_map_fini() after that.
40419
40420 2007-06-01 Robert Millan <rmh@aybabtu.com>
40421
40422 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40423
40424 * util/grub.d/00_header.in: Only enable gfxterm when
40425 convert_system_path_to_grub_path() succeeds.
40426
40427 2007-05-20 Robert Millan <rmh@aybabtu.com>
40428
40429 * util/update-grub_lib.in: New file.
40430 * DISTLIST: Add update-grub_lib.in.
40431 * conf/common.rmk: Generate update-grub_lib and install it in
40432 $(lib_DATA).
40433 * Makefile.in: Add install routine for $(lib_DATA).
40434
40435 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40436 function provided by update-grub_lib to support arbitrary paths of
40437 unifont.pff.
40438 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40439 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40440
40441 2007-05-19 Robert Millan <rmh@aybabtu.com>
40442
40443 * commands/i386/cpuid.c: New module.
40444 * DISTLIST: Add it.
40445 * conf/i386-efi.rmk: Enable cpuid.mod.
40446 * conf/i386-pc.rmk: Likewise.
40447
40448 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40449
40450 * kern/disk.c (grub_disk_read): Check return value of
40451 grub_realloc().
40452
40453 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40454
40455 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40456 arrays.
40457 * disk/raid.c (grub_raid_open): Likewise.
40458
40459 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40460
40461 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40462 stack instead of on the heap.
40463
40464 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40465 before doing a read on it.
40466
40467 * configure.ac: Only use -fno-stack-protector for the target
40468 environment.
40469
40470 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40471
40472 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40473 __attribute_ ((unused)) to mode_type argument.
40474
40475 * util/getroot.c (grub_guess_root_device): Fix #endif.
40476
40477 * kern/misc.c (memcmp): Fix prototype.
40478
40479 * include/grub/partition.h [GRUB_UTIL]
40480 (grub_gpt_partition_map_init): Add prototype.
40481 (grub_gpt_partition_map_fini): Likewise.
40482
40483 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40484 at the right place.
40485
40486 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40487 (grub_fat_read_data): Likewise.
40488 (grub_fat_find_dir): Likewise.
40489
40490 * font/manager.c (find_glyph): Make table a const.
40491 (grub_font_get_glyph): Remove bitmap from if statement.
40492
40493 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40494
40495 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40496 code, first search for device in /dev/mapper, then in /dev.
40497 (grub_util_get_grub_dev): New function.
40498 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40499 prototype.
40500 * util/grub-probe.c (probe): Remove check for RAID, call
40501 grub_util_get_grub_dev() instead of
40502 grub_util_biosdisk_get_grub_dev().
40503 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40504 grub_util_biosdisk_get_grub_dev().
40505 * util/i386/pc/grub-setup.c (main): Likewise.
40506
40507 2007-05-16 Robert Millan <rmh@aybabtu.com>
40508
40509 * DISTLIST: Update for the latest changes.
40510 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40511 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40512 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40513 grub/util/biosdisk.h.
40514 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40515 grub/util/biosdisk.h.
40516
40517 2007-05-16 Robert Millan <rmh@aybabtu.com>
40518
40519 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40520
40521 2007-05-16 Robert Millan <rmh@aybabtu.com>
40522
40523 * util/i386/efi/grub-install.in: New.
40524 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40525 newly added grub-install.
40526 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40527 include.
40528 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40529 grub/util/biosdisk.h.
40530 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40531 grub/util/biosdisk.h.
40532
40533 2007-05-16 Robert Millan <rmh@aybabtu.com>
40534
40535 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40536 * include/grub/util/biosdisk.h: ... here.
40537 * util/i386/pc/biosdisk.c: Moved to ...
40538 * util/biosdisk.c: ... here.
40539 * util/i386/pc/getroot.c: Moved to ...
40540 * util/getroot.c: ... here.
40541 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40542 * util/grub-mkdevicemap.c: ... here.
40543 * util/i386/pc/grub-probe.c: Moved to ...
40544 * util/grub-probe.c: ... here.
40545
40546 2007-05-15 Robert Millan <rmh@aybabtu.com>
40547
40548 * util/update-grub.in: Remove duplicated line in grub.cfg header
40549 message.
40550
40551 2007-05-13 Robert Millan <rmh@aybabtu.com>
40552
40553 * util/update-grub.in: Fix a few assumptions about the devices holding
40554 /, /boot and /boot/grub being the same.
40555 * util/grub.d/00_header.in: Likewise.
40556 * util/grub.d/10_hurd.in: Likewise.
40557 * util/grub.d/10_linux.in: Likewise.
40558
40559 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40560 patterns. Use that to define the `.old' suffix as older than `'.
40561
40562 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40563
40564 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40565 the grub.cfg header message.
40566
40567 2007-05-11 Robert Millan <rmh@aybabtu.com>
40568
40569 * util/update-grub.in: Create device.map if it doesn't already exist,
40570 before attempting to run grub-probe.
40571 Check for grub-probe and grub-mkdevicemap with the same code
40572 grub-install is using.
40573 Remove test mode.
40574
40575 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40576
40577 * Makefile.in: Add the datarootdir autoconf variable.
40578
40579 2007-05-09 Robert Millan <rmh@aybabtu.com>
40580
40581 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
40582 fail gracefully if dev->disk->partition == NULL.
40583
40584 2007-05-07 Robert Millan <rmh@aybabtu.com>
40585
40586 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40587 determine partition map module.
40588 * util/i386/pc/grub-install.in: Use this feature to decide which
40589 partition module to load, instead of hardcoding pc and gpt.
40590
40591 2007-05-07 Robert Millan <rmh@aybabtu.com>
40592
40593 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40594 source directory differs from build directory.
40595
40596 2007-05-05 Robert Millan <rmh@aybabtu.com>
40597
40598 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40599 initialisation.
40600
40601 2007-05-05 Robert Millan <rmh@aybabtu.com>
40602
40603 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40604
40605 2007-05-05 Robert Millan <rmh@aybabtu.com>
40606
40607 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40608 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40609
40610 2007-05-05 Robert Millan <rmh@aybabtu.com>
40611
40612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40613 (grub_probe_SOURCES): Likewise.
40614 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40615 GPT and initialize dos_part and bsd_part accordingly.
40616 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40617 install_bsd_part.
40618 (main): Activate gpt module for use during partition identification,
40619 and deactivate it afterwards.
40620 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40621 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40622 partition identification, and deactivate it afterwards.
40623
40624 2007-05-05 Robert Millan <rmh@aybabtu.com>
40625
40626 * term/i386/pc/console.c (grub_console_fini): Call
40627 grub_term_set_current() before grub_term_unregister().
40628
40629 2007-05-04 Robert Millan <rmh@aybabtu.com>
40630
40631 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40632 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40633 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40634 and update-grub_DATA.
40635 * conf/common.rmk: Build and install update-grub components.
40636 * conf/common.mk: Regenerate.
40637 * util/update-grub.in: New. Core of update-grub.
40638 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40639 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40640 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40641 * util/grub.d/README: New. Document grub.d directory layout.
40642
40643 2007-05-01 Robert Millan <rmh@aybabtu.com>
40644
40645 * util/grub-emu.c: Move initialization functions
40646 grub_util_biosdisk_init() and grub_init_all() before
40647 grub_util_biosdisk_get_grub_dev(), which relies on them.
40648
40649 2007-04-19 Robert Millan <rmh@aybabtu.com>
40650
40651 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40652 it is used later.
40653
40654 2007-04-18 Jerone Young <jerone@gmail.com>
40655
40656 * kernel/elf.c: Add missing parenthesis for conditional statement
40657 stanza.
40658
40659 2007-04-10 Jerone Young <jerone@gmail.com>
40660
40661 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40662 continue on and look for device node with real device name.
40663
40664 2007-04-10 Jerone Young <jerone@gmail.com>
40665
40666 * configure.ac: Add argument for autoconf to use transformation
40667 ability.
40668 * Makefile.in: Add autoconf package transformation code.
40669 * util/i386/pc/grub-install.in: Likewise.
40670 * util/powerpc/ieee1275/grub-install.in: Likewise.
40671
40672 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40673
40674 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40675 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40676 (EXT2_REVISION): Likewise.
40677 (EXT2_INODE_SIZE): Likewise.
40678 (struct grub_ext2_block_group): Added a missing member
40679 "used_dirs".
40680 (grub_ext2_read_inode): Divide by the inode size in a superblock
40681 instead of 128 to obtain INODES_PER_BLOCK.
40682 Use the macro EXT2_INODE_SIZE instead of directly using
40683 SBLOCK->INODE_SIZE.
40684
40685 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40686
40687 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40688 superblock instead of the structure size to compute an
40689 offset. This fixes the problem that GRUB could not read a
40690 filesystem when inode size is different from 128-byte.
40691
40692 2007-03-05 Marco Gerards <marco@gnu.org>
40693
40694 * normal/main.c (read_config_file): When "menu" is not set, create
40695 an initial context.
40696
40697 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40698
40699 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40700 (HEAP_LIMIT): New macro.
40701 (grub_claim_heap): Claim memory up to `heaplimit'.
40702
40703 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40704
40705 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40706 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40707 (_start): Likewise.
40708 (grub_arch_modules_addr): Return address after `_end'.
40709 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40710 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40711 (add_segments): Calculate `_end' from phdr size and location.
40712 (ALIGN_UP): Moved to ...
40713 * include/grub/misc.h: here.
40714 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40715 New macro.
40716 (GRUB_IEEE1275_MODULE_BASE): Removed.
40717
40718 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40719
40720 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40721 loop boundary.
40722
40723 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40724
40725 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40726 All users updated.
40727 (grub_elf64_load_hook_t): Likewise.
40728 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40729 debug output.
40730
40731 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40732
40733 * kern/mm.c: Update copyright.
40734 (grub_mm_debug): Correct syntax error.
40735 (grub_mm_dump_free): New function.
40736 (grub_debug_free): Call `grub_free'.
40737 * include/grub/mm.h: Update copyright.
40738 (grub_mm_dump_free): Add declaration.
40739
40740 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40741
40742 * include/grub/ieee1275/ieee1275.h: Update copyright.
40743 * kern/powerpc/ieee1275/init.c: Likewise.
40744 * kern/powerpc/ieee1275/openfw.c: Likewise.
40745
40746 * loader/powerpc/ieee1275/linux.c: Likewise.
40747 * include/grub/elfload.h: Likewise.
40748 * kern/elf.c: Likewise.
40749 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40750 callers.
40751 (grub_elf64_load): Likewise.
40752 (grub_elf32_load_segment): Move to a nested function.
40753 (grub_elf64_load_segment): Likewise.
40754
40755 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40756
40757 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40758 prototype.
40759 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40760 (grub_heap_len): Likewise.
40761 (HEAP_SIZE): New macro.
40762 (grub_claim_heap): New function.
40763 (grub_machine_init): Don't claim heap directly. Call
40764 `grub_claim_heap'.
40765 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40766 (grub_available_iterate): New function.
40767
40768 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40769
40770 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40771 * configure.ac: Use it for testing the HOST and TARGET compilers.
40772
40773 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40774
40775 * Makefile.in (enable_grub_emu): New variable.
40776 * configure.ac (--enable-grub-emu): New option.
40777 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40778 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40779 * conf/i386-pc.rmk: Likewise.
40780 * conf/powerpc-ieee1275.rmk: Likewise.
40781 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40782
40783 2006-12-12 Marco Gerards <marco@gnu.org>
40784
40785 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40786
40787 * kern/env.c (grub_env_unset): Don't free the member `value' when
40788 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40789 pointer.
40790
40791 * normal/main.c (current_menu): Removed.
40792 (free_menu): Unset the `menu' environment variable.
40793 (grub_normal_menu_addentry): Make use of the environment variable
40794 `menu', instead of using the global `current_menu'. Allocate
40795 memory for the sourcecode of this entry.
40796 (read_config_file): New argument `nested', changed all callers.
40797 Only in the case of a new context, initialize a new menu. Set the
40798 `menu' environment variable.
40799 (grub_normal_execute): Don't set and unset the environment
40800 variable `menu' here anymore. Only free the menu when leaving the
40801 context.
40802
40803 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40804 leak.
40805
40806 2006-12-11 Marco Gerards <marco@gnu.org>
40807
40808 * normal/menu_entry.c (run): Fix off by one bug so the last line
40809 is executed. Move the loader check to outside the loop.
40810
40811 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40812
40813 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40814
40815 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40816
40817 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40818 the number of sectors. Reported by Andrey Shuvikov
40819 <mr_hyro@yahoo.com>.
40820
40821 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40822
40823 * kern/disk.c (grub_disk_read): When there is a read error, always
40824 try to read only the necessary data.
40825
40826 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40827 disk/raid.c.
40828 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40829 prototype.
40830 [GRUB_UTIL] (grub_raid_fini): Likewise.
40831 [GRUB_UTIL] (grub_lvm_init): Likewise.
40832 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40833 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40834 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40835 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40836 and grub_raid_fini().
40837
40838 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40839
40840 * include/grub/types.h (__unused): Rename to UNUSED.
40841 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40842 (grub_elf64_size): Likewise.
40843
40844 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40845
40846 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40847 grub_error_push and grub_error_pop in the error-handling path.
40848 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40849 length.
40850
40851 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40852
40853 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40854 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40856 (kernel_elf_SOURCES): Likewise.
40857 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40858 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40859 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40860 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40861 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40862 (elf_mod_SOURCES): New variable.
40863 (elf_mod_CFLAGS): Likewise.
40864 (elf_mod_LDFLAGS): Likewise.
40865 * include/grub/types.h (__unused): New macro.
40866 * include/grub/elfload.h: New file.
40867 * kern/elf.c: Likewise.
40868 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40869 (ELF32_LOADMASK): New macro.
40870 (ELF64_LOADMASK): Likewise.
40871 (vmlinux): Removed.
40872 (grub_linux_load32): New function.
40873 (grub_linux_load64): Likewise.
40874 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40875 Use grub_elf_t instead of grub_file_t.
40876
40877 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40878
40879 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40880 `catch_result' to struct set_color_args.
40881
40882 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40883
40884 * normal/menu.c: Include grub/script.h.
40885 * normal/menu_entry.c: Likewise.
40886 * include/grub/normal.h: Do not include grub/script.h.
40887
40888 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40889
40890 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40891
40892 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40893
40894 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40895 disk.
40896 (grub_disk_close): Print debug messages when closing a disk.
40897 (grub_disk_read): Print debug messages when disk read fails.
40898 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40899 filesystem type.
40900 * kern/partition.c: Include misc.h.
40901 (grub_partition_iterate): Print debug messages when detecting
40902 partition type.
40903
40904 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40905
40906 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40907 is negative.
40908 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40909
40910 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40911
40912 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40913 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40914
40915 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40916
40917 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40918 instead of sizeof(lv). Patch by Michael Guntsche.
40919
40920 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40921
40922 * disk/lvm.c: Rename VGS to VG_LIST.
40923 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40924 (grub_lvm_open): Likewise.
40925 Thanks to Michael Guntsche for finding this bug.
40926
40927 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40928
40929 * configure.ac (AC_INIT): Bumped to 1.95.
40930
40931 2006-10-14 Robert Millan <rmh@aybabtu.com>
40932
40933 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40934 with "/dev/.static/dev/md".
40935
40936 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40937
40938 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40939 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40940 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40941 DRIVE_NAME are always freed.
40942
40943 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40944 DOS_PART, as a DOS partition is counted from one instead of zero
40945 now. Reported by Robert Millan.
40946
40947 2006-10-14 Robert Millan <rmh@aybabtu.com>
40948
40949 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40950 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40951 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40952 string returned by grub_guess_root_device.
40953 * util/i386/pc/grub-setup.c: Likewise.
40954 * util/i386/pc/grub-probefs.c: Likewise.
40955
40956 * util/i386/pc/grub-probefs.c: Rename to ...
40957 * util/i386/pc/grub-probe.c: ... this.
40958 * DISTLIST: Remove grub-probefs, add grub-probe.
40959 * conf/i386-efi.rmk: Likewise.
40960 * conf/i386-pc.rmk: Likewise.
40961 * util/i386/pc/grub-install.in: Likewise.
40962
40963 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40964 choose which information we want to print.
40965
40966 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40967
40968 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40969 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40970 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40971 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40972 video/readers/tga.c and video/i386/pc/vbeutil.c.
40973
40974 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40975
40976 Added support for RAID and LVM.
40977
40978 * disk/lvm.c: New file.
40979 * disk/raid.c: Likewise.
40980 * include/grub/lvm.h: Likewise.
40981 * include/grub/raid.h: Likewise.
40982 * include/grub/util/lvm.h: Likewise.
40983 * include/grub/util/raid.h: Likewise.
40984 * util/lvm.c: Likewise.
40985 * util/raid.c: Likewise.
40986
40987 * include/grub/disk.h (grub_disk_dev_id): Add
40988 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40989 (grub_disk_get_size): New prototype.
40990 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40991 returns a partition.
40992 (grub_disk_get_size): New function.
40993
40994 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40995 verbatim if grub_install_dos_part is -2.
40996
40997 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40998 and LVM devices.
40999
41000 * util/i386/pc/grub-setup.c (setup): New argument
41001 MUST_EMBED. Force embedding of GRUB when the argument is
41002 true. Close FILE before returning.
41003 (main): Add support for RAID and LVM.
41004
41005 * conf/common.rmk: Add RAID and LVM modules.
41006 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41007 util/lvm.c.
41008 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41009
41010 * kern/misc.c (grub_strstr): New function.
41011 * include/grub/misc.h (grub_strstr): New prototype.
41012
41013 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41014
41015 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41016
41017 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41018
41019 * kern/misc.c (grub_strtoull): Guess the base only if not
41020 specified.
41021
41022 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41023
41024 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41025 PowerMac support.
41026
41027 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41028
41029 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41030
41031 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41032 Remove `flags' argument. All callers changed.
41033 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41034 (IEEE1275_IHANDLE_INVALID): New variable.
41035 (IEEE1275_CELL_INVALID): New variable.
41036 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41037 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41038 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41039 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41040 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41041 codes from Open Firmware. All callers updated.
41042 (grub_ieee1275_next_property): Directly return Open Firmware return
41043 code.
41044 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41045 Standardize error checking from `grub_ieee1275_get_property'.
41046 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41047 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41048
41049 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41050
41051 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41052 `instance_to_package_args' to `instance_to_path_args'.
41053
41054 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41055 `grub_ieee1275_chosen'.
41056
41057 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41058 `grub_ieee1275_interpret'.
41059
41060 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41061
41062 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41063
41064 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41065
41066 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41067 (__cmpdi): Likewise.
41068
41069 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41070 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41071 `grub_ssize_t'.
41072
41073 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
41074
41075 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41076 to type `grub_ssize_t'.
41077 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41078
41079 2006-09-22 Marco Gerards <marco@gnu.org>
41080
41081 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41082 newlines.
41083
41084 2006-09-22 Marco Gerards <marco@gnu.org>
41085
41086 * commands/echo.c: New file.
41087
41088 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41089
41090 * conf/common.rmk (echo_mod_SOURCES): New variable.
41091 (echo_mod_CFLAGS): Likewise.
41092 (echo_mod_LDFLAGS): Likewise.
41093
41094 2006-09-22 Marco Gerards <marco@gnu.org>
41095
41096 * normal/main.c (get_line): Malloc memory instead of using
41097 preallocated memory. Removed the arguments `cmdline' and
41098 `max_len'. Updated all callers.
41099
41100 2006-09-22 Marco Gerards <marco@gnu.org>
41101
41102 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41103 (normal_mod_DEPENDENCIES): Likewise.
41104
41105 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41106 (normal_mod_DEPENDENCIES): Likewise.
41107
41108 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41109
41110 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
41111
41112 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41113 programs.
41114 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41115 (normal_mod_DEPENDENCIES): Likewise.
41116 * conf/i386-pc.mk: Regenerate.
41117 * conf/i386-efi.mk: Likewise
41118 * conf/common.mk: Likewise.
41119 * conf/powerpc-ieee1275.mk: Likewise.
41120 * conf/sparc64-ieee1275.mk: Likewise.
41121
41122 2006-09-22 Robert Millan <rmh@aybabtu.com>
41123
41124 Sync with i386 version.
41125 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41126 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41127
41128 2006-09-21 Robert Millan <rmh@aybabtu.com>
41129
41130 Import from GRUB Legacy (lib/device.c):
41131 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41132 (init_device_map) [__linux__]: Add support for I2O devices.
41133
41134 2006-09-14 Marco Gerards <marco@gnu.org>
41135
41136 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41137 `-melf_i386'.
41138
41139 2006-09-14 Robert Millan <rmh@aybabtu.com>
41140
41141 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41142 /boot/grub/*.lst.
41143
41144 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
41145
41146 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41147 before adding it to device.map.
41148
41149 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
41150
41151 * genmk.rb: Let GCC generate dependencies the first time it
41152 compiles a file; using the -MD option.
41153 * conf/common.mk: Regenerate.
41154 * conf/i386-pc.mk: Likewise.
41155 * conf/i386-efi.mk: Likewise.
41156 * conf/powerpc-ieee1275.mk: Likewise.
41157 * conf/sparc64-ieee1275.mk: Likewise.
41158
41159 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41160
41161 Move the prototypes of grub_setjmp and grub_longjmp to
41162 cpu/setjmp.h, so that each architecture may specify different
41163 attributes.
41164
41165 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41166 (grub_longjmp): Likewise.
41167 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41168 (grub_longjmp): Likewise.
41169 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41170 (grub_longjmp): Likewise.
41171
41172 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41173 [!GRUB_UTIL] (grub_longjmp): Removed.
41174
41175 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41176
41177 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41178 "color!" method does not return any value.
41179
41180 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41181
41182 * include/grub/bitmap.h: New file.
41183
41184 * include/grub/i386/pc/vbeutil.h: Likewise.
41185
41186 * video/bitmap.c: Likewise.
41187
41188 * video/readers/tga.c: Likewise.
41189
41190 * video/i386/pc/vbeutil.c: Likewise.
41191
41192 * commands/videotest.c: Code cleanup and updated to reflect to new
41193 video API.
41194
41195 * term/gfxterm.c: Likewise.
41196
41197 * video/video.c: Likewise.
41198
41199 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41200 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41201 (bitmap_mod_SOURCES): New entry.
41202 (bitmap_mod_CFLAGS): Likewise.
41203 (bitmap_mod_LDFLAGS): Likewise.
41204 (tga_mod_SOURCES): Likewise.
41205 (tga_mod_CFLAGS): Likewise.
41206 (tga_mod_LDFLAGS): Likewise.
41207
41208 * include/grub/video.h (grub_video_blit_operators): New enum type.
41209 (grub_video_render_target): Changed as forward declaration and moved
41210 actual definition to be video driver specific.
41211 (grub_video_adapter.blit_bitmap): Added blitting operator.
41212 (grub_video_adapter.blit_render_target): Likewise.
41213 (grub_video_blit_bitmap): Likewise.
41214 (grub_video_blit_render_target): Likewise.
41215
41216 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41217 driver specific render target definition.
41218 (grub_video_vbe_map_rgba): Added driver internal helper.
41219 (grub_video_vbe_unmap_color): Updated to use
41220 grub_video_i386_vbeblit_info.
41221 (grub_video_vbe_get_video_ptr): Likewise.
41222
41223 * include/grub/i386/pc/vbeblit.h
41224 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41225 grub_video_i386_vbeblit_info.
41226 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41227 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41228 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41230 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41231 (grub_video_i386_vbeblit_index_index): Likewise.
41232 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41233 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41234 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41235 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41236 operator.
41237 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41238 operator.
41239
41240 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41241 include/grub/i386/pc/vbeblit.h.
41242
41243 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41244 Updated to use grub_video_i386_vbeblit_info.
41245 (grub_video_i386_vbefill_R8G8B8): Likewise.
41246 (grub_video_i386_vbefill_index): Likewise.
41247 (grub_video_i386_vbefill): Added generic filler.
41248
41249 * video/i386/pc/vbefill.c: Updated to reflect changes on
41250 include/grub/i386/pc/vbefill.h.
41251
41252 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41253 grub_video_i386_vbeblit_info.
41254 (grub_video_vbe_unmap_color): Likewise.
41255 (grub_video_vbe_blit_glyph): Likewise.
41256 (grub_video_vbe_scroll): Likewise.
41257 (grub_video_vbe_draw_pixel): Removed function.
41258 (grub_video_vbe_get_pixel): Likewise.
41259 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41260 updated code to use it.
41261 (common_blitter): Added common blitter for render target and bitmap.
41262 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41263 (grub_video_vbe_blit_render_target): Likewise.
41264
41265 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
41266
41267 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41268 is in text mode if there is no console control protocol instance
41269 available.
41270
41271 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41272
41273 * include/grub/video.h: Code cleanup.
41274
41275 * include/grub/i386/pc/vbe.h: Likewise.
41276
41277 * video/i386/pc/vbe.c: Likewise.
41278
41279 * video/i386/pc/vbeblit.c: Likewise.
41280
41281 * video/i386/pc/vbefill.c: Likewise.
41282
41283 * video/video.c: Likewise. Also added more comments.
41284
41285 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41286
41287 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41288 (struct grub_biosdisk_dap): Likewise.
41289
41290 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41291 linkage settings for all functions.
41292
41293 2006-07-12 Marco Gerards <marco@gnu.org>
41294
41295 * configure.ac (--enable-mm-debug): Fix typo.
41296
41297 * genkernsyms.sh.in: Use proper quoting for `CC'.
41298
41299 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41300
41301 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41302 (normal_mod_ASFLAGS): Remove "-m32".
41303
41304 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41305
41306 * util/misc.c: Include config.h.
41307 [!HAVE_MEMALIGN]: Do not include malloc.h.
41308 (grub_memalign): Use posix_memalign, if present. Then, use
41309 memalign, if present. Otherwise, emit an error.
41310
41311 * util/grub-emu.c: Do not include malloc.h.
41312
41313 * include/grub/util/misc.h: Include unistd.h. This is required for
41314 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41315 D. Eades III <hde@foobar-qux.org>.
41316
41317 * configure.ac (AC_GNU_SOURCE): Added.
41318 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41319 type.
41320
41321 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41322
41323 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41324 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41325
41326 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41327
41328 * include/grub/types.h (grub_host_addr_t): Rename to
41329 grub_target_addr_t.
41330 (grub_host_off_t): Rename to grub_target_off_t.
41331 (grub_host_size_t): Rename to grub_target_size_t.
41332 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41333 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41334
41335 * include/grub/kernel.h (struct grub_module_header): Change type
41336 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41337 (grub_module_info): Likewise.
41338
41339 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41340
41341 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41342 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41343 Velazquez <jesus.velazquez@gmail.com>.
41344
41345 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41346
41347 Count partitions from 1 instead of 0 in the string representation
41348 of partitions. Still use 0-based internally.
41349
41350 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41351 (sun_partition_map_iterate): Use grub_partition_t instead of
41352 struct grub_partition *. Cast DESC->START_CYLINDER to
41353 grub_uint64_t after converting the endian.
41354 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41355 (sun_partition_map_get_name): Add 1 to P->INDEX.
41356
41357 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41358 PCDATA->DOS_PART.
41359 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41360
41361 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41362 zero instead of one.
41363 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41364 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41365
41366 * partmap/apple.c (apple_partition_map_iterate): Change the type
41367 of POS to unsigned.
41368 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41369 (apple_partition_map_get_name): Add 1 into P->INDEX.
41370
41371 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41372 of POS to unsigned.
41373 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41374 calculate the offset of a partition.
41375 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41376 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41377
41378 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41379 SECTOR to grub_disk_addr_t.
41380 (acorn_partition_map_iterate): Likewise.
41381 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41382 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41383 top.
41384 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41385
41386 * kern/i386/pc/init.c (make_install_device): Add 1 into
41387 GRUB_INSTALL_DOS_PART.
41388
41389 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41390 conditional.
41391
41392 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41393
41394 Clean up the code to support 64-bit addressing in disks and
41395 files. This change is not enough for filesystems yet.
41396
41397 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41398 type of "start" to grub_uint64_t.
41399 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41400 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41401 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41402 convert addresses.
41403
41404 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41405 to grub_disk_addr_t.
41406
41407 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41408 string.
41409
41410 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41411
41412 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41413 to char *.
41414
41415 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41416
41417 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41418
41419 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41420
41421 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41422 to grub_off_t, to detect an error from grub_file_seek.
41423 (grub_multiboot_load_elf32): Likewise.
41424
41425 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41426 maximum unsigned long value when an overflow is detected.
41427 (grub_strtoull): New function.
41428 (grub_divmod64): Likewise.
41429 (grub_lltoa): use grub_divmod64.
41430
41431 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41432 grub_disk_addr_t.
41433 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41434 the pointer to next character. Use grub_strtoull instead of
41435 grub_strtoul.
41436 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41437 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41438 respectively.
41439
41440 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
41441 return value is signed.
41442 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41443 test if OFFSET is less than zero, as OFFSET is unsigned now.
41444
41445 * kern/disk.c (struct grub_disk_cache): Change the type of
41446 "sector" to grub_disk_addr_t.
41447 (grub_disk_cache_get_index): Change the type of SECTOR to
41448 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41449 unsigned after shifting.
41450 (grub_disk_cache_invalidate): Change the type of SECTOR to
41451 grub_disk_addr_t.
41452 (grub_disk_cache_unlock): Likewise.
41453 (grub_disk_cache_store): Likewise.
41454 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41455 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41456 grub_disk_addr_t and grub_uint64_t, respectively.
41457 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41458 body, as the value of OFFSET is tweaked by
41459 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41460 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41461 respectively.
41462 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41463 body, as the value of OFFSET is tweaked by
41464 grub_disk_check_range. Change the types of LEN and N to
41465 grub_size_t.
41466
41467 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41468 and "saved_offset" to grub_off_t.
41469 (test_header): Cast BUF to char *.
41470 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41471 to char *.
41472 (grub_gzio_read): Change the types of OFFSET and SIZE to
41473 grub_off_t and grub_size_t, respectively.
41474
41475 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41476 Removed.
41477 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41478 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41479 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41480 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41481 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41482
41483 * include/grub/types.h (grub_off_t): Unconditionally set to
41484 grub_uint64_t.
41485 (grub_disk_addr_t): Changed to grub_uint64_t.
41486
41487 * include/grub/partition.h (struct grub_partition): Change the
41488 types of "start", "len" and "offset" to grub_disk_addr_t,
41489 grub_uint64_t and grub_disk_addr_t, respectively.
41490 (grub_partition_get_start): Return grub_disk_addr_t.
41491 (grub_partition_get_len): Return grub_uint64_t.
41492
41493 * include/grub/misc.h (grub_strtoull): New prototype.
41494 (grub_divmod64): Likewise.
41495
41496 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41497 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41498 grub_off_t, respectively.
41499 All callers and references changed.
41500
41501 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41502 grub_size_t in "read".
41503 All callers and references changed.
41504
41505 * include/grub/file.h (struct grub_file): Change the types of
41506 "offset" and "size" to grub_off_t and grub_off_t,
41507 respectively. Change the type of SECTOR to grub_disk_addr_t in
41508 "read_hook".
41509 (grub_file_read): Change the type of LEN to grub_size_t.
41510 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41511 grub_off_t.
41512 (grub_file_size): Return grub_off_t.
41513 (grub_file_tell): Likewise.
41514 All callers and references changed.
41515
41516 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41517 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41518 "write".
41519 (struct grub_disk): Change the type of "total_sectors" to
41520 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
41521 "read_hook".
41522 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41523 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41524 (grub_disk_write): Likewise.
41525 All callers and references changed.
41526
41527 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41528 char * for grub_strncmp to silence gcc.
41529 (grub_iso9660_mount): Likewise.
41530 (grub_iso9660_mount): Likewise.
41531 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41532 return statement.
41533 (grub_iso9660_iterate_dir): Likewise.
41534 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41535
41536 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41537 LEN to grub_disk_addr_t and grub_size_t, respectively.
41538
41539 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41540
41541 * fs/jfs.c (grub_jfs_read_file): Likewise.
41542
41543 * fs/minix.c (grub_jfs_read_file): Likewise.
41544
41545 * fs/sfs.c (grub_jfs_read_file): Likewise.
41546
41547 * fs/ufs.c (grub_jfs_read_file): Likewise.
41548
41549 * fs/xfs.c (grub_jfs_read_file): Likewise.
41550
41551 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41552 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41553 respectively.
41554
41555 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41556 BLKNR to -1 instead of returning GRUB_ERRNO.
41557 (grub_ext2_read_file): Change the types of SECTOR and
41558 LEN to grub_disk_addr_t and grub_size_t, respectively.
41559
41560 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41561 LEN to grub_disk_addr_t and grub_size_t, respectively.
41562
41563 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41564 grub_file_read.
41565
41566 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41567 string. Do not cast SECTOR explicitly.
41568
41569 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41570 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41571 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41572 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41573 over 2TB and LBA mode is not supported, raise an error.
41574 (get_safe_sectors): New function.
41575 (grub_biosdisk_read): Use get_safe_sectors.
41576 (grub_biosdisk_write): Likewise.
41577
41578 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41579 (grub_efidisk_write): Likewise.
41580
41581 * disk/loopback.c (delete_loopback): Cosmetic changes.
41582 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41583 correctly.
41584 (grub_loopback_open): Likewise.
41585 (grub_loopback_read): Likewise. Also, change the type of POS to
41586 grub_off_t, and fix the usage of grub_memset.
41587
41588 * commands/i386/pc/play.c: Include grub/machine/time.h.
41589
41590 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41591 print FILE->SIZE.
41592
41593 * commands/configfile.c: Include grub/env.h.
41594
41595 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41596 GRUB_ERRNO directly instead. Change the type of POS to
41597 grub_off_t. Follow the coding standard.
41598
41599 * commands/blocklist.c: Include grub/partition.h.
41600 (grub_cmd_blocklist): Return an error if the underlying device is
41601 not a disk. Take the starting sector of a partition into account,
41602 if a partition is used.
41603
41604 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41605 a length field.
41606 (lba_mode): Support 64-bit addresses.
41607 (chs_mode): Likewise.
41608 (copy_buffer): Adapted to the new offsets of a length field and a
41609 segment field.
41610 (blocklist_default_start): Allocate 64-bit space.
41611
41612 * boot/i386/pc/boot.S (force_lba): Removed.
41613 (boot_drive): Moved to under KERNEL_SECTOR.
41614 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
41615 space.
41616 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41617 is useless.
41618 (lba_mode): Refactored to support a 64-bit address. More size
41619 optimization.
41620 (setup_sectors): Likewise.
41621
41622 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41623
41624 * DISTLIST: Added include/grub/i386/linux.h. Removed
41625 include/grub/i386/pc/linux.h
41626
41627 * configure.ac (AC_INIT): Bumped to 1.94.
41628
41629 * config.guess: Updated from gnulib.
41630 * config.sub: Likewise.
41631 * install-sh: Likewise.
41632 * mkinstalldirs: Likewise.
41633
41634 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41635
41636 * conf/common.rmk (grub_modules_init.lst): Depended on
41637 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41638 MODSRCFILES.
41639
41640 * genmk.rb (PModule::rule): Reverted the previous change.
41641
41642 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41643
41644 * conf/common.rmk (grub_modules_init.lst): Depends on
41645 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41646 that the target does not exist before producing.
41647 (grub_modules_init.h): Remove the target before generating.
41648 (grub_emu_init.c): Likewise.
41649
41650 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41651
41652 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41653
41654 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41655 for the target-specific tests. Make sure that we also have the
41656 up-to-date target variables for those tests.
41657
41658 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41659
41660 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41661 (PModule::rule): Likewise.
41662
41663 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41664
41665 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41666 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41667 target-specific flags should be prefixed.
41668 (PModule::rule): Likewise.
41669
41670 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41671
41672 * configure.ac (CMP): Check if cmp is available explicitly.
41673
41674 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41675
41676 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41677 (target_cpu): New variable.
41678 (pkglibdir): Use target_cpu instead of host_cpu.
41679
41680 * util/i386/pc/grub-install.in (host_cpu): Removed.
41681 (target_cpu): New variable.
41682 (pkglibdir): Use target_cpu instead of host_cpu.
41683
41684 * util/genmoddep.c: Removed.
41685
41686 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41687 instead of GRUB_HOST_SIZEOF_VOID_P.
41688 * kern/dl.c: Likewise.
41689
41690 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41691 ...
41692 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41693 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41694 (GRUB_TARGET_SIZEOF_LONG): ... this.
41695 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41696 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41697 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41698 to ...
41699 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41700 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41701 (GRUB_TARGET_SIZEOF_LONG): ... this.
41702 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41703 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41704 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41705 to ...
41706 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41707 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41708 (GRUB_TARGET_SIZEOF_LONG): ... this.
41709 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41710 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41711
41712 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41713 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41714 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41715 instead of GRUB_HOST_SIZEOF_LONG.
41716 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41717 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41718 GRUB_CPU_WORDS_BIGENDIAN.
41719 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41720 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41721 grub_host_ssize_t.
41722
41723 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41724 (genmoddep_SOURCES): Likewise.
41725 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41726 (genmoddep_SOURCES): Likewise.
41727 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41728 (genmoddep_SOURCES): Likewise.
41729 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41730 Likewise.
41731 (genmoddep_SOURCES): Likewise.
41732
41733 * genmoddep.awk: New file.
41734
41735 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41736 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41737 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41738 (PModule::rule): Likewise.
41739 (Program::rule): Likewise.
41740 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41741 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41742 respectively.
41743
41744 * configure.ac: Rewritten intensively to use host and target
41745 instead of build and host, respectively.
41746
41747 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41748 (host_cpu): Removed.
41749 (target_cpu): New variable.
41750 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41751 (BUILD_CC): Removed.
41752 (BUILD_CFLAGS): Likewise.
41753 (BUILD_CPPFLAGS): Likewise.
41754 (TARGET_CC): New variable.
41755 (TARGET_CFLAGS): Likewise.
41756 (TARGET_CPPFLAGS): Likewise.
41757 (TARGET_LDFLAGS): Likewise.
41758 (AWK): Likewise.
41759 (include): Use target_cpu instead of host_cpu.
41760 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41761
41762 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41763
41764 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41765
41766 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41767 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41768 field 'false' to 'exec_on_false'.
41769 (grub_script_create_cmdif): Renamed argument names to reflect above
41770 changes.
41771
41772 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41773
41774 * normal/script.c (grub_script_create_cmdif): Likewise.
41775
41776 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41777
41778 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41779 top.
41780 (grub_hfsplus_btree_recptr): Likewise.
41781 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41782 FILEBLOCK both to pass a block number and store next block
41783 number.
41784 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41785 overflow file correctly. Specify errors appropriately, because
41786 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41787 grub_hfsplus_btree_recptr to get the pointer to a found key.
41788 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41789 is found.
41790
41791 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41792 linux.mod.
41793 (_linux_mod_SOURCES): New variable.
41794 (_linux_mod_CFLAGS): Likewise.
41795 (_linux_mod_LDFLAGS): Likewise.
41796 (linux_mod_SOURCES): Likewise.
41797 (linux_mod_CFLAGS): Likewise.
41798 (linux_mod_LDFLAGS): Likewise.
41799
41800 * DISTLIST: Added loader/i386/efi/linux.c,
41801 loader/i386/efi/linux_normal.c and
41802 include/grub/i386/efi/loader.h.
41803
41804 * loader/i386/efi/linux.c: New file.
41805 * loader/i386/efi/linux_normal.c: Likewise.
41806 * include/grub/i386/efi/loader.h: Likewise.
41807
41808 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41809
41810 * commands/blocklist.c: New file.
41811
41812 * DISTLIST: Added commands/blocklist.c.
41813
41814 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41815 color for the background, and a darker color for the foreground.
41816 (grub_console_checkkey): Return READ_KEY.
41817 (grub_console_cls): Set the background to
41818 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41819
41820 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41821
41822 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41823 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41824
41825 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41826 prototype.
41827
41828 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41829 BG. The spec is wrong again.
41830
41831 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41832 prototype.
41833 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41834
41835 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41836 commands/blocklist.c.
41837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41838
41839 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41840 (blocklist_mod_SOURCES): New variable.
41841 (blocklist_mod_CFLAGS): Likewise.
41842 (blocklist_mod_LDFLAGS): Likewise.
41843
41844 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41845
41846 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41847 duplication.
41848 (lba_mode): Use %eax more intensively to reduce the code size.
41849
41850 2006-05-20 Marco Gerards <marco@gnu.org>
41851
41852 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41853
41854 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41855 for `menuentry'.
41856 (script): Accept leading newlines.
41857 (newlines): New rule to describe 0 or more newlines.
41858 (commands): Accept `command' with trailing newline. Fixed the
41859 order in which arguments were passed to `grub_script_add_cmd'.
41860 Accept commands separated by newlines.
41861 (function): Changed to accept newlines.
41862 (menuentry) Rewritten.
41863
41864 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41865 front of the list, instead of to the end.
41866
41867 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41868
41869 * util/i386/pc/grub-install.in (bindir): New variable.
41870 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41871 Shaver <lbgwjl@gmail.com>.
41872
41873 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41874
41875 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41876 grub/machine/linux.h
41877 * loader/i386/pc/linux.c: Likewise.
41878
41879 * include/grub/i386/pc/linux.h: Moved to ...
41880 * include/grub/i386/linux.h: ... here.
41881
41882 * include/grub/i386/linux.h (struct linux_kernel_params): New
41883 struct.
41884
41885 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41886
41887 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41888 checking.
41889 (grub_video_vbe_blit_glyph): Likewise.
41890 (grub_video_vbe_blit_bitmap): Likewise.
41891 (grub_video_vbe_blit_render_target): Likewise.
41892
41893 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41894
41895 * configure.ac (--with-platform): Properly quote the square
41896 brackets.
41897
41898 2006-05-08 Marco Gerards <marco@gnu.org>
41899
41900 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41901 this...
41902 (kernel_elf_HEADERS): ...to this. Updated all users.
41903 (grubof_symlist.c): Renamed from this...
41904 (kernel_elf_symlist.c): ...to this. Updated all users.
41905 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41906 (grubof_SOURCES): Renamed from this...
41907 (kernel_elf_SOURCES): ...to this.
41908 (grubof_HEADERS): Renamed from this...
41909 (kernel_elf_HEADERS): ...to this.
41910 (grubof_CFLAGS): Renamed from this...
41911 (kernel_elf_CFLAGS): ...to this.
41912 (grubof_ASFLAGS): Renamed from this...
41913 (kernel_elf_ASFLAGS): ...to this.
41914 (grubof_LDFLAGS): Renamed from this...
41915 (kernel_elf_LDFLAGS): ...to this.
41916
41917 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41918 this...
41919 (kernel_elf_HEADERS): ...to this. Updated all users.
41920 (grubof_symlist.c): Renamed from this...
41921 (kernel_elf_symlist.c): ...to this. Updated all users.
41922 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41923 (grubof_SOURCES): Renamed from this...
41924 (kernel_elf_SOURCES): ...to this.
41925 (grubof_HEADERS): Renamed from this...
41926 (kernel_elf_HEADERS): ...to this.
41927 (grubof_CFLAGS): Renamed from this...
41928 (kernel_elf_CFLAGS): ...to this.
41929 (grubof_ASFLAGS): Renamed from this...
41930 (kernel_elf_ASFLAGS): ...to this.
41931 (grubof_LDFLAGS): Renamed from this...
41932 (kernel_elf_LDFLAGS): ...to this.
41933
41934 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41935 `kernel.elf' instead of `grubof'.
41936
41937 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41938
41939 Add --with-platform to configure. Use pkglibdir instead of
41940 pkgdatadir. This is reported by Roger Leigh.
41941
41942 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41943 (host_vendor): Likewise.
41944 (host_os): Likewise.
41945 (pkgdatadir): Likewise.
41946 (platform): New variable.
41947 (pkglibdir): Likewise.
41948 Use PKGLIBDIR instead of PKGDATADIR.
41949
41950 * util/i386/pc/grub-install.in (datadir): Removed.
41951 (host_vendor): Likewise.
41952 (host_os): Likewise.
41953 (pkgdatadir): Likewise.
41954 (platform): New variable.
41955 (pkglibdir): Likewise.
41956 Use PKGLIBDIR instead of PKGDATADIR.
41957
41958 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41959 instead of GRUB_DATADIR.
41960 (main): Likewise.
41961 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41962 (main): Likewise.
41963 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41964 (main): Likewise.
41965
41966 * configure.ac (--with-platform): New option.
41967 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41968
41969 * Makefile.in: Include a makefile based on PLATFORM instead of
41970 HOST_VENDOR.
41971 (pkgdatadir): Not appended by the machine type.
41972 (pkglibdir): Appended by the machine type.
41973 (host_vendor): Removed.
41974 (platform): New variable.
41975 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41976 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41977 (uninstall): Likewise.
41978
41979 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41980
41981 Use the environment context in the menu. Remove the commands
41982 "default" and "timeout", and use variables instead.
41983
41984 * normal/menu.c: Include grub/env.h.
41985 (print_entry): Cast TITLE to silence gcc.
41986 (get_timeout): New function.
41987 (set_timeout): Likewise.
41988 (get_entry_number): Likewise.
41989 (run_menu): Use a default entry, a fallback entry and a timeout
41990 in the environment variables "default", "fallback" and
41991 "timeout". Also, tweak the default entry if it is not within the
41992 current menu entries.
41993 (grub_menu_run): Use a fallback entry in the environment variable
41994 "fallback".
41995
41996 * normal/main.c (read_config_file): Do not initialize
41997 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41998 NEWMENU->TIMEOUT.
41999 (grub_normal_execute): Use a data slot to store the menu.
42000
42001 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42002 fallback_entry and timeout.
42003 (struct grub_menu_list): Removed.
42004 (grub_menu_list_t): Likewise.
42005 (struct grub_context): Likewise.
42006 (grub_context_t): Likewise.
42007 (grub_context_get): Likewise.
42008 (grub_context_get_current_menu): Likewise.
42009 (grub_context_push_menu): Likewise.
42010 (grub_context_pop_menu): Likewise.
42011 (grub_default_init): Likewise.
42012 (grub_default_fini): Likewise.
42013 (grub_timeout_init): Likewise.
42014 (grub_timeout_fini): Likewise.
42015
42016 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42017 and timeout.mod.
42018 (normal_mod_SOURCES): Removed normal/context.c.
42019
42020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42021 commands/default.c, commands/timeout.c and normal/context.c.
42022 (normal_mod_SOURCES): Removed normal/context.c.
42023
42024 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42025 commands/timeout.c and normal/context.c.
42026 (normal_mod_SOURCES): Removed normal/context.c.
42027
42028 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42029 commands/default.c, commands/timeout.c and normal/context.c.
42030 (normal_mod_SOURCES): Removed normal/context.c.
42031
42032 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42033 timeout.mod.
42034 (default_mod_SOURCES): Removed.
42035 (default_mod_CFLAGS): Likewise.
42036 (default_mod_LDFLAGS): Likewise.
42037 (timeout_mod_SOURCES): Removed.
42038 (timeout_mod_CFLAGS): Likewise.
42039 (timeout_mod_LDFLAGS): Likewise.
42040
42041 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42042 normal/context.c.
42043
42044 * commands/default.c: Removed.
42045 * commands/timeout.c: Likewise.
42046 * normal/context.c: Likewise.
42047
42048 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42049
42050 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42051
42052 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42053
42054 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42055 "next" to "prev" for readability.
42056 (struct grub_env_sorted_var): New struct.
42057 (grub_env_context): Renamed to ...
42058 (initial_context): ... this.
42059 (grub_env_var_context): Renamed to ...
42060 (current_context): ... this.
42061 (grub_env_find): Look only at CURRENT_CONTEXT.
42062 (grub_env_context_open): Rewritten to copy exported variables from
42063 previous context.
42064 (grub_env_context_close): Rewritten according to the new
42065 scheme. Also, add an assertion to prevent the initial context from
42066 removed.
42067 (grub_env_insert): Removed the code for the sorted list.
42068 (grub_env_remove): Likewise.
42069 (grub_env_export): Simply mark the variable with
42070 GRUB_ENV_VAR_GLOBAL.
42071 (grub_env_set): A cosmetic change for naming consistency.
42072 (grub_env_get): Likewise.
42073 (grub_env_unset): Likewise.
42074 (grub_env_iterate): Rewritten to sort variables within this
42075 function.
42076 (grub_register_variable_hook): Fixed for naming consistency. Call
42077 grub_env_find again, only if NAME is not found at the first time.
42078 (mangle_data_slot_name): New function.
42079 (grub_env_set_data_slot): Likewise.
42080 (grub_env_get_data_slot): Likewise.
42081 (grub_env_unset_data_slot): Likewise.
42082
42083 * include/grub/env.h (grub_env_var_type): New enum.
42084 (GRUB_ENV_VAR_LOCAL): New constant.
42085 (GRUB_ENV_VAR_GLOBAL): Likewise.
42086 (GRUB_ENV_VAR_DATA): Likewise.
42087 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42088 "type".
42089 (grub_env_set): Replace VAR with NAME for consistency.
42090 (grub_register_variable_hook): Likewise.
42091 (grub_env_export): Specify the name of the argument.
42092 (grub_env_set_data_slot): New prototype.
42093 (grub_env_get_data_slot): Likewise.
42094 (grub_env_unset_data_slot): Likewise.
42095
42096 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42097
42098 Extend the loader so that GRUB can accept a loader which comes
42099 back to GRUB when a loaded image exits. Also, this change adds
42100 support for a chainloader on EFI.
42101
42102 * term/efi/console.c: Include grub/misc.h.
42103 (grub_console_checkkey): Display a scan code on the top for
42104 debugging. This will be removed once the EFI port gets stable.
42105 Correct the scan code mapping.
42106
42107 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42108 allocate memory from larger regions, in order to reduce the number
42109 of allocated regions. Otherwise, the MacOSX loader panics.
42110 (filter_memory_map): Avoid less than 1MB for compatibility with
42111 other loaders.
42112 (add_memory_regions): Allocate from the tail of a region, if
42113 possible, to avoid allocating a region near to 1MB, for the MacOSX
42114 loader.
42115
42116 * kern/efi/init.c (grub_efi_set_prefix): Specify
42117 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42118
42119 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42120 argument IMAGE_HANDLE and specify it to get a loaded image.
42121 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42122 grub_efi_get_loaded_image.
42123 (grub_efi_get_filename): Divide the length by the size of
42124 grub_efi_char16_t.
42125 (grub_efi_get_device_path): New function.
42126 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42127 the length by the size of grub_efi_char16_t for a file path device
42128 path node.
42129
42130 * kern/loader.c (grub_loader_noreturn): New variable.
42131 (grub_loader_set): Accept a new argument NORETURN. Set
42132 GRUB_LOADER_NORETURN to NORETURN.
42133 All callers changed.
42134 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42135 grub_machine_fini.
42136
42137 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42138 prototype.
42139 (grub_efi_get_loaded_image): Take an argument to specify an image
42140 handle.
42141
42142 * include/grub/loader.h (grub_loader_set): Added one more argument
42143 NORETURN.
42144
42145 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42146 instead of grub_efi_open_protocol.
42147 (grub_efidisk_get_device_name): Likewise.
42148 (grub_efidisk_close): Print a newline.
42149 (grub_efidisk_get_device_handle): Fixed to use
42150 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42151 GRUB_EFI_DEVICE_PATH_TYPE.
42152
42153 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42154 * kern/efi/efi.c (device_path_guid): ... here.
42155
42156 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42157 chain.mod.
42158 (kernel_mod_HEADERS): Added efi/disk.h.
42159 (_chain_mod_SOURCES): New variable.
42160 (_chain_mod_CFLAGS): Likewise.
42161 (_chain_mod_LDFLAGS): Likewise.
42162 (chain_mod_SOURCES): Likewise.
42163 (chain_mod_CFLAGS): Likewise.
42164 (chain_mod_LDFLAGS): Likewise.
42165
42166 * DISTLIST: Added include/grub/efi/chainloader.h,
42167 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42168
42169 * include/grub/efi/chainloader.h: New file.
42170 * loader/efi/chainloader.c: Likewise.
42171 * loader/efi/chainloader_normal.c: Likewise.
42172
42173 2006-04-30 Marco Gerards <marco@gnu.org>
42174
42175 * commands/configfile.c (grub_cmd_source): New function.
42176 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42177 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42178
42179 2006-04-30 Marco Gerards <marco@gnu.org>
42180
42181 * normal/execute.c (grub_script_execute_cmd): Change the return
42182 type to `grub_err_t'. Correctly return the error.
42183 (grub_script_execute_cmdline): In case a command line is not a
42184 command or a function, try to interpret it as an assignment.
42185
42186 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42187
42188 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42189 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42190 skip a node whose name is obviously invalid as UTF-16,
42191 i.e. contains a NUL character. Stop the iteration when the last
42192 directory entry is found. Instead of using the return value of
42193 grub_hfsplus_btree_iterate_node, store the value in RET and use
42194 it, because the iterator can be stopped by the last directory
42195 entry.
42196
42197 2006-04-30 Marco Gerards <marco@gnu.org>
42198
42199 * include/grub/env.h (grub_env_export): New prototype. Reported
42200 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42201
42202 2006-04-30 Marco Gerards <marco@gnu.org>
42203
42204 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42205 size of the extents in a catalog file record.
42206
42207 2006-04-29 Marco Gerards <marco@gnu.org>
42208
42209 * commands/configfile.c (grub_cmd_configfile): Execute the
42210 configfile within its own context.
42211
42212 * include/grub/env.h (grub_env_context_open): New prototype.
42213 (grub_env_context_close): Likewise.
42214
42215 * kern/env.c (grub_env): Removed.
42216 (grub_env_sorted): Likewise.
42217 (grub_env_context): New variable.
42218 (grub_env_var_context): Likewise.
42219 (grub_env_find): Search both the active context and the global
42220 context.
42221 (grub_env_context_open): New function.
42222 (grub_env_context_close): Likewise.
42223 (grub_env_insert): Likewise.
42224 (grub_env_remove): Likewise.
42225 (grub_env_export): Likewise.
42226 (grub_env_set): Changed to use helper functions to avoid code
42227 duplication.
42228 (grub_env_iterate): Rewritten so both the current context and the
42229 global context are being used.
42230
42231 * normal/command.c (export_command): New function.
42232 (grub_command_init): Register the `export' function.
42233
42234 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42235
42236 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42237 explicitly to suppress gcc's warnings.
42238 * fs/fat.c (grub_fat_find_dir): Likewise.
42239 (grub_fat_label): Likewise.
42240 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42241 (grub_xfs_mount): Likewise.
42242 (grub_xfs_label): Likewise.
42243 * fs/affs.c (grub_affs_mount): Likewise.
42244 (grub_affs_label): Likewise.
42245 (grub_affs_iterate_dir): Likewise.
42246 * fs/sfs.c (grub_sfs_mount): Likewise.
42247 (grub_sfs_iterate_dir): Likewise.
42248 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42249 * fs/hfs.c (grub_hfs_mount): Likewise.
42250 (grub_hfs_cmp_catkeys): Likewise.
42251 (grub_hfs_find_dir): Likewise.
42252 (grub_hfs_dir): Likewise.
42253 (grub_hfs_label): Likewise.
42254 * fs/jfs.c (grub_jfs_mount): Likewise.
42255 (grub_jfs_opendir): Likewise.
42256 (grub_jfs_getent): Likewise.
42257 (grub_jfs_lookup_symlink): Likewise.
42258 (grub_jfs_label): Likewise.
42259 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42260 (grub_hfsplus_iterate_dir): Likewise.
42261 (grub_hfsplus_btree_iterate_node): Made static.
42262
42263 * util/grub-emu.c (prefix): New variable.
42264 (grub_machine_set_prefix): New function.
42265 (main): Do not set the environment variable "prefix" here. Only
42266 set PREFIX, which is used later by grub_machine_set_prefix.
42267
42268 * include/grub/video.h: Do not include grub/symbol.h.
42269 (grub_video_register): Not exported. This symbol is not defined in
42270 the kernel.
42271 (grub_video_unregister): Likewise.
42272 (grub_video_iterate): Likewise.
42273 (grub_video_setup): Likewise.
42274 (grub_video_restore): Likewise.
42275 (grub_video_get_info): Likewise.
42276 (grub_video_get_blit_format): Likewise.
42277 (grub_video_set_palette): Likewise.
42278 (grub_video_get_palette): Likewise.
42279 (grub_video_set_viewport): Likewise.
42280 (grub_video_get_viewport): Likewise.
42281 (grub_video_map_color): Likewise.
42282 (grub_video_map_rgb): Likewise.
42283 (grub_video_map_rgba): Likewise.
42284 (grub_video_fill_rect): Likewise.
42285 (grub_video_blit_glyph): Likewise.
42286 (grub_video_blit_bitmap): Likewise.
42287 (grub_video_blit_render_target): Likewise.
42288 (grub_video_scroll): Likewise.
42289 (grub_video_swap_buffers): Likewise.
42290 (grub_video_create_render_target): Likewise.
42291 (grub_video_delete_render_target): Likewise.
42292 (grub_video_set_active_render_target): Likewise.
42293
42294 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42295 Undefined.
42296 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42297
42298 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42299 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42300 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42301 instead of $(srcdir)/genkernsyms.sh.
42302
42303 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42304 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42305 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42306 instead of $(srcdir)/genkernsyms.sh.
42307
42308 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42309 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42310 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42311 instead of $(srcdir)/genkernsyms.sh.
42312
42313 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42314 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42315 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42316 instead of $(srcdir)/genkernsyms.sh.
42317
42318 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42319 genkernsyms.sh.
42320
42321 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42322 genkernsyms.sh.
42323 (gensymlist.sh): New target.
42324 (genkernsyms.sh): Likewise.
42325
42326 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42327 genkernsyms.sh.in and gensymlist.sh.in.
42328
42329 * genkernsyms.sh: Removed.
42330 * gensymlist.sh: Likewise.
42331
42332 * genkernsyms.sh.in: New file.
42333 * gensymlist.sh.in: Likewise.
42334
42335 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42336
42337 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42338 clobber "prefix", since we may have already set it manually.
42339
42340 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42341
42342 * kern/misc.c (abort): New alias for grub_abort.
42343
42344 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42345
42346 A new machine-specific function "grub_machine_set_prefix" is
42347 defined. This is called after loading modules, so that a prefix
42348 initialization can use modules. Also, this change adds an
42349 intensive debugging feature for the memory manager via the
42350 configure option "--enable-mm-debug".
42351
42352 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42353 PART.LEN.
42354
42355 * kern/sparc64/ieee1275/init.c (abort): Removed.
42356 (grub_stop): Likewise.
42357 (grub_exit): New function.
42358 (grub_set_prefix): Renamed to ...
42359 (grub_machine_set_prefix): ... this.
42360 (grub_machine_init): Do not call grub_set_prefix.
42361
42362 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42363 (grub_machine_set_prefix): ... this.
42364 (grub_machine_init): Do not call grub_set_prefix.
42365
42366 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42367 (grub_machine_init): Do not set the prefix here.
42368
42369 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42370
42371 * kern/efi/init.c: Include grub/mm.h.
42372 (grub_efi_set_prefix): New function.
42373
42374 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42375 (grub_efi_get_filename): New function.
42376 (grub_print_device_path): Renamed to ...
42377 (grub_efi_print_device_path): ... this.
42378
42379 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42380 [MM_DEBUG] (grub_realloc): Likewise.
42381 [MM_DEBUG] (grub_free): Likewise.
42382 [MM_DEBUG] (grub_memalign): Likewise.
42383 [MM_DEBUG] (grub_mm_debug): New variable.
42384 [MM_DEBUG] (grub_debug_malloc): New function.
42385 [MM_DEBUG] (grub_debug_free): New function.
42386 [MM_DEBUG] (grub_debug_realloc): New function.
42387 [MM_DEBUG] (grub_debug_memalign): New function.
42388
42389 * kern/misc.c (grub_abort): Print a newline to distinguish
42390 the message.
42391
42392 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42393 grub_set_root_dev after loading modules. This is necessary when
42394 setting a prefix depends on modules.
42395
42396 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42397 (grub_efi_print_device_path): ... this.
42398 (grub_efi_get_filename): New prototype.
42399 (grub_efi_set_prefix): Likewise.
42400
42401 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42402 and grub/disk.h.
42403 (grub_efidisk_get_device_handle): New prototype.
42404 (grub_efidisk_get_device_name): Likewise.
42405
42406 * include/grub/mm.h: Include config.h.
42407 (MM_DEBUG): Removed.
42408 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42409 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42410 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42411 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42412 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42413 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42414 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42415 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42416 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42417
42418 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42419
42420 * disk/efi/efidisk.c: Include grub/partition.h.
42421 (iterate_child_devices): New function.
42422 (add_device): First, compare only last device path nodes, so that
42423 devices are sorted by the types.
42424 (grub_efidisk_get_device_handle): New function.
42425 (grub_efidisk_get_device_name): Likewise.
42426
42427 * configure.ac (--enable-mm-debug): New option to enable the
42428 memory manager debugging feature. This makes the binary much
42429 bigger, so is disabled by default.
42430
42431 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42432
42433 Use grub_abort instead of grub_stop, and grub_exit must be
42434 define in each architecture now. Also, this change adds support
42435 for EFI disks.
42436
42437 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42438 (grub_getkey): New function.
42439 (grub_term_get_current): Likewise.
42440
42441 * util/i386/pc/grub-setup.c: Include grub/term.h.
42442 (grub_getkey): New function.
42443 (grub_term_get_current): Likewise.
42444
42445 * util/misc.c (grub_stop): Renamed to ...
42446 (grub_exit): ... this.
42447
42448 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42449 (grub_exit): ... this.
42450 (grub_machine_init): Use grub_abort instead of abort.
42451 (grub_stop): Removed.
42452
42453 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42454 abort.
42455
42456 * kern/i386/pc/startup.S (grub_exit): New function.
42457 (cold_reboot): New label.
42458
42459 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42460 (grub_efi_init): Call grub_efidisk_init.
42461 (grub_efi_fini): Call grub_efidisk_fini.
42462
42463 * kern/efi/efi.c: Include grub/mm.h.
42464 (grub_efi_console_control_guid): Renamed to ...
42465 (console_control_guid): ... this.
42466 (grub_efi_loaded_image_guid): Renamed to ...
42467 (loaded_image_guid): ... this.
42468 (grub_efi_locate_handle): New function.
42469 (grub_efi_open_protocol): Likewise.
42470 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42471 GRUB_EFI_CONSOLE_CONTROL_GUID.
42472 (grub_efi_exit): Removed.
42473 (grub_stop): Likewise.
42474 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42475 (grub_exit): New function.
42476 (grub_print_device_path): Likewise.
42477
42478 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42479 (grub_enter_rescue_mode): Register "exit".
42480
42481 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42482 (grub_abort): New function.
42483
42484 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42485
42486 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42487
42488 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42489
42490 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42491 (grub_print_device_path): New prototype.
42492 (grub_efi_locate_handle): Likewise.
42493 (grub_efi_open_protocol): Likewise.
42494
42495 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42496 * disk/efi/efidisk.c: Likewise.
42497
42498 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42499
42500 * include/grub/efi/console_control.h
42501 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42502
42503 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42504 last 8 bytes as an array.
42505 (GRUB_EFI_DISK_IO_GUID): New macro.
42506 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42507 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42508 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42509 grub_uint8_t.
42510 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42511 (struct grub_efi_device_path): Rename the member "sub_type" to
42512 "subtype".
42513 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42514 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42515 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42516 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42517 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42518 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42519 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42520 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42521 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42522 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42523 (struct grub_efi_pci_device_path): New structure.
42524 (grub_efi_pci_device_path_t): New type.
42525 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42526 (struct grub_efi_pccard_device_path): New structure.
42527 (grub_efi_pccard_device_path_t): New type.
42528 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42529 (struct grub_efi_memory_mapped_device_path): New structure.
42530 (grub_efi_memory_mapped_device_path_t): New type.
42531 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42532 (struct grub_efi_vendor_device_path): New structure.
42533 (grub_efi_vendor_device_path_t): New type.
42534 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42535 (struct grub_efi_controller_device_path): New structure.
42536 (grub_efi_controller_device_path_t): New type.
42537 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42538 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42539 (struct grub_efi_acpi_device_path): New structure.
42540 (grub_efi_acpi_device_path_t): New type.
42541 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42542 (struct grub_efi_expanded_acpi_device_path): New structure.
42543 (grub_efi_expanded_acpi_device_path_t): New type.
42544 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42545 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42546 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42547 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42548 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42549 (struct grub_efi_atapi_device_path): New structure.
42550 (grub_efi_atapi_device_path_t): New type.
42551 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42552 (struct grub_efi_fibre_channel_device_path): New structure.
42553 (grub_efi_fibre_channel_device_path_t): New type.
42554 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42555 (struct grub_efi_1394_device_path): New structure.
42556 (grub_efi_1394_device_path_t): New type.
42557 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42558 (struct grub_efi_usb_device_path): New structure.
42559 (grub_efi_usb_device_path_t): New type.
42560 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42561 (struct grub_efi_usb_class_device_path): New structure.
42562 (grub_efi_usb_class_device_path_t): New type.
42563 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42564 (struct grub_efi_i2o_device_path): New structure.
42565 (grub_efi_i2o_device_path_t): New type.
42566 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42567 (struct grub_efi_mac_address_device_path): New structure.
42568 (grub_efi_mac_address_device_path_t): New type.
42569 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42570 (struct grub_efi_ipv4_device_path): New structure.
42571 (grub_efi_ipv4_device_path_t): New type.
42572 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42573 (struct grub_efi_ipv6_device_path): New structure.
42574 (grub_efi_ipv6_device_path_t): New type.
42575 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42576 (struct grub_efi_infiniband_device_path): New structure.
42577 (grub_efi_infiniband_device_path_t): New type.
42578 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42579 (struct grub_efi_uart_device_path): New structure.
42580 (grub_efi_uart_device_path_t): New type.
42581 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42582 (struct grub_efi_vendor_messaging_device_path): New structure.
42583 (grub_efi_vendor_messaging_device_path_t): New type.
42584 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42585 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42586 (struct grub_efi_hard_drive_device_path): New structure.
42587 (grub_efi_hard_drive_device_path_t): New type.
42588 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42589 (struct grub_efi_cdrom_device_path): New structure.
42590 (grub_efi_cdrom_device_path_t): New type.
42591 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42592 (struct grub_efi_vendor_media_device_path): New structure.
42593 (grub_efi_vendor_media_device_path_t): New type.
42594 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42595 (struct grub_efi_file_path_device_path): New structure.
42596 (grub_efi_file_path_device_path_t): New type.
42597 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42598 (struct grub_efi_protocol_device_path): New structure.
42599 (grub_efi_protocol_device_path_t): New type.
42600 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42601 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42602 (struct grub_efi_bios_device_path): New structure.
42603 (grub_efi_bios_device_path_t): New type.
42604 (struct grub_efi_disk_io): New structure.
42605 (grub_efi_disk_io_t): New type.
42606 (struct grub_efi_block_io_media): New structure.
42607 (grub_efi_block_io_media_t): New type.
42608 (struct grub_efi_block_io): New structure.
42609 (grub_efi_block_io_t): New type.
42610
42611 * include/grub/misc.h (grub_stop): Removed.
42612 (grub_exit): New prototype.
42613 (grub_abort): Likewise.
42614
42615 * include/grub/disk.h (enum grub_disk_dev_id): Added
42616 GRUB_DISK_DEVICE_EFIDISK_ID.
42617
42618 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42619 disk/efi/efidisk.c.
42620 (kernel_syms.lst): Remove the target if an error occurs.
42621
42622 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42623
42624 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42625 as it was simply too buggy.
42626
42627 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42628
42629 * kern/misc.c (grub_lltoa): New function.
42630 (grub_vsprintf): Added support for the long long suffix,
42631 i.e. "ll".
42632
42633 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42634
42635 * Makefile.in (LDFLAGS): Add variable.
42636 (LD): Remove variable.
42637 * configure.ac: Add -m32 to LDFLAGS.
42638 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42639 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42640 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42641 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42642 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42643 variables.
42644 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42645 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42646 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42647
42648 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42649
42650 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42651 length for unknown glyph.
42652
42653 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42654
42655 Add support for pre-loaded modules into the EFI port.
42656
42657 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42658 completely. Accept one more argument DIR. The caller has changed.
42659
42660 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42661
42662 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42663 (grub_efi_loaded_image_guid): New variable.
42664 (grub_efi_get_loaded_image): New function.
42665 (grub_arch_modules_addr): Likewise.
42666
42667 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42668 prototype.
42669
42670 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42671 (struct grub_efi_loaded_image): New structure.
42672 (grub_efi_loaded_image_t): New type.
42673
42674 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42675
42676 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42677 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42678 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42679
42680 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42681
42682 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42683
42684 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42685
42686 * DISTLIST: Added include/grub/efi/console.h,
42687 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42688 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42689
42690 * include/grub/efi/console.h: New file.
42691 * include/grub/efi/time.h: Likewise.
42692 * include/grub/i386/efi/kernel.h: Likewise.
42693 * kern/efi/init.c: Likewise.
42694 * kern/efi/mm.c: Likewise.
42695 * term/efi/console.c: Likewise.
42696
42697 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42698 (grub_stop): Removed.
42699 (grub_get_rtc): Likewise.
42700 (grub_machine_init): Simply call grub_efi_init.
42701 (grub_machine_fini): Call grub_efi_fini.
42702
42703 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42704 (grub_efi_output_string): Removed.
42705 (grub_efi_stall): New function.
42706 (grub_stop): Likewise.
42707 (grub_get_rtc): Likewise.
42708
42709 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42710 (grub_efi_stall): New prototype.
42711 (grub_efi_allocate_pages): Likewise.
42712 (grub_efi_free_pages): Likewise.
42713 (grub_efi_get_memory_map): Likewise.
42714 (grub_efi_mm_init): Likewise.
42715 (grub_efi_mm_fini): Likewise.
42716 (grub_efi_init): Likewise.
42717 (grub_efi_fini): Likewise.
42718
42719 * include/grub/i386/efi/time.h: Do not include
42720 grub/symbol.h. Include grub/efi/time.h.
42721 (GRUB_TICKS_PER_SECOND): Removed.
42722 (grub_get_rtc): Likewise.
42723
42724 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42725 Added padding. The EFI spec is buggy.
42726 (GRUB_EFI_BLACK): New macro.
42727 (GRUB_EFI_BLUE): Likewise.
42728 (GRUB_EFI_GREEN): Likewise.
42729 (GRUB_EFI_CYAN): Likewise.
42730 (GRUB_EFI_RED): Likewise.
42731 (GRUB_EFI_MAGENTA): Likewise.
42732 (GRUB_EFI_BROWN): Likewise.
42733 (GRUB_EFI_LIGHTGRAY): Likewise.
42734 (GRUB_EFI_BRIGHT): Likewise.
42735 (GRUB_EFI_DARKGRAY): Likewise.
42736 (GRUB_EFI_LIGHTBLUE): Likewise.
42737 (GRUB_EFI_LIGHTGREEN): Likewise.
42738 (GRUB_EFI_LIGHTCYAN): Likewise.
42739 (GRUB_EFI_LIGHTRED): Likewise.
42740 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42741 (GRUB_EFI_YELLOW): Likewise.
42742 (GRUB_EFI_WHITE): Likewise.
42743 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42744 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42745 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42746 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42747 (GRUB_EFI_BACKGROUND_RED): Likewise.
42748 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42749 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42750 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42751 (GRUB_EFI_TEXT_ATTR): Likewise.
42752
42753 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42754 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42755 (kernel_mod_HEADERS): Added efi/time.h.
42756
42757 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42758
42759 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42760 include/grub/efi/api.h, include/grub/efi/console_control.h,
42761 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42762 include/grub/i386/efi/time.h, kern/efi/efi.c,
42763 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42764 and util/i386/efi/grub-mkimage.c.
42765
42766 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42767
42768 * genmk.rb (PModule#rule): Do not export symbols if
42769 #{prefix}_EXPORTS is set to "no".
42770
42771 * conf/i386-efi.mk: New file.
42772 * conf/i386-efi.rmk: Likewise.
42773 * include/grub/efi/api.h: Likewise.
42774 * include/grub/efi/console_control.h: Likewise.
42775 * include/grub/efi/efi.h: Likewise.
42776 * include/grub/efi/pe32.h: Likewise.
42777 * include/grub/i386/efi/time.h: Likewise.
42778 * kern/efi/efi.c: Likewise.
42779 * kern/i386/efi/init.c: Likewise.
42780 * kern/i386/efi/startup.S: Likewise.
42781 * util/i386/efi/grub-mkimage.c: Likewise.
42782
42783 2006-04-17 Marco Gerards <marco@gnu.org>
42784
42785 * include/grub/script.h: Include <grub/parser.h> and
42786 "grub_script.tab.h".
42787 (struct grub_lexer_param): New struct.
42788 (struct grub_parser_param): Likewise.
42789 (grub_script_create_arglist): Pass the state in an argument.
42790 (grub_script_add_arglist): Likewise.
42791 (grub_script_create_cmdline): Likewise.
42792 (grub_script_create_cmdblock): Likewise.
42793 (grub_script_create_cmdif): Likewise.
42794 (grub_script_create_cmdmenu): Likewise.
42795 (grub_script_add_cmd): Likewise.
42796 (grub_script_arg_add): Likewise.
42797 (grub_script_lexer_ref): Likewise.
42798 (grub_script_lexer_deref): Likewise.
42799 (grub_script_lexer_record_start): Likewise.
42800 (grub_script_lexer_record_stop): Likewise.
42801 (grub_script_mem_record): Likewise.
42802 (grub_script_mem_record_stop): Likewise.
42803 (grub_script_malloc): Likewise.
42804 (grub_script_yylex): Likewise.
42805 (grub_script_yyparse): Likewise.
42806 (grub_script_yyerror): Likewise.
42807 (grub_script_yylex): Likewise.
42808 (grub_script_lexer_init): Return the state.
42809
42810 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42811 (grub_script_lexer_done): Likewise.
42812 (grub_script_lexer_getline): Likewise.
42813 (grub_script_lexer_refs): Likewise.
42814 (script): Likewise.
42815 (newscript): Likewise.
42816 (record): Likewise.
42817 (recording): Likewise.
42818 (recordpos): Likewise.
42819 (recordlen): Likewise.
42820 (grub_script_lexer_init): Return the state instead of setting
42821 global variables.
42822 (grub_script_lexer_ref): Use the newly added argument for state
42823 instead of globals.
42824 (grub_script_lexer_deref): Likewise.
42825 (grub_script_lexer_record_start): Likewise.
42826 (grub_script_lexer_record_stop): Likewise.
42827 (recordchar): Likewise.
42828 (nextchar): Likewise.
42829 (grub_script_yylex2): Likewise.
42830 (grub_script_yylex): Likewise.
42831 (grub_script_yyerror): Likewise.
42832
42833 * normal/parser.y (func_mem): Removed variable.
42834 (menu_entry): Likewise.
42835 (err): Likewise.
42836 (%lex-param): New parser option.
42837 (%parse-param): Likewise.
42838 (script): Always return the AST.
42839 (argument): Pass the state around.
42840 (arguments): Likewise.
42841 (grubcmd): Likewise.
42842 (commands): Likewise.
42843 (function): Likewise.
42844 (menuentry): Likewise.
42845 (if_statement): Likewise.
42846 (if): Likewise.
42847
42848 * normal/script.c (grub_script_memused): Removed variable.
42849 (grub_script_parsed): Likewise.
42850 (grub_script_malloc): Added a state argument. Use that instead of
42851 global variables.
42852 (grub_script_mem_record): Likewise.
42853 (grub_script_mem_record_stop): Likewise.
42854 (grub_script_arg_add): Likewise.
42855 (grub_script_add_arglist): Likewise.
42856 (grub_script_create_cmdline): Likewise.
42857 (grub_script_create_cmdif): Likewise.
42858 (grub_script_create_cmdmenu): Likewise.
42859 (grub_script_add_cmd): Likewise.
42860 (grub_script_parse): Setup the state before calling the parser.
42861
42862 2006-04-16 Marco Gerards <marco@gnu.org>
42863
42864 * normal/command.c (grub_command_init): Remove the title command.
42865
42866 * normal/lexer.c (grub_script_yylex): Renamed from this...
42867 (grub_script_yylex2): ... to this.
42868 (grub_script_yylex): New function. Temporary
42869 introduced to filter some tokens.
42870 (grub_script_yyerror): Print a newline.
42871
42872 * normal/main.c (read_config_file): Output information about the
42873 lines that contain errors. Wait for a key after all lines have
42874 been processed. Don't return an empty menu.
42875
42876 * normal/parser.y (func_mem): Don't initialize.
42877 (menu_entry): Likewise.
42878 (err): New variable.
42879 (script): Don't return anything when an error was encountered.
42880 (ws, returns): Removed rules.
42881 (argument): Disabled concatenated variable support.
42882 (arguments): Remove explicit separators.
42883 (grubcmd): Likewise.
42884 (function): Likewise.
42885 (menuentry): Likewise.
42886 (if): Likewise.
42887 (commands): Likewise. Add error handling.
42888
42889 * normal/script.c (grub_script_create_cmdline): If
42890 `grub_script_parsed' is 0, assume the parser encountered an error.
42891
42892 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42893
42894 * configure.ac: Add support for EFI. Fix the typo
42895 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42896
42897 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42898
42899 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42900 foreign multibyte characters should be shown correctly.
42901
42902 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42903
42904 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42905 calculation.
42906 (read_config_file): Made it to close file before returning.
42907
42908 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42909
42910 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42911 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42912 video/i386/pc/vbefill.c.
42913
42914 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42915 video/i386/pc/vbefill.c.
42916
42917 * include/grub/video.h (grub_video_blit_format): New enum.
42918 (grub_video_mode_info): Added new member blit_format.
42919 (grub_video_get_blit_format): New function prototype.
42920
42921 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42922 function prototype.
42923 (grub_video_vbe_map_rgb): Likewise.
42924 (grub_video_vbe_unmap_color): Likewise.
42925
42926 * include/grub/i386/pc/vbeblit.h: New file.
42927
42928 * include/grub/i386/pc/vbefill.h: New file.
42929
42930 * video/video.c (grub_video_get_blit_format): New function.
42931 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42932 (grub_video_vbe_map_rgb): Likewise.
42933 (grub_video_vbe_unmap_color): Likewise.
42934
42935 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42936 optimized fills.
42937 (grub_video_vbe_blit_render_target): Changed to use more optimized
42938 blits.
42939 (grub_video_vbe_setup): Added detection for optimized settings.
42940 (grub_video_vbe_create_render_target): Likewise.
42941
42942 * video/i386/pc/vbeblit.c: New file.
42943
42944 * video/i386/pc/vbefill.c: New file.
42945
42946 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42947
42948 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42949 here...
42950
42951 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42952 parsing to support both hex and dec ranges. If filename was missing
42953 show usage information.
42954
42955 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42956
42957 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42958 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42959
42960 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42961 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42962 (video_mod_SOURCES): Added.
42963 (video_mod_CFLAGS): Likewise.
42964 (video_mod_LDFLAGS): Likewise.
42965 (gfxterm_mod_SOURCES): Likewise.
42966 (gfxterm_mod_CFLAGS): Likewise.
42967 (gfxterm_mod_LDFLAGS): Likewise.
42968 (videotest_mod_SOURCES): Likewise.
42969 (videotest_mod_CFLAGS): Likewise.
42970 (videotest_mod_LDFLAGS): Likewise.
42971 (vesafb_mod_SOURCES): Removed.
42972 (vesafb_mod_CFLAGS): Likewise.
42973 (vesafb_mod_LDFLAGS): Likewise.
42974 (vga_mod_SOURCES): Likewise.
42975 (vga_mod_CFLAGS): Likewise.
42976 (vga_mod_LDFLAGS): Likewise.
42977
42978 * commands/videotest.c: New file.
42979
42980 * font/manager.c (fill_with_default_glyph): Modified to use
42981 grub_font_glyph.
42982 (grub_font_get_glyph): Likewise.
42983 (fontmanager): Renamed from this...
42984 (font_manager): ... to this.
42985
42986 * include/grub/font.h (grub_font_glyph): Added new structure.
42987 (grub_font_get_glyph): Modified to use grub_font_glyph.
42988
42989 * include/grub/misc.h (grub_abs): Added as inline function.
42990
42991 * include/grub/video.h: New file.
42992
42993 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42994 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42995 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42996 (grub_vbe_get_controller_info): Renamed from this...
42997 (grub_vbe_bios_get_controller_info): ... to this.
42998 (grub_vbe_get_mode_info): Renamed from this...
42999 (grub_vbe_bios_get_mode_info): ... to this.
43000 (grub_vbe_set_mode): Renamed from this...
43001 (grub_vbe_bios_set_mode): ... to this.
43002 (grub_vbe_get_mode): Renamed from this...
43003 (grub_vbe_bios_get_mode): ... to this.
43004 (grub_vbe_set_memory_window): Renamed from this...
43005 (grub_vbe_bios_set_memory_window): ... to this.
43006 (grub_vbe_get_memory_window): Renamed from this...
43007 (grub_vbe_bios_get_memory_window): ... to this.
43008 (grub_vbe_set_scanline_length): Renamed from this...
43009 (grub_vbe_set_scanline_length): ... to this.
43010 (grub_vbe_get_scanline_length): Renamed from this...
43011 (grub_vbe_bios_get_scanline_length): ... to this.
43012 (grub_vbe_set_display_start): Renamed from this...
43013 (grub_vbe_bios_set_display_start): ... to this.
43014 (grub_vbe_get_display_start): Renamed from this...
43015 (grub_vbe_bios_get_display_start): ... to this.
43016 (grub_vbe_set_palette_data): Renamed from this...
43017 (grub_vbe_bios_set_palette_data): ... to this.
43018 (grub_vbe_set_pixel_rgb): Removed.
43019 (grub_vbe_set_pixel_index): Likewise.
43020
43021 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43022 from this...
43023 (grub_vbe_bios_get_controller_info): ... to this.
43024 (grub_vbe_get_mode_info): Renamed from this...
43025 (grub_vbe_bios_get_mode_info): ... to this.
43026 (grub_vbe_set_mode): Renamed from this...
43027 (grub_vbe_bios_set_mode): ... to this.
43028 (grub_vbe_get_mode): Renamed from this...
43029 (grub_vbe_bios_get_mode): ... to this.
43030 (grub_vbe_set_memory_window): Renamed from this...
43031 (grub_vbe_bios_set_memory_window): ... to this.
43032 (grub_vbe_get_memory_window): Renamed from this...
43033 (grub_vbe_bios_get_memory_window): ... to this.
43034 (grub_vbe_set_scanline_length): Renamed from this...
43035 (grub_vbe_set_scanline_length): ... to this.
43036 (grub_vbe_get_scanline_length): Renamed from this...
43037 (grub_vbe_bios_get_scanline_length): ... to this.
43038 (grub_vbe_set_display_start): Renamed from this...
43039 (grub_vbe_bios_set_display_start): ... to this.
43040 (grub_vbe_get_display_start): Renamed from this...
43041 (grub_vbe_bios_get_display_start): ... to this.
43042 (grub_vbe_set_palette_data): Renamed from this...
43043 (grub_vbe_bios_set_palette_data): ... to this.
43044 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43045 getting corrupted after calling it. Added more pushes and pops.
43046 (grub_vbe_bios_set_mode): Likewise.
43047 (grub_vbe_bios_get_mode): Likewise.
43048 (grub_vbe_bios_get_memory_window): Likewise.
43049 (grub_vbe_bios_set_scanline_length): Likewise.
43050 (grub_vbe_bios_get_scanline_length): Likewise.
43051 (grub_vbe_bios_get_display_start): Likewise.
43052 (grub_vbe_bios_set_palette_data): Likewise.
43053
43054 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43055 (cl_insert): Likewise.
43056 (cl_delete): Likewise.
43057
43058 * term/gfxterm.c: New file.
43059
43060 * term/i386/pc/vesafb.c: Removed file.
43061
43062 * video/video.c: New file.
43063
43064 * video/i386/pc/vbe.c (real2pm): Added new function.
43065 (grub_video_vbe_draw_pixel): Likewise.
43066 (grub_video_vbe_get_video_ptr): Likewise.
43067 (grub_video_vbe_get_pixel): Likewise
43068 (grub_video_vbe_init): Likewise.
43069 (grub_video_vbe_fini): Likewise.
43070 (grub_video_vbe_setup): Likewise.
43071 (grub_video_vbe_get_info): Likewise.
43072 (grub_video_vbe_set_palette): Likewise.
43073 (grub_video_vbe_get_palette): Likewise.
43074 (grub_video_vbe_set_viewport): Likewise.
43075 (grub_video_vbe_get_viewport): Likewise.
43076 (grub_video_vbe_map_color): Likewise.
43077 (grub_video_vbe_map_rgb): Likewise.
43078 (grub_video_vbe_map_rgba): Likewise.
43079 (grub_video_vbe_unmap_color): Likewise.
43080 (grub_video_vbe_fill_rect): Likewise.
43081 (grub_video_vbe_blit_glyph): Likewise.
43082 (grub_video_vbe_blit_bitmap): Likewise.
43083 (grub_video_vbe_blit_render_target): Likewise.
43084 (grub_video_vbe_scroll): Likewise.
43085 (grub_video_vbe_swap_buffers): Likewise.
43086 (grub_video_vbe_create_render_target): Likewise.
43087 (grub_video_vbe_delete_render_target): Likewise.
43088 (grub_video_vbe_set_active_render_target): Likewise.
43089 (grub_vbe_set_pixel_rgb): Remove function.
43090 (grub_vbe_set_pixel_index): Likewise.
43091 (index_color_mode): Remove static variable.
43092 (active_mode): Likewise.
43093 (framebuffer): Likewise.
43094 (bytes_per_scan_line): Likewise.
43095 (grub_video_vbe_adapter): Added new static variable.
43096 (framebuffer): Likewise.
43097 (render_target): Likewise.
43098 (initial_mode): Likewise.
43099 (mode_in_use): Likewise.
43100 (mode_list): Likewise.
43101
43102 2006-03-10 Marco Gerards <marco@gnu.org>
43103
43104 * configure.ac (AC_INIT): Bumped to 1.93.
43105
43106 * DISTLIST: Added `include/grub/hfs.h'.
43107
43108 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43109
43110 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43111 18H, which might help the BIOS falling back to next boot media.
43112
43113 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43114
43115 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43116 Poe Chen <poe.poechen@gmail.com>.
43117
43118 2006-01-17 Marco Gerards <marco@gnu.org>
43119
43120 * include/grub/normal.h: Include <grub/script.h>.
43121 (grub_command_list): Removed struct.
43122 (grub_command_list_t): Removed type.
43123 (grub_menu_entry): Remove members `num' and `command_list'. Add
43124 members `commands' and `sourcecode'.
43125 * include/grub/script.h: Add inclusion guards.
43126 (grub_script_cmd_menuentry): New struct.
43127 (grub_script_execute_menuentry): New prototype.
43128 (grub_script_lexer_record_start): Likewise.
43129 (grub_script_lexer_record_stop): Likewise.
43130 * normal/execute.c (grub_script_execute_menuentry): New function.
43131 * normal/lexer.c (record, recording, recordpos, recordlen): New
43132 variables.
43133 (grub_script_lexer_record_start): New function.
43134 (grub_script_lexer_record_stop): Likewise.
43135 (recordchar): Likewise.
43136 (nextchar): Likewise.
43137 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43138 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43139 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43140 (current_menu): New variable.
43141 (free_menu): Mainly rewritten.
43142 (grub_normal_menu_addentry): New function.
43143 (read_config_file): Rewritten.
43144 * normal/menu.c (run_menu_entry): Mainly rewritten.
43145 * normal/menu_entry.c (make_screen): Rewritten the code to insert
43146 the menu entry.
43147 (run): Mainly rewritten.
43148 * normal/parser.y (menu_entry): New variable.
43149 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43150 (menuentry): New rule.
43151 (command): Add `menuentry'.
43152 (if_statement): Allow additional returns before `fi'.
43153 * normal/script.c (grub_script_create_cmdmenu): New function.
43154
43155 2006-01-03 Marco Gerards <marco@gnu.org>
43156
43157 * INSTALL: GNU Bison is required.
43158 * configure.ac: Rewritten the test to detect Bison.
43159 * Makefile.in (YACC): New variable. Reported by Xun Sun
43160 <xun.sun.cn@gmail.com>.
43161
43162 2006-01-03 Marco Gerards <marco@gnu.org>
43163
43164 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43165 the HFS+ filesystem to filesystem blocks.
43166 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43167 GCC warning is silenced.
43168
43169 2006-01-03 Marco Gerards <marco@gnu.org>
43170
43171 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43172 read from disk from big endian to host byte order.
43173
43174 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43175
43176 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43177 documentation.
43178 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43179 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43180 embedded HFS+ filesystem.
43181 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43182 (grub_hfs_sblock): Move from here...
43183 * include/grub/hfs.h: To here... New file.
43184 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43185 documentation.
43186 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43187 New macros.
43188 (grub_hfsplus_volheader): Change type of member `magic' to
43189 `grub_uint16_t'.
43190 (grub_hfsplus_data): Add new member `embedded_offset'.
43191 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43192 returned block.
43193 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43194 Calculate the offset.
43195
43196 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43197
43198 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43199 Removed.
43200 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43201
43202 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43203
43204 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43205 ENV->NAME is NULL after allocating ENV->VALUE.
43206
43207 2005-12-25 Marco Gerards <marco@gnu.org>
43208
43209 * kern/env.c (grub_env_set): Rewritten the error handling code.
43210
43211 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43212
43213 * geninit.sh: Made more robust, and more portable.
43214
43215 2005-12-25 Marco Gerards <marco@gnu.org>
43216
43217 Add support for Apple HFS+ filesystems.
43218
43219 * fs/hfsplus.c: New file.
43220
43221 * DISTLIST: Added `fs/hfsplus.c'.
43222
43223 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43224 (hfsplus_mod_SOURCES): New variable.
43225 (hfsplus_mod_CFLAGS): Likewise.
43226 (hfsplus_mod_LDFLAGS): Likewise.
43227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43228 (grub_setup_SOURCES): Likewise.
43229 (grub_mkdevicemap_SOURCES): Likewise.
43230 (grub_emu_SOURCES): Likewise.
43231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43232
43233 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43234
43235 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43236
43237 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43238
43239 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43240 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43241 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43242 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43243 normal/lexer.c, normal/parser.y, normal/script.c, and
43244 partmap/gpt.c.
43245 Removed kern/sparc64/cache.c.
43246
43247 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43248 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43249 grub_emu_init.c.
43250
43251 * configure.ac (AC_INIT): Bumped to 1.92.
43252
43253 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43254
43255 * kern/err.c (grub_error_push): Added new function to support error
43256 stacks.
43257 (grub_error_pop): Likewise.
43258 (grub_error_stack_items): New local variable to support error stacks.
43259 (grub_error_stack_pos): Likewise.
43260 (grub_error_stack_assert): Likewise.
43261 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43262 stack depth.
43263 (grub_print_error): Added support to print errors from error stack.
43264
43265 * include/grub/err.h (grub_error_push): Added function prototype.
43266 (grub_error_pop): Likewise.
43267
43268 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43269
43270 * configure.ac: Accept `powerpc64' as host_cpu.
43271 (amd64): Rename to `biarch32'.
43272
43273 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43274 non-cacheline-aligned addresses.
43275
43276 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43277 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43278 if `size' is non-zero.
43279
43280 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
43281
43282 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43283 and `cd' to make sure the filename is not prefixed with a
43284 directory name.
43285 (pkgdata_MODULES): Add `gpt.mod'.
43286 (gpt_mod_SOURCES): New variable.
43287 (gpt_mod_CFLAGS): Likewise.
43288 (gpt_mod_LDFLAGS): Likewise.
43289
43290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43291
43292 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43293 New macro.
43294
43295 * partmap/gpt.c: New file.
43296
43297 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43298 GPT partition map is detected.
43299
43300 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43301
43302 * commands/i386/pc/play.c: New file.
43303 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43304 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43305 macros.
43306
43307 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
43308
43309 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43310 ((unused))' to silence gcc warning.
43311
43312 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43313
43314 * configure.ac: Correct `AC_PROG_YACC' test.
43315
43316 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43317
43318 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43319 check before installing files.
43320
43321 2005-11-22 Mike Small <smallm@panix.com>
43322
43323 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43324 number regex so multidigit numbers are recognized correctly.
43325
43326 2005-11-22 Mike Small <smallm@panix.com>
43327
43328 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43329 debugging message before attempting to claim memory.
43330 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43331 multiple addresses in case of failure.
43332
43333 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43334
43335 * term/tparm.c (get_space): Remove empty `if' statement.
43336
43337 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43338
43339 * kern/parser.c (check_varstate): Rename `state' to 's'.
43340
43341 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43342
43343 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43344 variable definitions to the beginning of each function. Sort stack
43345 variables by size.
43346 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43347 `buf' argument to `char *'.
43348
43349 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43350
43351 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43352 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43353 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43354 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43355 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43356 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43357 configfile.mod, search.mod, gzio.mod and test.mod.
43358 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43359 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43360 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43361 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43362 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43363 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43364 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43365 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43366 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43367 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43368 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43369 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43370 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43371 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43372 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43373 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43374 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43375 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43376 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43377 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43378 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43379 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43380 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43381
43382 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43383 `grep --include'.
43384 (pkgdata_MODULES): Add test.mod.
43385
43386 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43387
43388 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43389 appending to variables with "+=".
43390 (PModule): Use full pathname to generate *.lst filenames.
43391
43392 * Makefile.in: Fixed list rules moved from genmk.rb.
43393 (.DELETE_ON_ERROR): New special target.
43394 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43395
43396 * conf/i386-pc.rmk: Include conf/common.mk.
43397 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43398 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43399 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43400 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43401 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43402 configfile.mod, search.mod, gzio.mod and test.mod.
43403 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43404 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43405 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43406 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43407 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43408 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43409 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43410 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43411 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43412 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43413 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43414 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43415 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43416 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43417 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43418 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43419 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43420 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43421 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43422 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43423 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43424 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43425 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43426 here...
43427 * conf/common.rmk: ... to here. New file.
43428
43429 * conf/common.mk: New file.
43430
43431 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43432
43433 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43434 (grub_script.tab.c): ... here.
43435
43436 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43437 (grub_script.tab.c): ... here.
43438
43439 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43440 (grub_script.tab.c): ... here.
43441
43442 * normal/command.c (grub_command_find): Fixed a memory leak of
43443 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43444
43445 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43446
43447 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43448 "@" which marks the start of a comment on ARM.
43449 (VARIABLE): Likewise.
43450
43451 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43452
43453 Add support for Linux/ADFS partition tables.
43454
43455 * partmap/acorn.c: New file.
43456
43457 * include/grub/acorn_filecore.h: Likewise.
43458
43459 * DISTLIST: Added `partmap/acorn.c' and
43460 `include/grub/acorn_filecore.h'.
43461
43462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43463 `partmap/acorn.c'.
43464 (pkgdata_MODULES): Add `acorn.mod'.
43465 (acorn_mod_SOURCES): New variable.
43466 (acorn_mod_CFLAGS): Likewise.
43467
43468 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43469 `partmap/acorn.c'.
43470 (pkgdata_MODULES): Add `acorn.mod'.
43471 (acorn_mod_SOURCES): New variable.
43472 (acorn_mod_CFLAGS): Likewise.
43473
43474 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43475 (pkgdata_MODULES): Add `acorn.mod'.
43476 (acorn_mod_SOURCES): New variable.
43477 (acorn_mod_CFLAGS): Likewise.
43478 (acorn_mod_LDFLAGS): Likewise.
43479
43480 * include/types.h (grub_disk_addr_t): New typedef.
43481
43482 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
43483
43484 * geninit.sh: New file.
43485
43486 * geninitheader.sh: Likewise.
43487
43488 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43489 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43490 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43491 * commands/configfile.c (grub_configfile_init)
43492 (grub_configfile_fini): Likewise.
43493 * commands/default.c (grub_default_init, grub_default_fini):
43494 Likewise.
43495 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43496 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43497 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43498 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43499 Likewise.
43500 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43501 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43502 Likewise.
43503 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
43504 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
43505 Likewise.
43506 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43507 Likewise.
43508 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
43509 Likewise.
43510 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43511 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43512 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43513 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43514 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43515 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43516 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43517 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43518 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43519 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43520 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43521 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43522 * partmap/amiga.c (grub_amiga_partition_map_init)
43523 (grub_amiga_partition_map_fini): Likewise.
43524 * partmap/apple.c (grub_apple_partition_map_init)
43525 (grub_apple_partition_map_fini): Likewise.
43526 * partmap/pc.c (grub_pc_partition_map_init)
43527 (grub_pc_partition_map_fini): Likewise.
43528 * partmap/sun.c (grub_sun_partition_map_init,
43529 grub_sun_partition_map_fini): Likewise.
43530 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43531 Likewise.
43532
43533 * util/grub-emu.c: Include <grub_modules_init.h>.
43534 (main): Don't initialize and de-initialize any modules directly,
43535 use `grub_init_all' and `grub_fini_all' instead.
43536
43537 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43538 `grub_vesafb_mod_init'.
43539 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43540 all users.
43541 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43542 `grub_vga_mod_init'. Updated all users.
43543 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
43544
43545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43546 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43547 rules.
43548
43549 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43550 Generate a function to initialize the module in utilities.
43551 Updated all callers.
43552 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43553 initialize the module in utilities. Updated all callers.
43554
43555 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43556
43557 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43558 escape sequence and a literal ^L to clear the screen.
43559
43560 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43561 when returning from Open Firmware.
43562
43563 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43564
43565 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43566 (grub_ofconsole_height): Likewise.
43567 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43568 manually insert a '\n'.
43569 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43570 `grub_ofconsole_height'. Return early if these are already set.
43571
43572 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43573
43574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43575 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43576 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43577 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43578 and `normal/script.c'.
43579 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43580 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43581 (test_mod_SOURCES): New variable.
43582 (test_mod_CFLAGS): Likewise.
43583 (test_mod_LDFLAGS): Likewise.
43584 (pkgdata_MODULES): Add `test.mod'.
43585 (grub_script.tab.c): New rule.
43586 (grub_script.tab.h): Likewise.
43587
43588 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
43589
43590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43591 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43592 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43593 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43594 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43595 (test_mod_SOURCES): New variable.
43596 (test_mod_CFLAGS): Likewise.
43597 (pkgdata_MODULES): Add `test.mod'.
43598 (grub_script.tab.c): New rule.
43599 (grub_script.tab.h): Likewise.
43600
43601 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
43602
43603 Add initial scripting support.
43604
43605 * commands/test.c: New file.
43606 * include/grub/script.h: Likewise.
43607 * normal/execute.c: Likewise.
43608 * normal/function.c: Likewise.
43609 * normal/lexer.c: Likewise.
43610 * normal/parser.y: Likewise.
43611 * normal/script.c: Likewise.
43612
43613 * configure.ac: Add `AC_PROG_YACC' test.
43614
43615 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43616 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43617 `normal/function.c' and `normal/script.c'.
43618 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43619 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43620 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43621 variables.
43622 (pkgdata_MODULES): Add `test.mod'.
43623 (grub_script.tab.c): New rule.
43624 (grub_script.tab.h): Likewise.
43625
43626 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43627
43628 * include/grub/normal.h (grub_test_init): New prototype.
43629 (grub_test_fini): Likewise.
43630
43631 * normal/command.c: Include <grub/script.h>.
43632 (grub_command_execute): Rewritten.
43633
43634 * util/grub-emu.c (main): Call `grub_test_init' and
43635 `grub_test_fini'.
43636
43637 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43638
43639 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43640 to 0.
43641 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43642 there are no pending characters.
43643
43644 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43645
43646 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43647 `grub_strndup' to drop device arguments. Replace unnecessary
43648 `grub_strndup' with `grub_strdup'.
43649
43650 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43651
43652 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43653 `debug' environment variable has been set.
43654
43655 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
43656
43657 * Makefile.in (install-local): Use $(DATA).
43658 (uninstall): Likewise.
43659 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43660 (sbin_UTILITIES): ... to here.
43661 (sbin_SCRIPTS): New variable.
43662 (grub_install_SOURCES): New variable.
43663 * util/powerpc/ieee1275/grub-install.in: New file.
43664 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43665 variable.
43666 (add_segments): Call `grub_util_get_path'.
43667
43668 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43669
43670 From Timothy Baldwin:
43671 * commands/ls.c (grub_ls_list_files): Close FILE with
43672 grub_file_close.
43673 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43674
43675 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
43676
43677 * include/grub/parser.h: New file.
43678
43679 * kern/parser.c: Likewise.
43680
43681 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43682 (grub_setup_SOURCES): Likewise.
43683 (grub_probefs_SOURCES): Likewise.
43684 (grub_emu_SOURCES): Likewise.
43685 (kernel_img_HEADERS): Add `parser.h'.
43686
43687 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43688 (grub_emu_SOURCES): Add `kern/parser.c'.
43689 (grubof_SOURCES): Likewise.
43690
43691 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43692 (grubof_SOURCES): Add `kern/parser.c'.
43693
43694 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43695
43696 * kern/misc.c (grub_split_cmdline): Removed function.
43697
43698 * kern/rescue.c: Include <grub/parser.h>.
43699 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43700 of `grub_split_cmdline'.
43701
43702 * normal/command.c: Include <grub/parser.h>.
43703 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43704 of `grub_split_cmdline'.
43705
43706 * normal/completion.c: Include <grub/parser.h>.
43707 (cmdline_state): New variable.
43708 (iterate_dir): End the filename with a quote depending on the
43709 command line state.
43710 (get_state): new function.
43711 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43712 split the arguments and determine the current argument. When the
43713 argument string is not quoted, escape all spaces.
43714
43715 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43716
43717 * normal/sparc64/setjmp.S: New file.
43718
43719 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43720
43721 * include/grub/sparc64/libgcc.h: New file.
43722 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43723 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43724 normal/sparc64/setjmp.c.
43725
43726 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43727
43728 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43729 * kern/sparc64/cache.S: New file.
43730 * kern/sparc64/cache.c: Removed.
43731 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43732 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43733 -mtune=ultrasparc.
43734 (COMMON_LDFLAGS): Add -melf64_sparc.
43735 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43736 (grubof_SOURCES): Use cache.S instead of cache.c.
43737 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43738 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43739 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43740 commented though.
43741 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43742 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43743 (linux_mod_CFLAGS): Commented out.
43744 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43745 out because module isn't built.
43746 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43747 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43748 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43749 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43750 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43751 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43752 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43753 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43754 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43755 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43756 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43757 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43758 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43759 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43760
43761 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43762
43763 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43764 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43765 longer, because HFS should not be used on PC.
43766
43767 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43768
43769 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43770 consistently within the loop.
43771
43772 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43773
43774 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43775 directory can not be read.
43776
43777 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43778
43779 * configure.ac (AC_INIT): Increase the version number to 1.91.
43780
43781 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43782 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43783 term/i386/pc/serial.c.
43784
43785 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43786
43787 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43788 file size must be permitted.
43789
43790 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43791 between %ah and %al.
43792
43793 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43794
43795 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43796 grub_uint64_t.
43797 Call the hook with a NUL-terminated filename.
43798 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43799 grub_cpu_to_be32.
43800
43801 * kern/term.c (cursor_state): New variable.
43802 (grub_term_set_current): Reset the cursor state on a new
43803 terminal.
43804 (grub_setcursor): Rewritten to use CURSOR_STATE.
43805 (grub_getcursor): New function.
43806
43807 * include/grub/term.h (grub_getcursor): New prototype.
43808
43809 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43810 integers on ARM. Reported by Timothy Baldwin
43811 <T.E.Baldwin99@members.leeds.ac.uk>.
43812
43813 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43814
43815 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43816 allocated.
43817 (grub_sfs_dir): Likewise.
43818
43819 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43820
43821 Add support for the SFS filesystem.
43822
43823 * fs/sfs.c: New file.
43824
43825 * DISTLIST: Added `fs/sfs.c'.
43826
43827 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43828 (grub_probefs_SOURCES): Likewise.
43829 (grub_emu_SOURCES): Likewise.
43830 (pkgdata_MODULES): Add `sfs.mod'.
43831 (sfs_mod_SOURCES): New variable.
43832 (sfs_mod_CFLAGS): Likewise.
43833 (sfs_mod_LDFLAGS): Likewise.
43834
43835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43836 (pkgdata_MODULES): Add `sfs.mod'.
43837 (sfs_mod_SOURCES): New variable.
43838 (sfs_mod_CFLAGS): Likewise.
43839
43840 * util/grub-emu.c (main): Call `grub_sfs_init' and
43841 `grub_sfs_fini'.
43842
43843 * include/grub/fs.h (grub_sfs_init): New prototype.
43844 (grub_sfs_fini): Likewise.
43845
43846 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43847
43848 Add support for the AFFS filesystem.
43849
43850 * fs/affs.c: New file.
43851
43852 * DISTLIST: Added `fs/affs.c'.
43853
43854 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43855 (grub_probefs_SOURCES): Likewise.
43856 (grub_emu_SOURCES): Likewise.
43857 (pkgdata_MODULES): Add `affs.mod'.
43858 (affs_mod_SOURCES): New variable.
43859 (affs_mod_CFLAGS): Likewise.
43860 (affs_mod_LDFLAGS): Likewise.
43861
43862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43863 (pkgdata_MODULES): Add `affs.mod'.
43864 (affs_mod_SOURCES): New variable.
43865 (affs_mod_CFLAGS): Likewise.
43866
43867 * util/grub-emu.c (main): Call `grub_affs_init' and
43868 `grub_affs_fini'.
43869
43870 * include/grub/fs.h (grub_affs_init): New prototype.
43871 (grub_affs_fini): Likewise.
43872
43873 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43874
43875 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43876
43877 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43878
43879 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43880 `-m32' to CFLAGS.
43881
43882 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43883 linking.
43884
43885 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43886 (COMMON_LDFLAGS): New variable.
43887 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43888 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43889 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43890 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43891 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43892 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43893 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43894 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43895 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43896 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43897 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43898 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43899 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43900 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43901 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43902 variables.
43903 (normal_mod_ASFLAGS): Add `-m32'.
43904
43905 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43906 (grub_host_size_t, grub_host_ssize_t): New types.
43907 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43908 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43909 `GRUB_HOST_SIZEOF_VOID_P'.
43910
43911 * include/grub/kernel.h (struct grub_module_header): Type of
43912 member offset changed to `grub_host_off_t'. Type of member size
43913 changed to `grub_host_size_t'.
43914 (struct grub_module_info): Type of member offset changed to
43915 `grub_host_off_t'. Type of member size changed to
43916 `grub_host_size_t'.
43917
43918 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43919
43920 Make GRUB's kernel compliant to Multiboot Specification.
43921
43922 * kern/i386/pc/startup.S (multiboot_header): New label.
43923 (multiboot_entry): Likewise.
43924 (multiboot_trampoline): Likewise.
43925
43926 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43927 Increased to 0x4A0.
43928
43929 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43930 put parentheses after a question mark.
43931 [!GRUB_UTIL] (my_mod): New variable.
43932
43933 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43934
43935 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43936
43937 Adds support for the XFS filesystem. Btrees are not supported
43938 yet.
43939
43940 * fs/xfs.c: New file.
43941
43942 * DISTLIST: Added `fs/xfs.c'.
43943
43944 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43945 (grub_probefs_SOURCES): Likewise.
43946 (grub_emu_SOURCES): Likewise.
43947 (pkgdata_MODULES): Add `xfs.mod'.
43948 (xfs_mod_SOURCES): New variable.
43949 (xfs_mod_CFLAGS): Likewise.
43950
43951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43952 (pkgdata_MODULES): Add `xfs.mod'.
43953 (xfs_mod_SOURCES): New variable.
43954 (xfs_mod_CFLAGS): Likewise.
43955
43956 * util/grub-emu.c (main): Call `grub_xfs_init' and
43957 `grub_xfs_fini'.
43958
43959 * include/grub/fs.h (grub_xfs_init): New prototype.
43960 (grub_xfs_fini): Likewise.
43961
43962
43963 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43964
43965 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43966 color modes, allow greater than 16 colors to be configured as
43967 a default palette.
43968
43969 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43970
43971 * normal/completion.c (complete_arguments): Add the qualifier
43972 const into OPTIONS.
43973
43974 From Omniflux <omniflux+lists@omniflux.com>:
43975 * include/grub/terminfo.h: New file.
43976 * include/grub/tparm.h: Likewise.
43977 * include/grub/i386/pc/serial.h: Likewise.
43978 * term/terminfo.c: Likewise.
43979 * term/tparm.c: Likewise.
43980 * term/i386/pc/serial.c: Likewise.
43981 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43982 serial.mod.
43983 (terminfo_mod_SOURCES): New variable.
43984 (terminfo_mod_CFLAGS): Likewise.
43985 (serial_mod_SOURCES): Likewise.
43986 (serial_mod_CFLAGS): Likewise.
43987
43988 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43989
43990 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43991 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43992 and kern/powerpc/ieee1275/cmain.c, respectively.
43993
43994 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43995 * kern/powerpc/ieee1275/crt0.S: ... here.
43996
43997 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43998 * kern/powerpc/ieee1275/cmain.c: ... here.
43999
44000 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44001 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44002 instead of boot/powerpc/ieee1275/crt0.S and
44003 boot/powerpc/ieee1275/cmain.c, respectively.
44004
44005 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44006 sectors. It was not used anyway.
44007
44008 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44009
44010 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44011 `unused parameter' warning.
44012
44013 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44014
44015 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44016 function.
44017 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44018 getcharwidth.
44019
44020 2005-08-28 Marco Gerards <metgerards@student.han.nl>
44021
44022 * include/grub/normal.h (enum grub_completion_type): Added
44023 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44024
44025 * normal/cmdline.c (print_completion): Handle
44026 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44027 * normal/menu_entry.c (store_completion): Likewise.
44028
44029 * normal/completion.c (complete_arguments): New function.
44030 (grub_normal_do_completion): Call `complete_arguments' when the
44031 current words start with a dash.
44032
44033 2005-08-27 Marco Gerards <metgerards@student.han.nl>
44034
44035 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44036 `gzio.mod' instead of `io.mod').
44037
44038 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44039
44040 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44041 (DISTDIRS): Added io and video.
44042 Rewrite the search routine to make an output consistently.
44043
44044 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44045 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44046 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44047 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44048 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44049 util/powerpc/ieee1275/misc.c.
44050
44051 * include/grub/gzio.h: New file.
44052 * io/gzio.c: Likewise.
44053
44054 * kern/file.c (grub_file_close): Call grub_device_close only if
44055 FILE->DEVICE is not NULL.
44056
44057 * include/grub/mm.h [!NULL] (NULL): New macro.
44058
44059 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44060
44061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44062 (pkgdata_MODULES): Added gzio.mod.
44063 (gzio_mod_SOURCES): New variable.
44064 (gzio_mod_CFLAGS): Likewise.
44065
44066 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44067 (pkgdata_MODULES): Added gzio.mod.
44068 (gzio_mod_SOURCES): New variable.
44069 (gzio_mod_CFLAGS): Likewise.
44070
44071 * commands/cat.c: Include grub/gzio.h.
44072 (grub_cmd_cat): Use grub_gzfile_open instead of
44073 grub_file_open.
44074
44075 * commands/cmp.c: Include grub/gzio.h.
44076 (grub_cmd_cmp): Use grub_gzfile_open instead of
44077 grub_file_open.
44078
44079 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44080 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44081 grub_file_open.
44082 (grub_rescue_cmd_module): Likewise.
44083
44084 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44085
44086 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44087 kern/sparc64/ieee1275/init.c because it contains _start.
44088 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44089
44090 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44091
44092 * configure.ac: Add support for sparc64 host with ieee1275
44093 firmware.
44094 * configure: Generated from configure.ac.
44095 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44096 instead of int.
44097 (grub_ofdisk_read): Likewise.
44098 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44099 pointers as (void *) to remove a warning.
44100 (grub_ofdisk_close): Likewise.
44101 (grub_ofdisk_read): Likewise.
44102 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44103 returns, so make it return void to remove a warning.
44104 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44105 Corresponding prototype change.
44106 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44107 values, and cast the pointers as (void *) to remove a warning.
44108 (grub_mm_dump): Likewise.
44109 * conf/sparc64-ieee1275.mk: New file.
44110 * conf/sparc64-ieee1275.rmk: Likewise.
44111 * include/grub/sparc64/setjmp.h: Likewise.
44112 * include/grub/sparc64/types.h: Likewise.
44113 * include/grub/sparc64/ieee1275/console.h: Likewise.
44114 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44115 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44116 * include/grub/sparc64/ieee1275/time.h: Likewise.
44117 * kern/sparc64/cache.c: Likewise.
44118 * kern/sparc64/dl.c: Likewise.
44119 * kern/sparc64/ieee1275/init.c: Likewise.
44120 * kern/sparc64/ieee1275/openfw.c: Likewise.
44121
44122 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44123
44124 * util/console.c (grub_ncurses_putchar): If C is greater than
44125 0x7f, set C to a question mark.
44126 (grub_ncurses_getcharwidth): New function.
44127 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44128 getcharwidth.
44129
44130 * normal/menu.c (print_entry): Made aware of Unicode. First,
44131 convert TITLE to UCS-4, and predict the cursor position by
44132 grub_getcharwidth.
44133
44134 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44135 const to SRC.
44136 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44137
44138 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44139
44140 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44141 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44142 grub_strcat.
44143
44144 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44145 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44146 grub_strcpy and grub_strlen. Take it into account that a space
44147 character is inserted as a delimiter.
44148
44149 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44150
44151 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
44152 invalid magic in the error.
44153
44154 * commands/search.c: New file.
44155
44156 * util/grub-emu.c (main): Call grub_search_init and
44157 grub_search_fini.
44158
44159 * kern/rescue.c (grub_rescue_print_disks): Removed.
44160 (grub_rescue_print_devices): New function.
44161 (grub_rescue_cmd_ls): Use grub_device_iterate with
44162 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44163 grub_rescue_print_disks.
44164
44165 * kern/partition.c (grub_partition_iterate): Return the result of
44166 PARTMAP->ITERATE instead of GRUB_ERRNO.
44167
44168 * kern/device.c: Include grub/partition.h.
44169 (grub_device_iterate): New function.
44170
44171 * include/grub/partition.h (grub_partition_iterate): Return int
44172 instead of grub_err_t.
44173
44174 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44175 prototype.
44176 [GRUB_UTIL] (grub_search_fini): Likewise.
44177
44178 * include/grub/device.h (grub_device_iterate): New prototype.
44179
44180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44181 commands/search.c.
44182 (pkgdata_MODULES): Added search.mod.
44183 (search_mod_SOURCES): New variable.
44184 (search_mod_CFLAGS): Likewise.
44185
44186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44187 (pkgdata_MODULES): Added search.mod.
44188 (search_mod_SOURCES): New variable.
44189 (search_mod_CFLAGS): Likewise.
44190
44191 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44192 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44193 All callers changed.
44194
44195 * DISTLIST: Added commands/search.c.
44196
44197 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44198
44199 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44200 conversion.
44201 (grub_getcharwidth): New function.
44202
44203 * kern/misc.c (grub_utf8_to_ucs4): New function.
44204
44205 * include/grub/term.h (struct grub_term): Added a new member
44206 "getcharwidth".
44207 (grub_getcharwidth): New prototype.
44208
44209 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44210
44211 * term/i386/pc/console.c (map_char): New function. Segregated from
44212 grub_console_putchar.
44213 (grub_console_putchar): Use map_char.
44214 (grub_console_getcharwidth): New function.
44215 (grub_console_term): Specified grub_console_getcharwidth as
44216 getcharwidth.
44217
44218 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44219 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44220
44221 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44222 GRUB_ERRNO.
44223 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44224 on grub_strtoul completely.
44225 (write_char): Declare local variables in the beginning of the
44226 function.
44227 (grub_vesafb_getcharwidth): New function.
44228 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44229 getcharwidth.
44230
44231 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44232
44233 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44234 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44235 commands/i386/pc/vbetest.c.
44236
44237 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44238 call grub_vbe_get_controller_info again, because the returned
44239 information is volatile.
44240 (grub_vbe_set_video_mode): Mostly rewritten.
44241 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44242 grub_vbe_status_t correctly.
44243 (grub_vbe_get_video_mode_info): Likewise.
44244 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44245 several if statements.
44246
44247 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44248 * commands/i386/pc/vbeinfo.c: ... this.
44249
44250 * commands/i386/pc/vbe_test.c: Renamed to ...
44251 * commands/i386/pc/vbetest.c: ... this.
44252
44253 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44254 ...
44255 (grub_cmd_vbeinfo): ... this. Save video modes before
44256 iterating. Skip a video mode, if it is not available, not enough
44257 information is given or it is monochrome. Show the memory
44258 model. Leave the interpretation of MODEVAR to grub_strtoul
44259 completely.
44260 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44261 (GRUB_MOD_FINI): Likewise.
44262
44263 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44264 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44265 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44266 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44267 grub_strtoul completely.
44268 (real2pm): Removed.
44269 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44270 (GRUB_MOD_FINI): Likewise.
44271
44272 * normal/misc.c: Include grub/mm.h.
44273
44274 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44275 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44276 (vbe_list_modes_mod_SOURCES): Removed.
44277 (vbe_list_modes_mod_CFLAGS): Likewise.
44278 (vbe_test_mod_SOURCES): Likewise.
44279 (vbe_test_mod_CFLAGS): Likewise.
44280 (vbeinfo_mod_SOURCES): New variable.
44281 (vbeinfo_mod_CFLAGS): Likewise.
44282 (vbetest_mod_SOURCES): Likewise.
44283 (vbetest_mod_CFLAGS): Likewise.
44284
44285 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44286
44287 * normal/misc.c: New file.
44288
44289 * DISTLIST: Added normal/misc.c.
44290
44291 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44292 DISK to HOOK. Call HOOK with DISK.
44293 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44294 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44295 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44296
44297 * normal/menu_entry.c (struct screen): Added a new member
44298 "completion_shown".
44299 (completion_buffer): New global variable.
44300 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44301 (store_completion): New function.
44302 (complete): Likewise.
44303 (clear_completions): Likewise.
44304 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44305 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44306 a tab, call complete.
44307
44308 * normal/completion.c (disk_dev): Removed.
44309 (print_simple_completion): Likewise.
44310 (print_partition_completion): Likewise.
44311 (print_func): New global variable.
44312 (add_completion): Do not take the arguments WHAT or PRINT any
44313 longer. Added a new argument TYPE. Instead of printing directly,
44314 call PRINT_FUNC if not NULL.
44315 All callers changed.
44316 (complete_device): Use a local variable DEV instead of
44317 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44318 (grub_normal_do_completion): Take a new argument HOOK. Do not
44319 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44320 empty string, return NULL instead.
44321 All callers changed.
44322
44323 * normal/cmdline.c (print_completion): New function.
44324
44325 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44326 to HOOK.
44327 All callers changed.
44328
44329 * kern/disk.c (grub_print_partinfo): Removed.
44330
44331 * include/grub/partition.h (struct grub_partition_map): Add a new
44332 argument DISK into HOOK of ITERATE.
44333 (grub_partition_iterate): Add a new argument DISK to HOOK.
44334
44335 * include/grub/normal.h (enum grub_completion_type): New enum.
44336 (grub_completion_type_t): New type.
44337 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44338 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44339 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44340 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44341 (grub_normal_do_completion): Added a new argument HOOK.
44342 (grub_normal_print_device_info): New prototype.
44343
44344 * include/grub/disk.h (grub_print_partinfo): Removed.
44345
44346 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44347 (normal_mod_SOURCES): Likewise.
44348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44349 (normal_mod_SOURCES): Likewise.
44350
44351 * commands/ls.c (grub_ls_list_disks): Use
44352 grub_normal_print_device_info instead of grub_print_partinfo. Free
44353 PNAME.
44354 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44355 duplicating the code.
44356
44357 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44358
44359 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
44360 follow GCS more precisely.
44361 * commands/i386/pc/vbe_test.c: Likewise.
44362 * include/grub/i386/pc/vbe.h: Likewise.
44363 * term/i386/pc/vesafb.c: Likewise.
44364 * video/i386/pc/vbe.c: Likewise.
44365
44366 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44367
44368 * DISTLIST: Added term/i386/pc/vesafb.c
44369 DISTLIST: Added video/i386/pc/vbe.c
44370 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44371 DISTLIST: Added commands/i386/pc/vbe_test.c.
44372 * commands/i386/pc/vbe_list_modes.c: New file.
44373 * commands/i386/pc/vbe_test.c: Likewise.
44374 * term/i386/pc/vesafb.c: Likewise.
44375 * video/i386/pc/vbe.c: Likewise.
44376 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44377 (grub_vbe_probe) Added prototype.
44378 (grub_vbe_set_video_mode) Likewise.
44379 (grub_vbe_get_video_mode) Likewise.
44380 (grub_vbe_get_video_mode_info) Likewise.
44381 (grub_vbe_set_pixel_rgb) Likewise.
44382 (grub_vbe_set_pixel_index) Likewise.
44383 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44384 (pkgdata_MODULES): Added vesafb.mod.
44385 (pkgdata_MODULES): Added vbe_list_modes.mod.
44386 (pkgdata_MODULES): Added vbe_test.mod.
44387 (vbe_mod_SOURCES): Added.
44388 (vbe_mod_CFLAGS): Likewise.
44389 (vesafb_mod_SOURCES): Likewise.
44390 (vesafb_mod_CFLAGS): Likewise.
44391 (vbe_list_modes_mod_SOURCES): Likewise.
44392 (vbe_list_modes_mod_CFLAGS): Likewise.
44393 (vbe_test_mod_SOURCES): Likewise.
44394 (vbe_test_mod_CFLAGS): Likewise.
44395
44396 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44397
44398 * normal/command.c (grub_command_execute): If INTERACTIVE is
44399 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44400 CMDLINE. Disable the pager if INTERACTIVE is true.
44401 All callers are changed.
44402
44403 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44404 before reading a config file.
44405 * normal/main.c (read_config_file): Even if a command is not
44406 found, register it if it is within an entry.
44407
44408 * util/grub-emu.c: Include sys/types.h and unistd.h.
44409 (options): Added --hold.
44410 (struct arguments): Added a new member "hold".
44411 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44412 missing.
44413 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44414 cleared by a debugger, if it is not zero.
44415
44416 * include/grub/normal.h (grub_command_execute): Add an argument
44417 INTERACTIVE.
44418
44419 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44420
44421 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44422
44423 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44424
44425 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44426 program with another one, because the old one didn't detect a bug
44427 in gcc-3.4. Always use regparm 2, because the new test is still
44428 not enough for gcc-4.0. Someone must investigate a simple test
44429 case which detects a bug in gcc-4.0.
44430
44431 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44432
44433 * DISTLIST: Added normal/completion.c.
44434
44435 * normal/completion.c: New file.
44436
44437 * term/i386/pc/console.c (grub_console_getwh): New function.
44438 (grub_console_term): Assign grub_console_getwh to getwh.
44439
44440 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44441 function is defined in normal/completion.c as
44442 grub_normal_do_completion.
44443 (grub_cmdline_get): Use grub_normal_do_completion instead of
44444 grub_tab_complete.
44445
44446 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44447 returns non-zero, otherwise return 0.
44448 (grub_partition_iterate): First, probe the partition map. Then,
44449 call ITERATE only for this partition map.
44450
44451 * kern/misc.c (grub_strncmp): Rewritten.
44452
44453 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44454 returns non-zero. Otherwise return 0.
44455
44456 * include/grub/partition.h (grub_partition_map_iterate): Return
44457 int instead of void.
44458
44459 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44460
44461 * include/grub/misc.h (grub_strncmp): Change the type of N to
44462 grub_size_t.
44463
44464 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44465 of void.
44466
44467 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
44468 unsigned explicitly before comparing it with I.
44469
44470 * kern/main.c (grub_env_write_root): Add the attribute unused into
44471 VAR.
44472
44473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44474 normal/completion.c.
44475 (normal_mod_SOURCES): Likewise.
44476 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44477 (normal_mod_SOURCES): Likewise.
44478
44479 * normal/command.c (grub_iterate_commands): If ITERATE returns
44480 non-zero, return one immediately.
44481
44482 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44483
44484 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44485 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44486 descriptions.
44487 (grub_vbe_get_controller_info): New function.
44488 (grub_vbe_get_mode_info): Likewise.
44489 (grub_vbe_set_mode): Likewise.
44490 (grub_vbe_get_mode): Likewise.
44491 (grub_vbe_set_memory_window): Likewise.
44492 (grub_vbe_get_memory_window): Likewise.
44493 (grub_vbe_set_scanline_length): Likewise.
44494 (grub_vbe_get_scanline_length): Likewise.
44495 (grub_vbe_set_display_start): Likewise.
44496 (grub_vbe_get_display_start): Likewise.
44497 (grub_vbe_set_palette_data): Likewise.
44498 * include/grub/i386/pc/vbe.h: New file.
44499
44500 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44501
44502 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44503 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44504 * DISTLIST: Likewise.
44505 * kern/ieee1275/of.c: Moved to ...
44506 * kern/ieee1275/ieee1275.c: ... here.
44507
44508 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44509
44510 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44511 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44512 Pass 0 as `end' parameter to grub_strtoul().
44513
44514 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44515
44516 * include/grub/powerpc/ieee1275/console.h: Do not include
44517 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44518 ifdef.
44519 (grub_console_cur_color): Remove i386-specific prototype.
44520 (grub_console_real_putchar): Likewise.
44521 (grub_console_checkkey): Likewise.
44522 (grub_console_getkey): Likewise.
44523 (grub_console_getxy): Likewise.
44524 (grub_console_gotoxy): Likewise.
44525 (grub_console_cls): Likewise.
44526 (grub_console_setcursor): Likewise.
44527 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44528 Include <grub/machine/console.h>.
44529 * term/ieee1275/ofconsole.c: Likewise.
44530
44531 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44532
44533 * Makefile.in (LIBLZO): New variable.
44534
44535 * configure.ac: Check for LZO version 2.
44536
44537 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44538 lzo/lzo1x.h instead of lzo1x.h.
44539
44540 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44541 of -llzo.
44542
44543 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44544 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44545
44546 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44547 copying the data from PARTITION to P.
44548
44549 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44550
44551 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44552 negative, unload the module.
44553
44554 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44555 map is "pc_partition_map" but not "pc".
44556 (usage): Fix the description. The options are --boot-image and
44557 --core-image but not --boot-file or --core-file.
44558 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44559 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44560 DEFAULT_DIRECTORY.
44561
44562 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44563 --core-file. Specify INSTALL_DEVICE as an argument.
44564
44565 * util/console.c: Include config.h.
44566 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44567 [HAVE_NCURSES_H]: Include ncurses.h.
44568 [HAVE_CURSES_H]: Include curses.h.
44569 [!A_NORMAL] (A_NORMAL): Defined as zero.
44570 [!A_STANDOUT] (A_STANDOUT): Likewise.
44571
44572 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44573 -lncurses.
44574 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44575
44576 * configure.ac: Check for curses libraries and headers.
44577
44578 * Makefile.in (LIBCURSES): New variable.
44579
44580 * genmk.rb (Script::rule): Set the executable bits.
44581
44582 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44583 name of the PC partition map is "pc_partition_map" but not "pc".
44584
44585 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44586
44587 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44588 (modules): Likewise.
44589 (usage): Added descriptions for --modules and --grub-probefs.
44590 Handle --modules and --grub-probefs. Save the arguments in MODULES
44591 and GRUB_PROBEFS, respectively.
44592 Auto-detect a filesystem module against GRUBDIR. If the result is
44593 empty and modules are not specified explicitly, abort the
44594 installation. Add the result to MODULES.
44595
44596 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44597 disk/powerpc/ieee1275/ofdisk.c,
44598 include/grub/powerpc/ieee1275/init.h and
44599 term/powerpc/ieee1275/ofconsole.c.
44600 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44601 term/ieee1275/ofconsole.c.
44602
44603 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44604
44605 * COPYING: Upgraded to the latest version. Only the address of the
44606 FSF office has changed.
44607
44608 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44609
44610 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44611 kern/ieee1275.c with kern/ieee1275/of.c.
44612
44613 * kern/ieee1275.c: Moved to ...
44614 * kern/ieee1275/of.c: ... here.
44615
44616 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44617
44618 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
44619 readability.
44620
44621 * config.guess: Updated to the latest version from gnulib.
44622 * config.sub: Likewise.
44623 * install.sh: Likewise.
44624 * mkinstalldirs: Likewise.
44625
44626 * include/grub/console.h: Removed. This file is arch-specific. Do
44627 not put this in include/grub.
44628
44629 * include/grub/i386/pc/console.h: Resurrected.
44630
44631 * util/console.c: Include grub/machine/console.h instead of
44632 grub/console.h.
44633 * util/grub-emu.c: Likewise.
44634
44635 2005-08-04 Marco Gerards <metgerards@student.han.nl>
44636
44637 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44638 hardcoded value.
44639
44640 From Vincent Pelletier <subdino2004@yahoo.fr>
44641 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44642 Redefined to use grub_getwh.
44643 (grub_term): New member named getwh.
44644 (grub_getwh): New prototype.
44645 * kern/term.c (grub_getwh): New function.
44646 * term/i386/pc/console.c (grub_console_getwh): New function.
44647 (grub_console_term): New member `getwh'.
44648 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44649 (grub_vga_term): New member `getwh'.
44650 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
44651 grub_ssize_t.
44652 (grub_ofconsole_getw): New function.
44653 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44654 (grub_ofconsole_term): New field named getwh and new initial
44655 value.
44656
44657 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44658
44659 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44660 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44661 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44662 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44663 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44664 of <grub/machine/ieee1275.h>.
44665 * commands/ieee1275/reboot.c: Likewise.
44666 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44667 * kern/ieee1275.c: ... to here. All users updated. Change all
44668 parameter structs to use new type `grub_ieee1275_cell_t'.
44669 * term/powerpc/ieee1275/ofconsole.c: Move ...
44670 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44671 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44672 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44673 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44674 to return int.
44675 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44676 Remove unused prototypes. All users updated.
44677 * include/grub/powerpc/ieee1275/console.h: Removed.
44678 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44679 `grub_ieee1275_cell_t'.
44680 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44681 Cast comparisons with -1 to the correct type.
44682 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44683 type to match `grub_ieee1275_entry_fn'.
44684
44685 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44686
44687 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44688
44689 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44690 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44691 partmap/sun.c.
44692 (grub_probefs_SOURCES): New variable.
44693
44694 * util/i386/pc/grub-probefs.c: New file.
44695
44696 * util/i386/pc/grub-setup.c (main): Call
44697 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44698 grub_hfs_init and grub_jfs_init to initialize the system. Call
44699 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44700 grub_pc_partition_map_fini to finish the system.
44701
44702 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44703
44704 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44705 function.
44706 (grub_multiboot_load_elf32): Likewise.
44707 (grub_multiboot_is_elf64): Likewise.
44708 (grub_multiboot_load_elf64): Likewise.
44709 (grub_multiboot_load_elf): Likewise.
44710 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44711 an ELF32 or ELF64 file.
44712 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44713
44714 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44715 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44716 NULL before calling FS->LABEL.
44717 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44718 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44719 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44720 before calling FS->LABEL.
44721
44722 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44723
44724 * util/i386/pc/grub-install.in (datadir): New variable.
44725 (libdir): Removed.
44726 (pkgdatadir): New variable.
44727 (pkglibdir): Removed.
44728
44729 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44730
44731 * DISTLIST: Added util/i386/pc/grub-install.in.
44732
44733 * util/i386/pc/grub-install.in: New file.
44734
44735 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44736 (grub_install_SOURCES): Likewise.
44737
44738 * genmk.rb: Added support for scripts.
44739 (Script): New class.
44740 (scripts): New variable.
44741
44742 * Makefile.in (install-local): Install sbin_SCRIPTS by
44743 INSTALL_SCRIPT.
44744 (uninstall): Remove sbin_SCRIPTS.
44745
44746 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44747 device, try to get a GRUB device by
44748 grub_util_biosdisk_get_grub_dev.
44749 Free DEST_DEV.
44750
44751 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44752 description for --device-map.
44753
44754 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44755
44756 Change the semantics of variable hooks. They now return strings
44757 instead of error values.
44758
44759 * util/i386/pc/grub-setup.c: Include grub/env.h.
44760 (setup): Use grub_device_set_root instead of grub_env_set.
44761
44762 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44763 grub_env_get instead of grub_device_set_root and
44764 grub_device_get_root, respectively.
44765
44766 * kern/main.c (grub_env_write_root): New function.
44767 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44768 grub_env_set instead of grub_device_set_root.
44769
44770 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44771 many variables.
44772 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44773 rather than calling ENV->WRITE_HOOK afterwards.
44774 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44775 passing a pointer of a pointer.
44776 (grub_register_variable_hook): Change the types of "read_hook" and
44777 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44778 respectively.
44779 Allocate the default empty string on the heap, because this string
44780 may be freed later.
44781
44782 * kern/device.c: Include grub/env.h.
44783 (grub_device_set_root): Removed.
44784 (grub_device_get_root): Likewise.
44785 (grub_device_open): Use grub_env_get instead of
44786 grub_device_get_root.
44787
44788 * include/grub/env.h (grub_env_read_hook_t): New type.
44789 (grub_env_write_hook_t): Likewise.
44790 (grub_env_var): Change the types of "read_hook" and "write_hook"
44791 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44792 (grub_register_variable_hook): Likewise.
44793
44794 * include/grub/device.h (grub_device_set_root): Removed.
44795 (grub_device_set_root): Likewise.
44796
44797 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44798 make sure that DIRNAME terminates with '/', so that
44799 grub_fat_find_dir will fail if PATH is not a directory.
44800
44801 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44802 from DIRNAME.
44803 Use the qualifier auto for print_files and print_files_long.
44804 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44805 as a regular file.
44806 Put a newline only if there is no error.
44807 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44808 used.
44809
44810 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44811
44812 * kern/partition.c (grub_partition_probe): Initialize PART to
44813 NULL. Otherwise, when no partition map is registered, this returns
44814 a garbage.
44815
44816 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44817
44818 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44819 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44820 valid.
44821
44822 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44823
44824 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44825 information on each device, if it does not have partitions. Print
44826 "Device" instead of "Disk", because this function is not specific
44827 to disk devices.
44828
44829 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44830 static to ensure that it is put on the memory rather than a
44831 register.
44832
44833 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44834
44835 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44836 (grub_cat_init): Likewise.
44837 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44838 (options): Likewise.
44839 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44840 (grub_configfile_init): Likewise.
44841 * font/manager.c (GRUB_MOD_INIT): Likewise.
44842 * commands/help.c (GRUB_MOD_INIT): Likewise.
44843 (grub_help_init): Likewise.
44844 * normal/command.c (grub_command_init): Likewise.
44845 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44846 * disk/loopback.c (grub_loop_init): Likewise.
44847 (GRUB_MOD_INIT): Likewise.
44848 * commands/ls.c (grub_ls_init): Likewise.
44849 (GRUB_MOD_INIT): Likewise.
44850 (options): Likewise.
44851 * commands/boot.c (grub_boot_init): Likewise.
44852 (GRUB_MOD_INIT): Likewise.
44853 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44854 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44855 (GRUB_MOD_INIT): Likewise.
44856 * commands/cmp.c (grub_cmp_init): Likewise.
44857 (GRUB_MOD_INIT): Likewise.
44858
44859 * normal/arg.c: Use <> instead of "" to include header files.
44860 (SHORT_ARG_HELP): New macro.
44861 (SHORT_ARG_USAGE): Likewise.
44862 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44863 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44864 descriptions.
44865 (find_short): Check if C is 'h' or 'u' explicitly.
44866 (grub_arg_show_help): Use space characters instead of tabs. Treat
44867 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44868 are shown with --help and --usage only if they are not used for
44869 the command itself.
44870 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44871 'h' and 'u'.
44872
44873 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44874 const into "longarg". Change the type of "shortarg" to int.
44875
44876 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44877
44878 * boot/i386/pc/boot.S (boot_drive_check): New label.
44879
44880 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44881 macro.
44882
44883 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44884 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44885
44886 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44887
44888 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44889 When turning off Gate A20, skip the check and return immediately,
44890 because this is not fatal usually.
44891
44892 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44893
44894 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44895 be 0x7C00 instead of 0x8000.
44896
44897 * boot/i386/pc/pxeboot.S: Rewritten.
44898
44899 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44900 EXT_C.
44901 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44902 result.
44903
44904 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44905
44906 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44907 robustness. This routine now supports a BIOS call and System
44908 Control Port A to modify the gate A20.
44909
44910 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44911 Increased to 0x440.
44912
44913 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44914
44915 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44916 device path and resulting ihandle.
44917 (grub_ofdisk_close): dprintf the ihandle being closed.
44918 (grub_ofdisk_read): dprintf function parameters.
44919 * kern/mm.c (grub_mm_init_region): Likewise.
44920 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44921 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44922 size, and boot arguments.
44923 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44924 before loading into memory.
44925 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44926 before loading into memory.
44927
44928 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44929
44930 * kern/mm.c: Added much documentation.
44931 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44932 8, set to 5 instead of 8.
44933
44934 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44935
44936 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44937
44938 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44939 (grub_mkdevicemap_SOURCES): New variable.
44940
44941 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44942 lib/device.c of GRUB Legacy.
44943
44944 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44945
44946 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44947 instead of PATH is NULL.
44948
44949 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44950
44951 * commands/cmp.c (BUFFER_SIZE): New macro.
44952 (grub_cmd_cmp): Close the right file at the right time. Compare
44953 only data just read. Don't report files of different size as
44954 identical. Dynamically allocate buffers. Move variable
44955 declarations at the beginning of function.
44956
44957 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44958
44959 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44960 reverse.
44961
44962 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44963
44964 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44965 when backspace is pressed at beginning of line.
44966
44967 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44968
44969 * DISTLIST: Added genfslist.sh.
44970
44971 * normal/main.c (fs_module_list): New variable.
44972 (autoload_fs_module): New function.
44973 (read_fs_list): Likewise.
44974 (grub_normal_execute): Call read_fs_list.
44975
44976 * kern/fs.c (grub_fs_autoload_hook): New variable.
44977 (grub_fs_probe): Added support for auto-loading.
44978
44979 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44980 (grub_fs_module_list_t): New type.
44981
44982 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44983 (grub_fs_autoload_hook): New prototype.
44984
44985 * genfslist.sh: New file.
44986
44987 * genmk.rb: Added a rule to generate a filesystem list.
44988
44989 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44990
44991 * configure.ac: Fix the test for cross-compiling.
44992
44993 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44994 define GRUB_UTIL anymore.
44995
44996 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44997 so this function works on other systems than just big endian.
44998 (load_modules): Likewise.
44999 (add_segments): Likewise.
45000
45001 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45002
45003 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45004 contains `l' modifier, get a long from va_arg().
45005
45006 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45007
45008 * kern/mm.c (grub_free): If the next free block which is being
45009 merged is the first free block, set the first block to the block
45010 being freed.
45011 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45012
45013 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45014
45015 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45016 `grub_ieee1275_chosen'.
45017
45018 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45019
45020 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45021 (grub_ieee1275_chosen): New variable.
45022 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45023 `chosen'.
45024 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45025 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45026 Rename first argument to `phandle' for consistency.
45027 (grub_ieee1275_get_property_length): Likewise.
45028 (grub_ieee1275_next_property): Likewise. Change type of first argument
45029 to grub_ieee1275_phandle_t.
45030 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45031 Move export next to declaration.
45032 (grub_ieee1275_chosen): New variable.
45033 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45034 Correct cosmetic typo.
45035 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45036 `grub_ieee1275_chosen'.
45037 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45038 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45039 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45040 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45041 `grub_ieee1275_chosen'.
45042
45043 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45044
45045 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45046 /chosen/bootargs.
45047 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45048 /chosen/bootargs as "variable=value" pairs.
45049
45050 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45051
45052 * include/grub/misc.h (grub_dprintf): New macro.
45053 (grub_real_dprintf): New prototype.
45054 (grub_strword): Likewise.
45055 (grub_iswordseparator): Likewise.
45056 * kern/misc.c (grub_real_dprintf): New function.
45057 (grub_strword): Likewise.
45058 (grub_iswordseparator): Likewise.
45059
45060 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45061
45062 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45063 (roundup): Remove macro.
45064 (grub_ieee1275_flags): Make static.
45065 (grub_ieee1275_realmode): Remove.
45066 (grub_ieee1275_test_flag): New function.
45067 (grub_ieee1275_set_flag): Likewise.
45068 (find_options): Rename to `grub_ieee1275_find_options'; update
45069 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45070 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45071 (cmain): New prototype.
45072 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45073 `grub_ieee1275_flags' directly.
45074 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45075 machine/biosdisk.h.
45076 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45077 Don't include grub/machine/init.h.
45078 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45079 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45080 Remove prototype.
45081 (grub_ieee1275_realmode): Likewise.
45082 (grub_ieee1275_flag): New enum.
45083 (grub_ieee1275_test_flag): New prototype.
45084 (grub_ieee1275_set_flag): New prototype.
45085 * include/grub/powerpc/ieee1275/init.h: Remove file.
45086 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45087 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45088 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45089 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45090 comment.
45091 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45092 `grub_ieee1275_test_flag'.
45093 (grub_ieee1275_encode_devname): Likewise.
45094
45095 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45096
45097 * include/grub/powerpc/ieee1275/ieee1275.h
45098 (grub_ieee1275_encode_devname): New prototype.
45099 (grub_ieee1275_get_filename): Likewise.
45100 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45101 function.
45102 (grub_set_prefix): Likewise.
45103 (grub_machine_init): Call grub_set_prefix.
45104 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45105 (grub_parse_type): New enum.
45106 (grub_ieee1275_get_devargs): New function.
45107 (grub_ieee1275_get_devname): Likewise.
45108 (grub_ieee1275_parse_args): Likewise.
45109 (grub_ieee1275_get_filename): Likewise.
45110 (grub_ieee1275_encode_devname): Likewise.
45111
45112 2005-03-30 Marco Gerards <metgerards@student.han.nl>
45113
45114 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45115 `grub_loader_unset'.
45116
45117 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45118
45119 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45120 instead of grub_ieee1275_interpret.
45121 (grub_halt_init): New function.
45122 (grub_halt_fini): Likewise.
45123 (GRUB_MOD_INIT): Correct message grammar.
45124 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45125 instead of grub_ieee1275_interpret.
45126 (grub_reboot_init): New function.
45127 (grub_reboot_fini): Likewise.
45128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45129 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45130 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45131 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45132 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45133 function.
45134 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45135 Add prototype.
45136 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45137 prototype.
45138 (grub_halt): Likewise.
45139 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45140 (cmain): Remove __attribute__((unused)).
45141 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45142 (grub_heap_len): Likewise.
45143 (grub_machine_fini): New function.
45144 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45145 (grub_halt): Likewise.
45146 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45147 function.
45148 * util/powerpc/ieee1275/misc.c: New file.
45149
45150 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45151
45152 * DISTLIST: New file.
45153 * gendistlist.sh: Likewise.
45154
45155 * Makefile.in (COMMON_DISTFILES): Removed.
45156 (BOOT_DISTFILES): Likewise.
45157 (CONF_DISTFILES): Likewise.
45158 (DISK_DISTFILES): Likewise.
45159 (FS_DISTFILES): Likewise.
45160 (INCLUDE_DISTFILES): Likewise.
45161 (KERN_DISTFILES): Likewise.
45162 (LOADER_DISTFILES): Likewise.
45163 (TERM_DISTFILES): Likewise.
45164 (UTIL_DISTFILES): Likewise.
45165 (DISTFILES): Likewise.
45166 (uninstall): Uninstall files in $(pkgdata_DATA).
45167 (DISTLIST): New target.
45168 (distdir): Use the contents of the file DISTLIST to get a list of
45169 distributed files.
45170
45171 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45172
45173 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45174 descriptor. This is ported from GRUB Legacy.
45175
45176 * gencmdlist.sh: Added an extra semicolon to make it work with
45177 old sed versions. Reported by Robert Bihlmeyer
45178 <robbe@orcus.priv.at>.
45179
45180 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
45181
45182 Automatic loading of commands is supported.
45183
45184 * normal/main.c (read_command_list): New function.
45185 (grub_normal_execute): Call read_command_list.
45186
45187 * normal/command.c (grub_register_command): Return zero or CMD.
45188 Allocate CMD->NAME from the heap.
45189 Initialize CMD->MODULE_NAME to zero.
45190 Find the same name as well. If the same command is found and it is
45191 a dummy command, overwrite members. If it is not a dummy command,
45192 return zero.
45193 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45194 (grub_command_find): If a dummy command is found, load a module
45195 and retry to find a command only once.
45196
45197 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45198 make sure that each command is loaded.
45199
45200 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45201 macro.
45202 (struct grub_command): Remove const from the member `name'.
45203 Add a new member `module_name'.
45204 (grub_register_command): Return grub_command_t.
45205
45206 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45207 sure that each command is loaded.
45208
45209 * genmk.rb (PModule::rule): Specify a module name without the
45210 suffix ".mod" to gencmdlist.sh.
45211
45212 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45213
45214 * gencmdlist.sh: New file.
45215
45216 * genmk.rb (PModule::rule): Generate a rule for a command list.
45217 Clean command.lst.
45218 Generate command.lst from $(COMMANDFILES).
45219
45220 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45221 (DATA): Added $(pkgdata_DATA).
45222 (install-local): Install files in $(pkgdata_DATA).
45223
45224 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45225
45226 * term/i386/pc/vga.c (debug_command): Removed.
45227 (GRUB_MOD_INIT): Do not register the command "debug".
45228
45229 From Hollis Blanchard:
45230 * commands/configfile.c: New file.
45231 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45232 commands/configfile.c.
45233 (pkgdata_MODULES): Added configfile.mod.
45234 (configfile_mod_SOURCES): New variable.
45235 (configfile_mod_CFLAGS): Likewise.
45236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45237 commands/configfile.c.
45238 (pkgdata_MODULES): Added configfile.mod.
45239 (configfile_mod_SOURCES): New variable.
45240 (configfile_mod_CFLAGS): Likewise.
45241 * util/grub-emu.c (main): Call grub_configfile_init and
45242 grub_configfile_fini.
45243 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45244 prototype.
45245 [GRUB_UTIL] (grub_configfile_fini): Likewise.
45246
45247 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45248
45249 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45250 address.
45251
45252 * commands/help.c (grub_cmd_help): Do not print newlines after
45253 the last command in print_command_help.
45254
45255 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45256
45257 * commands/default.h: New file.
45258 * commands/timeout.h: Likewise.
45259 * normal/context.c: Likewise.
45260
45261 * util/misc.c: Do not include sys/times.h.
45262 Include sys/time.h and grub/machine/time.h.
45263 (grub_get_rtc): Rewritten with gettimeofday.
45264
45265 * util/grub-emu.c (main): Call grub_default_init and
45266 grub_timeout_init before grub_normal_init, and call
45267 grub_timeout_fini and grub_default_fini after grub_main.
45268
45269 * util/console.c (grub_ncurses_checkkey): Return the read
45270 character or -1.
45271
45272 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45273 timeouts.
45274
45275 * normal/main.c (read_config_file): Push MENU. If this fails,
45276 print an error and wait for a user input.
45277 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45278 If a menu is empty or an error occurs, pop MENU.
45279 (grub_normal_execute): Pop and free MENU after grub_menu_run
45280 returns.
45281
45282 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45283
45284 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45285 include time.h.
45286 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45287 without GRUB_UTIL.
45288 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45289 time.h.
45290 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45291 without GRUB_UTIL.
45292
45293 * include/grub/normal.h (struct grub_menu_list): New struct.
45294 (grub_menu_list_t): New type.
45295 (struct grub_context): New struct.
45296 (grub_context_t): New type.
45297 (grub_register_command): Got rid of EXPORT_FUNC.
45298 (grub_unregister_command): Likewise.
45299 (grub_context_get): New prototype.
45300 (grub_context_get_current_menu): Likewise.
45301 (grub_context_push_menu): Likewise.
45302 (grub_context_pop_menu): Likewise.
45303 [GRUB_UTIL] (grub_default_init): Likewise.
45304 [GRUB_UTIL] (grub_default_fini): Likewise.
45305 [GRUB_UTIL] (grub_timeout_init): Likewise.
45306 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45307
45308 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45309 commands/timeout.c and normal/context.c.
45310 (pkgdata_MODULES): Added default.mod and timeout.mod.
45311 (normal_mod_SOURCES): Added normal/context.c.
45312 (default_mod_SOURCES): New variable.
45313 (default_mod_CFLAGS): Likewise.
45314 (timeout_mod_SOURCES): Likewise.
45315 (timeout_mod_CFLAGS): Likewise.
45316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45317 conf/i386-pc.rmk.
45318 (pkgdata_MODULES): Added default.mod and timeout.mod.
45319 (normal_mod_SOURCES): Added normal/context.c.
45320 (default_mod_SOURCES): New variable.
45321 (default_mod_CFLAGS): Likewise.
45322 (timeout_mod_SOURCES): Likewise.
45323 (timeout_mod_CFLAGS): Likewise.
45324
45325 * Makefile.in (all-local): Added $(MKFILES).
45326
45327 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45328
45329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45330 (grub_emu_SOURCES): Likewise.
45331 (pkgdata_MODULES): Add `sun.mod'.
45332 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45334 `partmap/sun.c'.
45335 (pkgdata_MODULES): Add `sun.mod'.
45336 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45337 * include/grub/partition.h (grub_sun_partition_map_init): New
45338 prototype.
45339 (grub_sun_partition_map_fini): Likewise.
45340 * partmap/sun.c: New file.
45341 * util/grub-emu.c (main): Initialize and de-initialize the sun
45342 partitionmap support.
45343
45344 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45345
45346 This implements an Emacs-like menu entry editor.
45347
45348 * normal/menu_entry.c: New file.
45349
45350 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45351 characters to ASCII.
45352 (saved_char): New variable.
45353 (grub_ncurses_checkkey): Rewritten completely.
45354 (grub_ncurses_getkey): Likewise.
45355 (grub_ncurses_init): Call raw instead of cbreak.
45356
45357 * normal/menu.c (print_entry): Do not put a space.
45358 (init_page): Renamed to ...
45359 (grub_menu_init_page): ... this. All callers changed.
45360 (edit_menu_entry): Removed.
45361 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45362
45363 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45364
45365 * kern/misc.c (grub_vprintf): Call grub_refresh.
45366
45367 * normal/menu.c (DISP_LEFT): Renamed to ...
45368 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45369 * normal/menu.c (DISP_UP): Renamed to ...
45370 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45371 * normal/menu.c (DISP_RIGHT): Renamed to ...
45372 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45373 * normal/menu.c (DISP_DOWN): Renamed to ...
45374 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45375 * normal/menu.c (DISP_HLINE): Renamed to ...
45376 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45377 * normal/menu.c (DISP_VLINE): Renamed to ...
45378 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45379 * normal/menu.c (DISP_UL): Renamed to ...
45380 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45381 * normal/menu.c (DISP_UR): Renamed to ...
45382 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45383 * normal/menu.c (DISP_LL): Renamed to ...
45384 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45385 * normal/menu.c (DISP_LR): Renamed to ...
45386 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45387 * normal/menu.c (TERM_WIDTH): Renamed to ...
45388 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45389 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45390 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45391 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45392 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45393 * normal/menu.c (TERM_MARGIN): Renamed to ...
45394 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45395 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45396 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45397 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45398 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45399 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45400 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45401 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45402 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45403 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45404 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45405 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45406 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45407 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45408 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45409 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45410 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45411 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45412 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45413 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45414 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45415 All callers changed.
45416
45417 * include/grub/normal.h: New prototype.
45418
45419 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45420 normal/menu_entry.c.
45421 (normal_mod_SOURCES): Likewise.
45422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45423 (normal_mod_SOURCES): Likewise.
45424
45425 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45426
45427 * include/grub/normal.h (grub_halt_init): New prototype.
45428 (grub_halt_fini): Likewise.
45429 (grub_reboot_init): Likewise.
45430 (grub_reboot_fini): Likewise.
45431
45432 * util/grub-emu.c: Include signal.h.
45433 (main_env): New global variable.
45434 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45435 catch C-c.
45436 (grub_machine_fini): New function.
45437 (main): Call grub_halt_init and grub_reboot_init before
45438 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45439 Call setjmp with MAIN_ENV to go back afterwards.
45440 Call grub_machine_fini right before return.
45441
45442 * include/grub/util/misc.h: Include setjmp.h.
45443 (main_env): New prototype.
45444
45445 * include/grub/kernel.h (grub_machine_fini): New prototype.
45446 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45447 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45448
45449 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45450 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45451 * term/i386/pc/console.c (grub_console_fini): Likewise.
45452
45453 * util/i386/pc/misc.c: New file.
45454
45455 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45456 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45457 commands/i386/pc/reboot.c.
45458
45459 2005-02-14 Guillem Jover <guillem@hadrons.org>
45460
45461 * include/grub/dl.h (grub_dl_check_header): New prototype.
45462 (grub_arch_dl_check_header): Change return type to grub_err_t,
45463 remove size parameter and export function. Update all callers.
45464 * kern/dl.c (grub_dl_check_header): New function.
45465 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45466 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45467 are inside the core.
45468 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45469 independent ELF header checks.
45470 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45471 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45472 `grub_dl_check_header' instead of explicit checks. Check for the
45473 ELF type.
45474 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45475 `grub_dl_check_header' instead of explicit checks. Remove arch
45476 specific ELF header checks.
45477
45478 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45479 argument SIZE.
45480
45481 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45482
45483 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45484 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45485
45486 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45487
45488 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
45489 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
45490 (part_map_iterate): Clear `grub_errno' and return 0 if
45491 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
45492 * partmap/amiga.c (amiga_partition_map_iterate): Return
45493 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45494 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45495
45496 2005-02-01 Guillem Jover <guillem@hadrons.org>
45497
45498 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45499 help info.
45500
45501 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45502
45503 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45504 Removed prototype.
45505 (grub_rescue_cmd_linux): New prototype.
45506 (grub_rescue_cmd_initrd): Likewise.
45507 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45508 `bi_rec'.
45509 (grub_linux_release_mem): Release the memory for the initrd.
45510 (grub_load_linux): Renamed from this...
45511 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45512 Changed `entry' not to be static. Loop over memory regions to
45513 find another one when the default fails.
45514 (grub_rescue_cmd_initrd): New function.
45515 (grub_linux_init): Remove function.
45516 (grub_linux_fini): Likewise.
45517 (GRUB_MOD_INIT): Register `initrd'.
45518 (GRUB_MOD_FINI): Unregister `initrd'.
45519 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45520 Function removed.
45521 (grub_linux_normal_fini): Likewise.
45522 (GRUB_MOD_INIT): Register `initrd'.
45523 (GRUB_MOD_FINI): Unregister `initrd'.
45524
45525 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45526
45527 * commands/help.c: New file.
45528 * normal/arg.c (show_help): Renamed to...
45529 (grub_arg_show_help): ... this.
45530 * commands/i386/pc/halt.c: New file.
45531 * commands/i386/pc/reboot.c: Likewise.
45532 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45533 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45534 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45535 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45536 variables.
45537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45538 `commands/help.c'.
45539 (pkgdata_MODULES): Add `help.mod'.
45540 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45541 * grub/i386/pc/init.h (grub_reboot): New prototype.
45542 (grub_halt): Likewise.
45543 * include/grub/normal.h (grub_arg_show_help): New prototype.
45544 (grub_help_init): Likewise.
45545 (grub_help_fini): Likewise.
45546 * util/grub-emu.c (main): Initialize and deinitialize the help
45547 command.
45548
45549 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45550
45551 * normal/command.c (grub_command_init): Fixed the description of
45552 the `set' and `unset' commands.
45553
45554 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45555
45556 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45557 function.
45558 * commands/ieee1275/halt.c: New file.
45559 * commands/ieee1275/reboot.c: Likewise.
45560 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45561 `__attribute__ ((unused))'. Some GCS related fixed.
45562 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45563 (grub_suspend_fini): Likewise.
45564 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45565 and `halt.mod'.
45566 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45567 (halt_mod_CFLAGS): New variables.
45568 * include/grub/powerpc/ieee1275/ieee1275.h
45569 (grub_ieee1275_interpret): New prototype.
45570
45571 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45572
45573 * include/grub/misc.h (memmove): New prototype.
45574 (memcpy): Likewise.
45575
45576 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45577
45578 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45579 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45580
45581 2005-01-22 Marco Gerards <metgerards@student.han.nl>
45582
45583 * kern/misc.c (grub_strndup): Function rewritten.
45584
45585 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45586
45587 * normal/menu.c (TERM_WIDTH): Macro redefined.
45588 (TERM_TOP_BORDER_Y): Likewise.
45589 (draw_border): Replaced while-loop by a for-loop. Make the number
45590 of lines consistent with the number of lines displayed in
45591 print_entries. Added a margin below the rectangle.
45592 (print_entry): Make the entry fit in the rectangle.
45593 (print_entries): Display the scroll arrows next to the right
45594 border.
45595
45596 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45597
45598 * fs/minix.c (grub_minix_find_file): Reserve more space for
45599 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45600 `grub_strncpy' to copy `path' into it.
45601
45602 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45603
45604 Add the loopback device, a device via which files can be accessed
45605 as devices.
45606
45607 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45608 (pkgdata_MODULES): Add loopback.mod.
45609 (loopback_mod_SOURCES): New variable.
45610 (loopback_mod_CFLAGS): Likewise.
45611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45612 `disk/loopback.c'.
45613 (pkgdata_MODULES): Add loopback.mod.
45614 (loopback_mod_SOURCES): New variable.
45615 (loopback_mod_CFLAGS): Likewise.
45616 * disk/loopback.c: new file.
45617 * include/grub/normal.h (grub_loop_init): New prototype.
45618 (grub_loop_fini): New prototype.
45619 * util/grub-emu.c (main): Initialize and de-initialize loopback
45620 support.
45621 * include/grub/disk.h (grub_disk_dev_id): Add
45622 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45623
45624 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45625
45626 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45627 function.
45628 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45629 (suspend_mod_SOURCES): New variable.
45630 (suspend_mod_CFLAGS): Likewise.
45631 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45632 New prototype.
45633 * commands/ieee1275/suspend.c: New file.
45634
45635 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45636
45637 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
45638 ((unused))' to `__attribute__ ((used))'.
45639 (GRUB_MOD_FINI): Likewise.
45640 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45641 * genmk.rb (PModule): Assign space to common symbols when linking
45642 modules.
45643
45644 2005-01-20 Marco Gerards <metgerards@student.han.nl>
45645
45646 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45647 `unsigned' arguments to `grub_size_t'.
45648 (grub_malloc): Likewise.
45649 (grub_realloc): Likewise.
45650 (grub_memalign): Likewise.
45651 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45652 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45653 * util/misc.c (grub_malloc): Likewise.
45654 (grub_realloc): Likewise.
45655 * kern/mm.c (get_header_from_pointer): Change the casts to
45656 `unsigned' into a cast to `grub_size_t'.
45657
45658 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45659 point to `currnode' when `currnode' is changed.
45660
45661 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45662 Schottelius <nico-linux@schottelius.org>.
45663
45664 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45665
45666 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45667 (note_path): Remove variable.
45668 (GRUB_IEEE1275_NOTE_NAME): New macro.
45669 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45670 (grub_ieee1275_note_hdr): New structure.
45671 (grub_ieee1275_note_desc): Likewise.
45672 (grub_ieee1275_note): Likewise.
45673 (load_note): Remove `dir' argument. All callers updated. Remove
45674 `note_img' and `path'. Do not load a file from `note_path'.
45675 Initialize a struct grub_ieee1275_note and write that to `out'.
45676 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45677
45678 2005-01-05 Marco Gerards <metgerards@student.han.nl>
45679
45680 * util/misc.c (grub_util_read_image): Revert last change. It
45681 called `grub_util_read_at', which seeks from the beginning of the
45682 file.
45683
45684 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45685
45686 * TODO: Add note about endianness in grub-mkimage.
45687 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45688 section.
45689 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45690 (grub_mkimage_SOURCES): New target.
45691 * include/grub/kernel.h (grub_start_addr): Remove variable.
45692 (grub_end_addr): Likewise.
45693 (grub_total_module_size): Likewise.
45694 (grub_kernel_image_size): Likewise.
45695 (GRUB_MODULE_MAGIC): New constant.
45696 (grub_module_info): New structure.
45697 (grub_arch_modules_addr): New prototype.
45698 (grub_get_end_addr): Remove prototype.
45699 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45700 * include/grub/powerpc/ieee1275/kernel.h: New file.
45701 * include/grub/util/misc.h (grub_util_get_fp_size): New
45702 prototype.
45703 (grub_util_read_at): Likewise.
45704 (grub_util_write_image_at): Likewise.
45705 * kern/main.c (grub_get_end_addr): Remove function.
45706 (grub_load_modules): Call grub_arch_modules_addr instead of using
45707 grub_end_addr. Look for a grub_module_info struct in memory. Use
45708 the grub_module_info fields instead of calling grub_get_end_addr
45709 as loop conditions. Move grub_add_unused_region code here.
45710 (grub_add_unused_region): Remove function.
45711 * kern/i386/pc/init.c: Include grub/cache.h.
45712 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45713 one call to add_mem_region.
45714 (grub_arch_modules_addr): New function.
45715 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45716 (grub_total_module_size): Likewise.
45717 Include grub/machine/kernel.h.
45718 (grub_arch_modules_addr): New function.
45719 * util/grub-emu.c (grub_end_addr): Remove variable.
45720 (grub_total_module_size): Likewise.
45721 (grub_arch_modules_addr): New function.
45722 * util/misc.c: Include unistd.h.
45723 (grub_util_get_fp_size): New function.
45724 (grub_util_read_at): Likewise.
45725 (grub_util_write_image_at): Likewise.
45726 (grub_util_read_image): Call grub_util_read_at.
45727 (grub_util_write_image): Call grub_util_write_image_at.
45728 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45729 additional memory in kernel_img for a struct grub_module_info.
45730 Fill in that grub_module_info.
45731 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45732
45733 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45734
45735 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45736 New function.
45737 * include/grub/powerpc/ieee1275/ieee1275.h
45738 (grub_ieee1275_milliseconds): New prototype.
45739 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45740 Change to 1000.
45741 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45742 grub_ieee1275_milliseconds.
45743
45744 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45745
45746 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45747 variable.
45748 (find_options): New function.
45749 (cmain): Call find_options.
45750 * include/grub/powerpc/ieee1275/ieee1275.h
45751 (grub_ieee1275_realmode): New extern variable.
45752 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45753 grub_map if grub_ieee1275_realmode is false.
45754
45755 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45756
45757 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45758 lines are inserted and make it work like readline. Reported by
45759 Vincent Pelletier <subdino2004@yahoo.fr>.
45760
45761 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45762
45763 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45764
45765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45766 `kern/powerpc/cache.S'.
45767
45768 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45769
45770 * genmk.rb: Handle the `Program' class in the main loop. Written
45771 by Johan Rydberg <jrydberg@gnu.org>.
45772 (Program): New class.
45773 (programs): New variable.
45774 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45775 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45776 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45777 (help_arch): Function removed.
45778 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45779 `powerpc/libgcc.h' and `loader.h'.
45780 (pkgdata_PROGRAMS): New variable.
45781 (sbin_UTILITIES): Variable removed.
45782 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45783 (grubof_SOURCES): Variable re-defined so it only includes the
45784 core functionality.
45785 (grubof_CFLAGS): Remove `-DGRUBOF'.
45786 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45787 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45788 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45789 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45790 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45791 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45792 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45793 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45794 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45795 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45796 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45797 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45798 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45799 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45800 (pc_mod_CFLAGS): New variables.
45801 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45802 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45803 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45804 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45805 Moved from here...
45806 * include/grub/i386/pc/init.h (grub_os_area_addr)
45807 (rub_os_area_size): ... to here.
45808 * include/grub/powerpc/ieee1275/ieee1275.h
45809 (grub_ieee1275_entry_fn): Export symbol.
45810 * include/grub/powerpc/ieee1275/init.h: New file.
45811 * include/grub/powerpc/libgcc.h: Likewise.
45812 * include/grub/cache.h: Likewise.
45813 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45814 <hollis@penguinppc.org>.
45815 * kern/dl.c: Include <grub/cache.h>.
45816 (grub_dl_flush_cache): New function.
45817 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45818 for this module.
45819 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45820 (grub_console_init): Removed prototypes.
45821 (grub_machine_init): Don't initialize the modules anymore.
45822 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45823 static.
45824 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45825 Macro undef removed.
45826 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45827 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45828 relocation `R_PPC_REL32'. Return an error when the relocation is
45829 unknown.
45830 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45831 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45832 * util/misc.c (grub_arch_sync_caches): Likewise.
45833
45834 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45835
45836 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45837 `symlist.c', add `grubof_symlist.c'.
45838 (symlist.c): Variable removed.
45839 (grubof_HEADERS): Variable added.
45840 (grubof_symlist.c): New target.
45841 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45842 `kernel_img_HEADERS'.
45843 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45844 * kern/powerpc/dl.c: New file.
45845 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45846 Function removed.
45847 (grub_arch_dl_relocate_symbols): Likewise.
45848 (grub_register_exported_symbols): Likewise.
45849
45850 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45851
45852 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45853 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45854 to fail instead. Reported by Vincent Pelletier
45855 <subdino2004@yahoo.fr>.
45856
45857 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45858 it is not allocated. Reported by Vincent Pelletier
45859 <subdino2004@yahoo.fr>.
45860
45861 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45862 output so the output looks better.
45863
45864 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45865
45866 Modulize the partition map support and add support for the amiga
45867 partition map.
45868
45869 * commands/ls.c: Include <grub/partition.h> instead of
45870 <grub/machine/partition.h>.
45871 * kern/disk.c: Likewise.
45872 * kern/rescue.c: Likewise.
45873 * loader/i386/pc/chainloader.c: Likewise.
45874 * normal/cmdline.c: Likewise.
45875 * kern/powerpc/ieee1275/init.c: Likewise.
45876 (grub_machine_init): Call `grub_pc_partition_map_init',
45877 `grub_amiga_partition_map_init' and
45878 `grub_apple_partition_map_init'.
45879 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45880 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45881 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45882 `partition.h' and `pc_partition.h'.
45883 (grub_setup_SOURCES): Remove
45884 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45885 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45886 (grub_emu_SOURCES): Likewise.
45887 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45888 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45889 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45891 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45892 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45893 (grubof_SOURCES): Likewise.
45894 * disk/i386/pc/partition.c: File removed.
45895 * disk/powerpc/ieee1275/partition.c: Likewise.
45896 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45897 * include/grub/i386/pc/partition.h: Likewise.
45898 * kern/partition.c: New file.
45899 * partmap/amiga.c: Likewise.
45900 * partmap/apple.c: Likewise.
45901 * partmap/pc.c: Likewise.
45902 * include/grub/partition.h: Likewise..
45903 * include/grub/pc_partition.h: Likewise.
45904 * util/grub-emu.c: Include <grub/partition.h> instead of
45905 <grub/machine/partition.h>.
45906 (main): Call `grub_pc_partition_map_init',
45907 `grub_amiga_partition_map_init' and
45908 `grub_apple_partition_map_init' and deinitialize afterwards.
45909 * util/i386/pc/biosdisk.c: Include `#include
45910 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45911 `<grub/machine/partition.h>'.
45912 * util/i386/pc/grub-setup.c: Likewise.
45913 * util/i386/pc/biosdisk.c: Likewise.
45914 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45915 partition information in case of a PC partition.
45916 * util/i386/pc/grub-setup.c: Include `#include
45917 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45918 `<grub/machine/partition.h>'.
45919 (setup): Only access the PC specific partition information in case
45920 of a PC partition.
45921
45922 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45923
45924 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45925 (grub_longjmp): Likewise.
45926 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45927 20.
45928 * normal/powerpc/setjmp.S: New file.
45929 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45930 `normal/powerpc/setjmp.S'.
45931 (grubof_CFLAGS): Add `-DGRUBOF'.
45932 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45933 [GRUB_UTIL && !GRUBOF].
45934
45935 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45936
45937 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45938 property named `name'. Correctly handle the error returned by
45939 `grub_ieee1275_finddevice' if a device can not be opened.
45940
45941 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45942
45943 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45944 `actual' for negativity.
45945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45946 kern/fshelp.c.
45947
45948 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45949
45950 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45951 (PAGE_OFFSET): New macro.
45952 (CRTC_ADDR_PORT): Likewise.
45953 (CRTC_DATA_PORT): Likewise.
45954 (START_ADDR_HIGH_REGISTER): Likewise.
45955 (START_ADDR_LOW_REGISTER): Likewise.
45956 (GRAPHICS_ADDR_PORT): Likewise.
45957 (GRAPHICS_DATA_PORT): Likewise.
45958 (READ_MAP_REGISTER): Likewise.
45959 (INPUT_STATUS1_REGISTER): Likewise.
45960 (INPUT_STATUS1_VERTR_BIT): Likewise.
45961 (page): New variable.
45962 (wait_vretrace): New function.
45963 (set_read_map): Likewise.
45964 (set_start_address): Likewise.
45965 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45966 the right page.
45967 (check_vga_mem): Take the page into account.
45968 (write_char): Likewise.
45969 (write_cursor): Likewise.
45970 (scroll_up): Likewise. Copy the page to the page that is not
45971 shown and switch between both pages.
45972 (grub_vga_putchar): Fix off by one error.
45973 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45974 account.
45975
45976 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45977
45978 Add support for iso9660 (including rockridge).
45979
45980 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45981 (iso9660_mod_SOURCES): New variable.
45982 (iso9660_mod_CFLAGS): Likewise.
45983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45984 * include/grub/fs.h (grub_iso9660_init): New prototype.
45985 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45986 * fs/iso9660.c: New file.
45987
45988 * include/grub/misc.h (grub_strncat): New prototype.
45989 * kern/misc.c (grub_strncat): New function.
45990
45991 * fs/hfs.c (grub_hfs_mount): Translate the error
45992 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45993 * fs/jfs.c (grub_jfs_mount): Likewise.
45994 * fs/ufs.c (grub_ufs_mount): Likewise.
45995
45996 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45997
45998 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45999 which initialized BAT registers.
46000 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46001 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46002 Move from here...
46003 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46004 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46005 ... to here.
46006 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46007 (grub_mapclaim): Likewise.
46008 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46009 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46010 hand.
46011
46012 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46013
46014 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46015 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46016 -ffreestanding and -msoft-float.
46017
46018 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46019
46020 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46021 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46022 set in grub_ieee1275_flags.
46023
46024 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46025
46026 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46027 prototype.
46028 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46029 grub_console_init first.
46030 Change the memory range used for grub_ieee1275_claim and
46031 grub_mm_init_region.
46032 Print an error message if the claim fails.
46033 Include <grub/misc.h>.
46034
46035 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46036
46037 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46038 Call grub_children_iterate for device nodes of type `scsi',
46039 `ide', or `ata'.
46040 (grub_ofdisk_open): Remove manual device alias resolution.
46041 Fix memory leak when device cannot be opened.
46042 * include/grub/powerpc/ieee1275/ieee1275.h
46043 (grub_children_iterate): New prototype.
46044 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46045 New function.
46046 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46047 Return -1 if args.size was -1.
46048
46049 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46050
46051 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46052 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46053 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46054 Open Firmware's memory for it; claim memory from _start to _end.
46055 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46056 (_end): New extern.
46057 (_start): Zero BSS from __bss_start to _end.
46058 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46059 New extern.
46060 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46061
46062 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46063
46064 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46065 -1 if args.base was -1.
46066
46067 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46068
46069 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46070 escape sequence instead of a literal ^L. Also call
46071 grub_ofconsole_gotoxy.
46072
46073 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46074
46075 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46076 void * arguments to grub_addr_t. All callers updated. Also make
46077 the `result' argument optional.
46078 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46079 All callers updated.
46080
46081 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46082
46083 * commands/ls.c (grub_ls_list_files): Use the string following the
46084 initial ')', if present, as the filesystem path.
46085 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46086
46087 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46088
46089 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46090
46091 Make the source code of the menu interface more readable.
46092
46093 * normal/menu.c: Include grub/mm.h.
46094 (TERM_WIDTH): New macro.
46095 (TERM_HEIGHT): Likewise.
46096 (TERM_INFO_HEIGHT): Likewise.
46097 (TERM_MARGIN): Likewise.
46098 (TERM_SCROLL_WIDTH): Likewise.
46099 (TERM_TOP_BORDER_Y): Likewise.
46100 (TERM_LEFT_BORDER_X): Likewise.
46101 (TERM_BORDER_WIDTH): Likewise.
46102 (TERM_MESSAGE_HEIGHT): Likewise.
46103 (TERM_BORDER_HEIGHT): Likewise.
46104 (TERM_NUM_ENTRIES): Likewise.
46105 (TERM_FIRST_ENTRY_Y): Likewise.
46106 (TERM_ENTRY_WIDTH): Likewise.
46107 (TERM_CURSOR_X): Likewise.
46108 (draw_border): Use macros instead of magic numbers.
46109 (print_entry): Likewise.
46110 (print_entries): Likewise.
46111 (run_menu): Likewise. Also, handle the key 'e'.
46112 (run_menu_entry): Ignore empty command lines.
46113 (print_message): Added a new argument EDIT. If EDIT is true,
46114 print a different message.
46115 (init_page): Likewise.
46116 (edit_menu_entry): New function. Not implemented yet.
46117
46118 2004-09-17 Marco Gerards <metgerards@student.han.nl>
46119
46120 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46121 can be loaded from normal mode.
46122
46123 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46124 `multiboot.mod'.
46125 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46126 (multiboot_mod_CFLAGS): New variables.
46127 * loader/i386/pc/linux_normal.c: New file.
46128 * loader/i386/pc/multiboot_normal.c: Likewise.
46129
46130 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46131 attribute `unused'.
46132
46133 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46134 `fdiro' to read the mode information from instead of `diro'.
46135
46136 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46137 looking up a symlink.
46138
46139 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46140 macro.
46141 * normal/command.c (grub_command_execute): Don't parse the
46142 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46143 flags of the command.
46144
46145 * normal/menu.c (grub_menu_run): Fix typo.
46146
46147 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46148
46149 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46150
46151 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46152 `y + 1' instead of `y - 1'.
46153
46154 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
46155
46156 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46157
46158 From Hollis Blanchard <hollis@penguinppc.org>:
46159 * kern/misc.c (memmove): New alias for grub_memmove.
46160 (memcmp): New alias for grub_memcmp.
46161 (memset): New alias for grub_memset.
46162 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46163 Change "int handle" to "grub_ieee1275_phandle_t handle".
46164 * include/grub/powerpc/ieee1275/ieee1275.h
46165 (grub_ieee1275_get_property): Likewise.
46166
46167 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46168
46169 Added normal mode command `chainloader' as module chain.mod, which
46170 depends on normal.mod and _chain.mod.
46171
46172 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46173 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46174 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46175 Deleted prototype.
46176 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46177 but arguments parsing moved to ...
46178 (grub_chainloader_cmd): ... here. New function.
46179 * include/grub/i386/pc/chainloader.h: New file.
46180 * loader/i386/pc/chainloader_normal.c: Likewise.
46181
46182 2004-09-11 Marco Gerards <metgerards@student.han.nl>
46183
46184 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46185 (grub_mkimage_LDFLAGS): Likewise.
46186 (grub_emu_SOURCES): Likewise.
46187 (kernel_img_HEADERS): Added fshelp.h.
46188 * fs/ext2.c: Include <grub/fshelp.h>.
46189 (FILETYPE_REG): New macro.
46190 (FILETYPE_INO_REG): Likewise.
46191 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46192 Changed all users.
46193 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46194 all users.
46195 (grub_fshelp_node): New struct.
46196 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46197 to a pointer.
46198 (grub_ext2_get_file_block): Removed function.
46199 (grub_ext2_read_block): New function.
46200 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46201 This function was written.
46202 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46203 (grub_ext2_find_file): Removed function.
46204 (grub_ext2_read_symlink): New function.
46205 (grub_ext2_iterate_dir): Likewise.
46206 (grub_ext2_open): Rewritten.
46207 (grub_ext2_dir): Rewritten.
46208 * include/grub/fshelp.h: New file.
46209 * fs/fshelp.c: Likewise.
46210
46211 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46212
46213 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46214 (print_message): Add a missing newline.
46215 (run_menu): Added timeout support.
46216 (run_menu_entry): New local function.
46217 (grub_menu_run): Added support for booting.
46218
46219 * kern/loader.c (grub_loader_is_loaded): New function.
46220
46221 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46222 (grub_get_rtc): Exported.
46223
46224 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46225 (grub_get_rtc): Exported.
46226
46227 * include/grub/normal.h (struct grub_command_list): Remove
46228 constant from the member `command'.
46229
46230 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46231
46232 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46233
46234 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46235
46236 2004-08-28 Marco Gerards <metgerards@student.han.nl>
46237
46238 Add support for the JFS filesystem.
46239
46240 * fs/jfs.c: New file.
46241 * include/grub/fs.h (grub_jfs_init): New prototype.
46242 (grub_jfs_fini): New prototype.
46243 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46244 (grub_emu_SOURCES): Likewise.
46245 (pkgdata_MODULES): Add jfs.mod.
46246 (jfs_mod_SOURCES): New variable.
46247 (jfs_mod_CFLAGS): Likewise.
46248 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46249 (grubof_SOURCES): Likewise.
46250 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46251
46252 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46253 endian to the host endian.
46254 (grub_fat_utf16_to_utf8): Move function from there...
46255 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
46256 the endianness of the source string anymore.
46257 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46258
46259 2004-08-24 Marco Gerards <metgerards@student.han.nl>
46260
46261 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46262 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46263 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46264 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
46265
46266 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46267 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46268 for `node_found' and `it_dir'.
46269 (grub_hfs_dir): Add prototype for `dir_hook'.
46270
46271 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46272 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46273 and `indir32' to silence a gcc warning.
46274
46275 * include/grub/fs.h (grub_hfs_init): New prototype.
46276 (grub_hfs_fini): Likewise.
46277
46278
46279 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46280
46281 Each disk device has its own id now. This is useful to make use
46282 of multiple disk devices.
46283
46284 * include/grub/disk.h (grub_disk_dev_id): New enum.
46285 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46286 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46287
46288 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46289 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46290
46291 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46292 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46293
46294 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46295 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46296
46297 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46298 "id" which is used by the cache manager.
46299
46300 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46301 of just "GRUB".
46302
46303 2004-08-18 Marco Gerards <metgerards@student.han.nl>
46304
46305 * fs/hfs.c: New file.
46306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46307 (grub_emu_SOURCES): Likewise.
46308 (pkgdata_MODULES): Add hfs.mod.
46309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46310 (grubof_SOURCES): Likewise.
46311 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46312
46313 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46314 * kern/misc.c (grub_strncasecmp): Add function.
46315
46316 2004-08-14 Marco Gerards <metgerards@student.han.nl>
46317
46318 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46319 with parentheses.
46320
46321 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46322 (grub_ext2_dir): In case the directory entry type is unknown, read
46323 it from the inode.
46324
46325 2004-08-02 Peter Bruin <pjbruin@dds.nl>
46326
46327 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46328 grub_load_linux instead of grub_rescue_cmd_linux as second
46329 argument of grub_rescue_register_command.
46330
46331 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46332
46333 2004-07-27 Marco Gerards <metgerards@student.han.nl>
46334
46335 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46336 function.
46337 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46338 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46339 `loader/powerpc/ieee1275/linux.c',
46340 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46341 * include/grub/powerpc/ieee1275/ieee1275.h
46342 (grub_ieee1275_release): New prototype.
46343 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46344 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46345 normal, boot, linux and linux_normal.
46346 * loader/powerpc/ieee1275/linux.c: New file.
46347 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46348
46349 2004-07-12 Marco Gerards <metgerards@student.han.nl>
46350
46351 * normal/arg.c (grub_arg_parse): Correct error handling after
46352 reallocating the argumentlist (check if `argl' is not null instead
46353 of checking if `args' is not null).
46354 * kern/mm.c (grub_realloc): Return the same pointer when using the
46355 same region, instead of returning the header address.
46356
46357 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46358
46359 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46360 one block instead of two when looking for the initial partition.
46361 (grub_partition_probe): Initialize the local variable `p' with 0.
46362 Use base 10 for the grub_strtoul call.
46363 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46364 need for one local variable.
46365 (grub_strtoul): Don't add the new value to `num', instead of that
46366 just assign it.
46367
46368 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46369
46370 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46371 (pxeboot_img_SOURCES): New variable.
46372 (pxeboot_img_ASFLAGS): Likewise.
46373 (pxeboot_img_LDFLAGS): Likewise.
46374 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46375 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46376 <lode_leroy@hotmail.com>.
46377
46378 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46379
46380 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46381 there was no input.
46382
46383 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46384
46385 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46386 the history buffer logic.
46387
46388 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46389
46390 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46391 (FILETYPE_INO_SYMLINK): New macros.
46392 (grub_ext2_find_file): Check if the node is a directory using the
46393 inode stat information instead of using the filetype in the
46394 dirent. Exclude the first character of an absolute symlink.
46395 (grub_ext2_dir): Mask out the filetype part of the mode member of
46396 the inode.
46397
46398 2004-05-24 Marco Gerards <metgerards@student.han.nl>
46399
46400 Add support for UFS version 1 and 2. Add support for the minix
46401 filesystem version 1 and 2, both the variants with 14 and 30 long
46402 filenames.
46403
46404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46405 fs/minix.c.
46406 (grub_emu_SOURCES): Likewise.
46407 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46408 (ufs_mod_SOURCES): New variable.
46409 (ufs_mod_CFLAGS): Likewise.
46410 (minix_mod_SOURCES): Likewise.
46411 (minix_mod_CFLAGS): Likewise.
46412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46413 fs/minix.c.
46414 (grubof_SOURCES): Likewise.
46415 * fs/ufs.c: New file.
46416 * fs/minix.c: New file.
46417 * include/grub/fs.h (grub_ufs_init): New prototype.
46418 (grub_ufs_fini): Likewise.
46419 (grub_minix_init): Likewise.
46420 (grub_minix_fini): Likewise.
46421 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46422 minix fs.
46423
46424 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46425
46426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46427 commands/ls.c, commands/terminal.c, commands/boot.c,
46428 commands/cmp.c and commands/cat.c.
46429 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46430
46431 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46432 "env.h"
46433
46434 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46435
46436 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46437 and grub_, respectively. Because the conversion is trivial and
46438 mechanical, I omit the details here. Please refer to the CVS
46439 if you need more information.
46440
46441 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46442
46443 * include/pupa: Renamed to ...
46444 * include/grub: ... this.
46445 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46446 * util/i386/pc/grub-mkimage.c: ... this.
46447 * util/i386/pc/pupa-setup.c: Renamed to ...
46448 * util/i386/pc/grub-setup.c: ... this.
46449 * util/pupa-emu.c: Renamed to ...
46450 * util/grub-emu.c: ... this.
46451
46452 2004-03-29 Marco Gerards <metgerards@student.han.nl>
46453
46454 Add support for the newworld apple macintosh (PPC). This has been
46455 tested on the powerbook 2000 only. It only adds support for
46456 generic ieee1275 functions, console and disk support. This should
46457 be easy to port to other architectures with support for Open
46458 Firmware.
46459
46460 * configure.ac: Accept the powerpc as host_cpu. In the case of
46461 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46462 specific tests are only executed while building for the i386.
46463 Inverse test for crosscompile.
46464 * genmk.rb (Utility): Allow assembler files.
46465 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46466 * conf/powerpc-ieee1275.rmk: New file.
46467 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46468 * disk/powerpc/ieee1275/partition.c: Likewise.
46469 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46470 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46471 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46472 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46473 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46474 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46475 * include/pupa/powerpc/ieee1275/loader.h
46476 * include/pupa/powerpc/setjmp.h: Likewise.
46477 * include/pupa/powerpc/types.h: Likewise.
46478 * kern/powerpc/ieee1275/init.c: Likewise.
46479 * kern/powerpc/ieee1275/openfw.c: Likewise.
46480 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46481
46482 These files were written by Johan Rydberg
46483 (jrydberg@night.trouble.net) and I only modified them slightly.
46484
46485 * boot/powerpc/ieee1275/cmain.c: New file.
46486 * boot/powerpc/ieee1275/crt0.S: Likewise.
46487 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46488 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46489
46490 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46491
46492 * Makefile.in: Update copyright.
46493 * genmodsrc.sh: Likewise.
46494 * gensymlist.sh: Likewise.
46495 * term/i386/pc/vga.c: Indent correctly.
46496
46497 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46498 bugreporting address.
46499 * util/i386/pc/pupa-setup.c (usage): Likewise,
46500 (main): Call pupa_ext2_init and pupa_ext2_fini.
46501
46502 * fs/fat.c (log2): Renamed to ...
46503 (fat_log2): ... this.
46504 All callers changed.
46505 * kern/misc.c (memcpy): Alias to pupa_memmove.
46506 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46507 lvalue cast.
46508 * util/console.c (pupa_ncurses_fini): Return 0.
46509
46510 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46511 Move fail label here.
46512 [__GNU__]: Don't warn when using stat.
46513 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46514 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46515 long int. Use strtol instead of strtoul.
46516
46517 2004-03-14 Marco Gerards <metgerards@student.han.nl>
46518
46519 * commands/boot.c: New file.
46520 * commands/cat.c: Likewise.
46521 * commands/cmp.c: Likewise.
46522 * commands/ls.c: Likewise.
46523 * commands/terminal.c: Likewise.
46524 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46525 (pupa_register_command): Changed interface to match the new
46526 argument parser.
46527 (pupa_command_execute): Changed (almost rewritten) so it uses
46528 pupa_split_command. Added support for setting variables using the
46529 syntax `foo=bar'.
46530 (rescue_command): Changed to work with the new argument parser.
46531 (terminal_command): Moved from here to commands/terminal.c.
46532 (set_command): New function.
46533 (unset_command): New function.
46534 (insmod_command): New function.
46535 (rmmod_command): New function.
46536 (lsmod_command): New function.
46537 (pupa_command_init): Don't initialize the command terminal
46538 anymore. Initialize the commands set, unset, insmod, rmmod and
46539 lsmod.
46540 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46541 (kernel_img_HEADERS): Add arg.h and env.h.
46542 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46543 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46544 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46545 normal/arg.c.
46546 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46547 terminal.mod.
46548 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46549 (boot_mod_SOURCES): New variable.
46550 (terminal_mod_SOURCES): Likewise.
46551 (ls_mod_SOURCES): Likewise.
46552 (cmp_mod_SOURCES): Likewise.
46553 (cat_mod_SOURCES): Likewise.
46554
46555 * normal/arg.c: New file.
46556 * kern/env.c: Likewise.
46557 * include/pupa/arg.h: Likewise.
46558 * include/pupa/env.h: Likewise.
46559 * font/manager.c (font_command): Changed to match argument parsing
46560 interface changes.
46561 (PUPA_MOD_INIT): Likewise.
46562 * hello/hello.c (pupa_cmd_hello): Likewise.
46563 (PUPA_MOD_INIT): Likewise.
46564 * include/pupa/disk.h: Include <pupa/device.h>.
46565 (pupa_print_partinfo): New prototype.
46566 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46567 (pupa_dl_get_prefix): Likewise.
46568 * include/pupa/misc.h: Include <pupa/err.h>.
46569 (pupa_isgraph): New prototype.
46570 (pupa_isdigit): Likewise.
46571 (pupa_split_cmdline): Likewise.
46572 * include/pupa/normal.h: Include <pupa/arg.h>.
46573 (pupa_command): Changed the prototype of the member `func' to
46574 match the argument parsing interface. Added member `options'.
46575 (pupa_register_command): Updated to match function.
46576 (pupa_arg_parse): New prototype.
46577 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46578 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46579 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46580 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46581 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46582 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46583 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46584 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46585 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46586 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46587 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46588 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46589 * kern/disk.c: Include <pupa/file.h>.
46590 (pupa_print_partinfo): New function.
46591 * kern/dl.c: Include <pupa/env.h>.
46592 (pupa_dl_dir): Variable removed.
46593 (pupa_dl_load): Use the environment variable `prefix' instead of
46594 the variable pupa_dl_dir.
46595 (pupa_dl_set_prefix): Function removed.
46596 (pupa_dl_get_prefix): Likewise.
46597 * kern/i386/pc/init.c: Include <pupa/env.h>.
46598 (pupa_machine_init): Use the environment variable `prefix' instead of
46599 using pupa_dl_set_prefix to set the prefix.
46600 * kern/main.c: Include <pupa/env.h>.
46601 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46602 using pupa_dl_get_prefix to get the prefix.
46603 * kern/misc.c: Include <pupa/env.h>.
46604 (pupa_isdigit): New function.
46605 (pupa_isgraph): Likewise.
46606 (pupa_ftoa): Likewise.
46607 (pupa_vsprintf): Added support for printing values of the type
46608 `double'. Make it possible to format variable output when using
46609 formatting like `%1.2%f'.
46610 (pupa_split_cmdline): New function.
46611 * kern/rescue.c: Include <pupa/env.h>.
46612 (next_word): Removed function.
46613 (pupa_rescue_cmd_prefix): Likewise.
46614 (pupa_rescue_cmd_set): New function.
46615 (pupa_rescue_cmd_unset): New function.
46616 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46617 split the command line instead of splitting it here. Added
46618 support for setting variables using the syntax `foo=bar'. Don't
46619 initialize the prefix command anymore. Initialized the set and
46620 unset commands.
46621 * normal/cmdline.c: Include <pupa/env.h>.
46622 (pupa_tab_complete): Added prototypes for print_simple_completion,
46623 print_partition_completion, add_completion, iterate_commands,
46624 iterate_dev, iterate_part and iterate_dir. Moved code to print
46625 partition information from here to kern/disk.c.
46626 (pupa_cmdline_run): Don't check if the function exists anymore.
46627 * normal/main.c: Include <pupa/env.h>.
46628 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46629 instead of using pupa_dl_get_prefix to get the prefix.
46630 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46631 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46632 warning.
46633 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46634 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46635 ((unused))' to silence a gcc warning.
46636 (pupa_vga_setcolor): Likewise.
46637 (debug_command): Changed to match argument parsing
46638 interface changes.
46639 * util/pupa-emu.c: Include <pupa/env.h>.
46640 (options): Added 0's for unused fields to silence a gcc warning.
46641 (argp): Likewise.
46642 (main): Use the environment variable `prefix' instead of using
46643 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46644 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46645 and terminal.
46646
46647 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46648 * util/misc.c: Include <malloc.h>.
46649 (pupa_malloc): Rewritten so errors are correctly reported.
46650 (pupa_realloc): Likewise.
46651 (pupa_memalign): Likewise.
46652 (pupa_mm_init_region): Declare unused variables with
46653 `__attribute__ ((unused))' to silence a gcc warning.
46654 * normal/i386/setjmp.S: Remove tab at the end of the file to
46655 silence a gcc warning.
46656 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46657 variables with `__attribute__ ((unused))' to silence a gcc
46658 warning.
46659 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46660 local variable i unsigned to silence a gcc warning.
46661
46662 * kern/term.c: Include <pupa/misc.h>.
46663 (pupa_more_lines): New variable.
46664 (pupa_more): Likewise.
46665 (pupa_putcode): When the pager is active pause at the end of every
46666 screen.
46667 (pupa_set_more): New function.
46668 * include/pupa/term.h (pupa_set_more): New prototype.
46669
46670
46671 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46672
46673 Now this project is GRUB 2 rather than PUPA. The location of
46674 the CVS repository was moved to GRUB's.
46675
46676 * configure.ac: Use bug-grub as the reporting address.
46677 Use GRUB instead of PUPA.
46678 Change the version number to 1.90.
46679
46680 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46681
46682 * genkernsyms.sh: Updated copyright information.
46683 * genmk.rb: Likewise.
46684 * genmodsrc.sh: Likewise.
46685 * gensymlist.sh: Likewise.
46686 * boot/i386/pc/boot.S: Likewise.
46687 * boot/i386/pc/diskboot.S: Likewise.
46688 * disk/i386/pc/biosdisk.c: Likewise.
46689 * disk/i386/pc/partition.c: Likewise.
46690 * font/manager.c: Likewise.
46691 * fs/ext2.c: Likewise.
46692 * fs/fat.c: Likewise.
46693 * include/pupa/boot.h: Likewise.
46694 * include/pupa/device.h: Likewise.
46695 * include/pupa/disk.h: Likewise.
46696 * include/pupa/dl.h: Likewise.
46697 * include/pupa/elf.h: Likewise.
46698 * include/pupa/err.h: Likewise.
46699 * include/pupa/file.h: Likewise.
46700 * include/pupa/font.h: Likewise.
46701 * include/pupa/fs.h: Likewise.
46702 * include/pupa/kernel.h: Likewise.
46703 * include/pupa/loader.h: Likewise.
46704 * include/pupa/misc.h: Likewise.
46705 * include/pupa/mm.h: Likewise.
46706 * include/pupa/net.h: Likewise.
46707 * include/pupa/normal.h: Likewise.
46708 * include/pupa/rescue.h: Likewise.
46709 * include/pupa/setjmp.h: Likewise.
46710 * include/pupa/symbol.h: Likewise.
46711 * include/pupa/term.h: Likewise.
46712 * include/pupa/types.h: Likewise.
46713 * include/pupa/i386/setjmp.h: Likewise.
46714 * include/pupa/i386/types.h: Likewise.
46715 * include/pupa/i386/pc/biosdisk.h: Likewise.
46716 * include/pupa/i386/pc/boot.h: Likewise.
46717 * include/pupa/i386/pc/console.h: Likewise.
46718 * include/pupa/i386/pc/init.h: Likewise.
46719 * include/pupa/i386/pc/kernel.h: Likewise.
46720 * include/pupa/i386/pc/linux.h: Likewise.
46721 * include/pupa/i386/pc/loader.h: Likewise.
46722 * include/pupa/i386/pc/memory.h: Likewise.
46723 * include/pupa/i386/pc/multiboot.h: Likewise.
46724 * include/pupa/i386/pc/partition.h: Likewise.
46725 * include/pupa/i386/pc/time.h: Likewise.
46726 * include/pupa/i386/pc/vga.h: Likewise.
46727 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46728 * include/pupa/util/getroot.h: Likewise.
46729 * include/pupa/util/misc.h: Likewise.
46730 * include/pupa/util/resolve.h: Likewise.
46731 * kern/device.c: Likewise.
46732 * kern/disk.c: Likewise.
46733 * kern/dl.c: Likewise.
46734 * kern/err.c: Likewise.
46735 * kern/file.c: Likewise.
46736 * kern/fs.c: Likewise.
46737 * kern/loader.c: Likewise.
46738 * kern/main.c: Likewise.
46739 * kern/misc.c: Likewise.
46740 * kern/mm.c: Likewise.
46741 * kern/rescue.c: Likewise.
46742 * kern/term.c: Likewise.
46743 * kern/i386/dl.c: Likewise.
46744 * kern/i386/pc/init.c: Likewise.
46745 * kern/i386/pc/lzo1x.S: Likewise.
46746 * kern/i386/pc/startup.S: Likewise.
46747 * loader/i386/pc/chainloader.c: Likewise.
46748 * loader/i386/pc/linux.c: Likewise.
46749 * loader/i386/pc/multiboot.c: Likewise.
46750 * normal/cmdline.c: Likewise.
46751 * normal/command.c: Likewise.
46752 * normal/main.c: Likewise.
46753 * normal/menu.c: Likewise.
46754 * normal/i386/setjmp.S: Likewise.
46755 * term/i386/pc/console.c: Likewise.
46756 * term/i386/pc/vga.c: Likewise.
46757 * util/console.c: Likewise.
46758 * util/genmoddep.c: Likewise.
46759 * util/misc.c: Likewise.
46760 * util/pupa-emu.c: Likewise.
46761 * util/resolve.c: Likewise.
46762 * util/unifont2pff.rb: Likewise.
46763 * util/i386/pc/biosdisk.c: Likewise.
46764 * util/i386/pc/getroot.c: Likewise.
46765 * util/i386/pc/pupa-mkimage.c: Likewise.
46766 * util/i386/pc/pupa-setup.c: Likewise.
46767
46768 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46769
46770 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46771 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46772 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46773 reading and reset it after reading.
46774 (pupa_ext2_close): Return PUPA_ERR_NONE.
46775
46776 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46777 Correct value.
46778 (struct linux_kernel_header): Add kernel_version and
46779 initrd_addr_max.
46780 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46781 pupa_file_read succeeds.
46782 (pupa_rescue_cmd_initrd): Implement.
46783
46784 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46785
46786 * fs/ext2.c (pupa_ext2_label): New function.
46787 (pupa_ext2_fs): Added label.
46788 * fs/fat.c (pupa_fat_label): New function.
46789 (pupa_fat_fs): Added label.
46790 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46791
46792 * kern/misc.c (pupa_strndup): New function.
46793 * include/pupa/misc.h (pupa_strndup): New prototype.
46794
46795 * include/pupa/normal.h: Include <pupa/err.h>.
46796 (pupa_set_history): New prototype.
46797 (pupa_iterate_commands): New prototype.
46798 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46799 <pupa/disk.h>, <pupa/file.h>.
46800 (hist_size): New variable.
46801 (hist_lines): Likewise.
46802 (hist_end): Likewise.
46803 (hist_used): Likewise.
46804 (pupa_set_history): New function.
46805 (pupa_history_get): Likewise.
46806 (pupa_history_add): Likewise.
46807 (pupa_history_replace): Likewise.
46808 (pupa_tab_complete): Likewise.
46809 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46810 completion shows partitionnames while completing partitions, this
46811 feature was suggested by Jeff Bailey.
46812 * normal/command.c (pupa_iterate_commands): New function.
46813 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46814 (pupa_normal_init): Initialize history buffer.
46815 (PUPA_MOD_INIT): Likewise.
46816 (pupa_normal_fini): Free the history buffer.
46817 (PUPA_MOD_FINI): Likewise.
46818
46819 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46820 key.
46821
46822 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46823 * configure.ac [i386]: Check for regparam bug.
46824 (NESTED_FUNC_ATTR) [! i386]: Defined.
46825
46826 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46827
46828 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46829 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46830 (pupa_emu_SOURCES): New variable.
46831 (pupa_emu_LDFLAGS): Likewise.
46832 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46833 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46834 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46835 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46836 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46837 (pupa_jmp_buf): New typedef.
46838 (pupa_setjmp) [PUPA_UTIL]: New macro.
46839 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46840 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46841 (pupa_refresh): New prototype.
46842 * include/pupa/util/getroot.h: New file.
46843 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46844 it.
46845 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46846 (pupa_rescue_cmd_cat): Likewise.
46847 (pupa_rescue_cmd_ls): Likewise.
46848 (pupa_rescue_cmd_testload): Likewise.
46849 (pupa_rescue_cmd_lsmod): Likewise.
46850 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46851 * normal/menu.c (run_menu): Likewise.
46852 * kern/term.c (pupa_cls): Likewise.
46853 (pupa_refresh): New function.
46854 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46855 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46856 * util/console.c: New file.
46857
46858 * util/i386/pc/getroot.c: New file.
46859 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46860 (pupa_putchar): New function.
46861 (pupa_refresh): Likewise.
46862 (xgetcwd): Function moved to ...
46863 (strip_extra_slashes): Likewise.
46864 (get_prefix): Likewise.
46865 * util/i386/pc/getroot.c: ... here.
46866 (find_root_device): Function moved and renamed to...
46867 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46868 Changed all callers.
46869 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46870 and renamed to...
46871 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46872 Changed all callers.
46873 * util/misc.c (pupa_memalign): New function.
46874 (pupa_mm_init_region): Likewise.
46875 (pupa_register_exported_symbols): Likewise.
46876 (pupa_putchar): Function removed.
46877 * util/pupa-emu.c: New file.
46878
46879 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46880
46881 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46882 (_multiboot_mod_SOURCES): New variable.
46883 (_multiboot_mod_CFLAGS): Likewise.
46884 * loader/i386/pc/multiboot.c: New file.
46885 * include/pupa/i386/pc/multiboot.h: Likewise.
46886 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46887 (pupa_multiboot_real_boot): New function.
46888 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46889 (pupa_multiboot_real_boot): New prototype.
46890 (pupa_rescue_cmd_multiboot): Likewise
46891 (pupa_rescue_cmd_module): Likewise.
46892
46893 * kern/loader.c (pupa_loader_set): Continue when
46894 pupa_loader_unload_func() fails.
46895 (pupa_loader_unset): New function.
46896 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46897
46898 * kern/misc.c (pupa_stpcpy): New function.
46899 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46900
46901 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46902
46903 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46904 for available extensions.
46905
46906 * include/pupa/i386/pc/time.h: New file.
46907 * kern/disk.c: Include <pupa/machine/time.h>.
46908 (PUPA_CACHE_TIMEOUT): New macro.
46909 (pupa_last_time): New variable.
46910 (pupa_disk_open): Flush the cache when there was a timeout.
46911 (pupa_disk_close): Reset the timer.
46912 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46913 pupa_currticks.
46914 * util/misc.c: Include <sys/times.h>
46915 (pupa_get_rtc): New function.
46916
46917 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46918
46919 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46920 as blocks.
46921 (pupa_ext2_get_file_block): Use blocks member.
46922
46923 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46924 first block. Return -1 instead of pupa_errno on error.
46925
46926 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46927
46928 * README: In the pupa-mkimage example use _chain instead of chain
46929 and ext2 instead of fat.
46930 * TODO: Replace ext2fs with jfs as an example. Add an item for
46931 adding journal playback for ext2fs.
46932 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46933 (pkgdata_MODULES): Added ext2.mod.
46934 (ext2_mod_SOURCES): New variable.
46935 (ext2_mod_CFLAGS): Likewise.
46936 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46937 * include/pupa/misc.h (pupa_strncpy): New prototype.
46938 (pupa_strcat): Likewise.
46939 (pupa_strncmp): Likewise.
46940 * kern/misc.c (pupa_strcat): Enable function.
46941 (pupa_strncpy): New function.
46942 (pupa_strncmp): Likewise.
46943 * fs/ext2.c: New file.
46944
46945 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46946 when the read failed before retrying.
46947 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46948 (_FILE_OFFSET_BITS): Likewise.
46949 * configure.ac: Added AC_SYS_LARGEFILE.
46950
46951 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46952
46953 * genmk.rb (PModule#rule): Make sure to get only symbol names
46954 from the output of nm.
46955 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46956
46957 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46958
46959 I forgot to check in these changes for a long time. This adds
46960 incomplete support for VGA console, and this is still very
46961 buggy. Also, a lot of consideration is required for I18N,
46962 UNICODE, and VGA font issues. Therefore, assume that this is
46963 such that "better than nothing".
46964
46965 * font/manager.c: New file.
46966 * include/pupa/font.h: Likewise.
46967 * include/pupa/i386/pc/vga.h: Likewise.
46968 * term/i386/pc/vga.c: Likewise.
46969 * util/unifont2pff.rb: Likewise.
46970
46971 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46972 (pkgdata_MODULES): Added vga.mod and font.mod.
46973 (vga_mod_SOURCES): New variables.
46974 (vga_mod_CFLAGS): Likewise.
46975 (font_mod_SOURCES): Likewise.
46976 (font_mod_CFLAGS): Likewise.
46977
46978 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46979
46980 * include/pupa/term.h: Include pupa/err.h.
46981 (struct pupa_term): Added init and fini.
46982 Changed the argument of putchar to pupa_uint32_t.
46983
46984 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46985 (pupa_console_real_putchar): New prototype.
46986 (pupa_console_putchar): Removed.
46987 (pupa_console_checkkey): Exported.
46988 (pupa_console_getkey): Likewise.
46989
46990 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46991 characters.
46992
46993 * kern/term.c (pupa_term_set_current): Rewritten.
46994 (pupa_putchar): Likewise.
46995 (pupa_putcode): New function.
46996
46997 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46998 (pupa_console_real_putchar): ... this.
46999 (pupa_vga_set_mode): New function.
47000 (pupa_vga_get_font): Likewise.
47001
47002 * normal/command.c: Include pupa/term.h.
47003 (terminal_command): New function.
47004 (pupa_command_init): Register the command "terminal".
47005
47006 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47007 (DISP_UP): Likewise.
47008 (DISP_RIGHT): Likewise.
47009 (DISP_DOWN): Likewise.
47010 (DISP_HLINE): Likewise.
47011 (DISP_VLINE): Likewise.
47012 (DISP_UL): Likewise.
47013 (DISP_UR): Likewise.
47014 (DISP_LL): Likewise.
47015 (DISP_LR): Likewise.
47016
47017 * term/i386/pc/console.c (pupa_console_putchar): New function.
47018
47019 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47020
47021 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47022 FIX. Reverse the path_list.
47023
47024 * include/pupa/normal.h: Export pupa_register_command and
47025 pupa_unregister_command.
47026
47027 * hello/hello.c (pupa_cmd_hello): New module.
47028 * conf/i386-pc.rmk: Added hello.mod.
47029
47030 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47031
47032 * kern/i386/pc/lzo1x.S: New file.
47033
47034 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47035 (compress_kernel): New variable.
47036 (generate_image): Heavily modified to support compressing a
47037 large part of the core image.
47038
47039 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47040 leak.
47041 (pupa_util_load_image): New function.
47042
47043 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47044 (pupa_compressed_size): New variable.
47045 (codestart): Enable Gate A20 here.
47046 Decompress the compressed part of the core image.
47047 Rearrange the code to put functions and variables which are
47048 required for initialization in the non-compressed part.
47049 Include lzo1x.S.
47050
47051 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47052 here.
47053
47054 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47055
47056 * include/pupa/i386/pc/kernel.h
47057 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47058 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47059 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47060 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47061 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47062
47063 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47064
47065 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47066 (Utility#rule): Likewise.
47067
47068 * configure.ac: Check if LZO is available.
47069
47070 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47071
47072 * include/pupa/normal.h: New file.
47073 * include/pupa/setjmp.h: Likewise.
47074 * include/pupa/i386/setjmp.h: Likewise.
47075 * normal/cmdline.c: Likewise.
47076 * normal/command.c: Likewise.
47077 * normal/main.c: Likewise.
47078 * normal/menu.c: Likewise.
47079 * normal/i386/setjmp.S: Likewise.
47080
47081 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47082 (pupa_rescue_cmd_initrd): Likewise.
47083
47084 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47085 Likewise.
47086
47087 * kern/i386/pc/startup.S (translation_table): New variable.
47088 (translate_keycode): New function.
47089 (pupa_console_getkey): Call translate_keycode.
47090
47091 * kern/rescue.c (attempt_normal_mode): New function.
47092 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47093 it failed, print a message.
47094
47095 * kern/mm.c (pupa_real_malloc): Print more information when a
47096 free magic is broken.
47097 (pupa_free): If the first free header is not free actually, set
47098 it to P.
47099
47100 * kern/main.c (pupa_load_normal_mode): Just load the module
47101 "normal".
47102 (pupa_main): Don't print the message
47103 "Entering into rescue mode..." here.
47104
47105 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47106 Declared.
47107 (pupa_rescue_cmd_initrd): Likewise.
47108 (pupa_rescue_cmd_initrd): Likewise.
47109
47110 * include/pupa/symbol.h (FUNCTION): Specify the type.
47111 (VARIABLE): Likewise.
47112
47113 * include/pupa/err.h (pupa_err_t): Added
47114 PUPA_ERR_UNKNOWN_COMMAND.
47115
47116 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47117 (pupa_dl_get_prefix): Likewise.
47118
47119 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47120 Added _chain.mod and _linux.mod instead of chain.mod and
47121 linux.mod.
47122 (chain_mod_SOURCES): Renamed to ...
47123 (_chain_mod_SOURCES): ... this.
47124 (chain_mod_CFLAGS): Renamed to ...
47125 (_chain_mod_CFLAGS): ... this.
47126 (linux_mod_SOURCES): Renamed to ...
47127 (_linux_mod_SOURCES): ... this.
47128 (linux_mod_CFLAGS): Renamed to ...
47129 (_linux_mod_CFLAGS): ... this.
47130 (normal_mod_SOURCES): New variable.
47131 (normal_mod_CFLAGS): Likewise.
47132 (normal_mod_ASFLAGS): Likewise.
47133
47134 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47135
47136 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47137 possible.
47138
47139 * kern/dl.c (pupa_dl_ref): Refer depending modules
47140 recursively.
47141 (pupa_dl_unref): Unrefer depending modules recursively.
47142 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47143 a module is unloaded before one depending on that module is
47144 unloaded.
47145 (pupa_dl_unload): Unload depending modules explicitly,
47146 if possible.
47147
47148 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47149
47150 * include/pupa/i386/pc/linux.h: New file.
47151 * loader/i386/pc/linux.c: Likewise.
47152
47153 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47154 Removed.
47155 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47156 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47157 of PUPA_CHAINLOADER_BOOT_SECTOR.
47158
47159 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47160 (pupa_linux_prot_size): New variable.
47161 (pupa_linux_tmp_addr): Likewise.
47162 (pupa_linux_real_addr): Likewise.
47163 (pupa_linux_boot_zimage): New function.
47164 (pupa_linux_boot_bzimage): Likewise.
47165
47166 * kern/i386/pc/init.c (struct mem_region): New structure.
47167 (MAX_REGIONS): New macro.
47168 (mem_regions): New variable.
47169 (num_regions): Likewise.
47170 (pupa_os_area_addr): Likewise.
47171 (pupa_os_area_size): Likewise.
47172 (pupa_lower_mem): Likewise.
47173 (pupa_upper_mem): Likewise.
47174 (add_mem_region): New function.
47175 (compact_mem_regions): Likewise.
47176 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47177 the size of the conventional memory and that of so-called upper
47178 memory (before the first memory hole).
47179 Instead of adding each found region to free memory, use
47180 add_mem_region and add them after removing overlaps.
47181 Also, add only 1/4 of the upper memory to free memory. The rest
47182 is used for loading OS images. Maybe this is ad hoc, but this
47183 makes it much easier to relocate OS images when booting.
47184
47185 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47186 (pupa_enter_rescue_mode): Don't register initrd and module.
47187
47188 * kern/mm.c: Include pupa/dl.h.
47189
47190 * kern/main.c: Include pupa/file.h and pupa/device.h.
47191
47192 * kern/loader.c (pupa_loader_load_module_func): Removed.
47193 (pupa_loader_load_module): Likewise.
47194
47195 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47196 ``.o''.
47197
47198 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47199 (pupa_linux_tmp_addr): Likewise.
47200 (pupa_linux_real_addr): Likewise.
47201 (pupa_linux_boot_zimage): Likewise.
47202 (pupa_linux_boot_bzimage): Likewise.
47203
47204 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47205 (pupa_upper_mem): Likewise.
47206 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47207 module is too dangerous.
47208
47209 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47210 (pupa_os_area_size): Likewise.
47211 (pupa_loader_set): Remove the first argument. Loader doesn't
47212 manage modules or initrd any longer.
47213 (pupa_loader_load_module): Removed.
47214
47215 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47216 (linux_mod_SOURCES): New variable.
47217 (linux_mod_CFLAGS): Likewise.
47218
47219 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47220
47221 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47222 the length of a blocklist correctly.
47223
47224 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47225 Use ioctl only if the OS file is a block device.
47226 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47227 not very useful for normal files.
47228
47229 * kern/main.c (pupa_set_root_dev): New function.
47230 (pupa_load_normal_mode): Likewise.
47231 (pupa_main): Call those above.
47232
47233 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47234 pupa_uint16_t.
47235
47236 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47237
47238 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47239
47240 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47241 (setup): Configure the installed partition information and the
47242 dl prefix.
47243
47244 * loader/i386/pc/chainloader.c (my_mod): New variable.
47245 (pupa_chainloader_unload): New function.
47246 (pupa_rescue_cmd_chainloader): Refer itself.
47247 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47248
47249 * kern/i386/pc/startup.S (install_partition): Removed.
47250 (version_string): Likewise.
47251 (config_file): Likewise.
47252 (pupa_install_dos_part): New variable.
47253 (pupa_install_bsd_part): Likewise.
47254 (pupa_prefix): Likewise.
47255 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47256
47257 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47258 and pupa/misc.h.
47259 (make_install_device): New function.
47260 (pupa_machine_init): Set the dl prefix.
47261
47262 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47263 (buf): Renamed to ...
47264 (linebuf): ... this.
47265 (pupa_rescue_cmd_prefix): New function.
47266 (pupa_rescue_cmd_insmod): Likewise.
47267 (pupa_rescue_cmd_rmmod): Likewise.
47268 (pupa_rescue_cmd_lsmod): Likewise.
47269 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47270 rmmod and lsmod.
47271
47272 * kern/mm.c (pupa_memalign): If failed even after invalidating
47273 disk caches, unload unneeded modules and retry.
47274
47275 * kern/misc.c (pupa_memmove): New function.
47276 (pupa_memcpy): Removed.
47277 (pupa_strcpy): New function.
47278 (pupa_itoa): Made static.
47279
47280 * kern/dl.c (pupa_dl_iterate): New function.
47281 (pupa_dl_ref): Likewise.
47282 (pupa_dl_unref): Likewise.
47283 (pupa_dl_unload): Return if succeeded or not.
47284 (pupa_dl_unload_unneeded): New function.
47285 (pupa_dl_unload_all): Likewise.
47286 (pupa_dl_init): Renamed to ...
47287 (pupa_dl_set_prefix): ... this.
47288 (pupa_dl_get_prefix): New function.
47289
47290 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47291 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47292 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47293 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47294 (pupa_install_dos_part): Declared.
47295 (pupa_install_bsd_part): Likewise.
47296 (pupa_prefix): Likewise.
47297 (pupa_boot_drive): Likewise.
47298
47299 * include/pupa/types.h: Fix a typo.
47300
47301 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47302 pupa_memmove.
47303 (pupa_memmove): Declared.
47304 (pupa_strcpy): Likewise.
47305
47306 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47307 pupa_mod_init takes one argument, its own module.
47308 (pupa_dl_unload_unneeded): Declared.
47309 (pupa_dl_unload_all): Likewise.
47310 (pupa_dl_ref): Likewise.
47311 (pupa_dl_unref): Likewise.
47312 (pupa_dl_iterate): Likewise.
47313 (pupa_dl_init): Renamed to ...
47314 (pupa_dl_set_prefix): ... this.
47315 (pupa_dl_get_prefix): Declared.
47316
47317 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
47318 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
47319 unloaded.
47320 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47321 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47322
47323 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47324 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47325
47326 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47327
47328 * util/i386/pc/pupa-setup.c (setup): Define the internal
47329 function find_first_partition_start at the top level, because GCC
47330 3.0.x cannot compile internal functions in deeper scopes
47331 correctly.
47332 (find_root_device): Use lstat instead of stat.
47333 Don't follow symbolic links.
47334 Fix the path-constructing code.
47335
47336 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47337 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47338 by a BLKGETSIZE ioctl first, because block devices don't fill
47339 the member st_mode of the structure stat on Linux.
47340 [__linux__] (linux_find_partition): Use a temporary buffer
47341 REAL_DEV for the working space. Copy it to DEV before returning.
47342 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47343 buffer cache consistent.
47344 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47345 strncmp. The previous value was merely wrong.
47346 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47347
47348 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47349 FAT size is 12. The previous value was merely wrong.
47350
47351 * kern/main.c (pupa_main): Don't split the starting message from
47352 newlines.
47353
47354 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47355 LF, because BIOS goes crazy about character attributes in this
47356 case.
47357
47358 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47359
47360 * include/i386/pc/util/biosdisk.h: New file.
47361 * util/i386/pc/biosdisk.c: Likewise.
47362 * util/i386/pc/pupa-setup.c: Likewise.
47363
47364 * Makefile.in (INCLUDE_DISTFILES): Added
47365 include/pupa/i386/pc/util/biosdisk.h.
47366 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47367 directory util/i386/pc.
47368 (install-local): Added a rule for sbin_UTILITIES.
47369 (uninstall): Likewise.
47370
47371 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47372
47373 * util/misc.c (xrealloc): New function.
47374 (pupa_malloc): Likewise.
47375 (pupa_free): Likewise.
47376 (pupa_realloc): Likewise.
47377 (pupa_stop): Likewise.
47378 (pupa_putchar): Likewise.
47379
47380 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47381
47382 * include/pupa/util/misc.h (xrealloc): Declared.
47383
47384 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47385 macro.
47386 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47387 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47388
47389 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47390 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47391
47392 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47393 way should be implemented.
47394 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47395
47396 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47397 the size of NAME for safety.
47398 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47399 0x88.
47400
47401 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47402 (pupa_setup_SOURCES): Likewise.
47403
47404 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47405
47406 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47407
47408 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47409 bunch of pushl's from pusha, because this destroys the return
47410 value.
47411
47412 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47413
47414 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47415 This means that any missing prototypes could be fatal. Also, you
47416 must take care when writing assembly code. See the comments at
47417 the beginning of startup.S, for more details.
47418
47419 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47420 compilation mechanism.
47421 (pupa_chainloader_real_boot): Likewise.
47422 (pupa_biosdisk_rw_int13_extensions): Likewise.
47423 (pupa_biosdisk_rw_standard): Likewise.
47424 (pupa_biosdisk_check_int13_extensions): Likewise.
47425 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47426 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47427 (pupa_get_memsize): Likewise.
47428 (pupa_get_mmap_entry): Likewise.
47429 (pupa_console_putchar): Likewise.
47430 (pupa_console_setcursor): Likewise.
47431 (pupa_getrtsecs): Use pushl instead of push.
47432
47433 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47434 memory instead of the stack for a mmap entry, because some
47435 BIOSes may ignore the maximum size and overflow.
47436
47437 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47438
47439 * genmk.rb (PModule#rule): Compile automatically generated
47440 sources with module-specific CFLAGS as well as other sources.
47441
47442 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47443
47444 * configure.ac: Check ld.
47445 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47446 respectively, before checking endianness and sizes.
47447
47448 * Makefile.in (LD): New variable.
47449
47450 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47451
47452 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47453
47454 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47455
47456 * Changelog: New file.
47457