]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Rewrite spkmodem to use PIT for timing. Double the speed.
[grub2.git] / ChangeLog
CommitLineData
17334a6b
VS
12013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Rewrite spkmodem to use PIT for timing. Double the speed.
4
7d462559
VS
52013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Add new command pcidump.
8
b78d6c32
VS
92013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10
11 New terminal outputs using serial: morse and spkmodem.
12
34f71cb8
VS
132013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Improve bidi handling in entry editor.
16
4542e71b
VS
172013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
20 argument to prevent name collision.
21
09fd6d82
CW
222013-01-15 Colin Watson <cjwatson@ubuntu.com>
23
24 Remove nested functions from script reading and parsing.
25
26 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
27 getline_data argument, passed to getline.
28 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
29 getline_data argument, passed to grub_parser_split_cmdline.
30 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
31 lexerstate->getline_data to lexerstate->getline.
32 (grub_script_lexer_init): Add getline_data argument, saved in
33 lexerstate->getline_data.
34 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
35 argument, passed to grub_script_parse.
36 * grub-core/script/script.c (grub_script_parse): Add getline_data
37 argument, passed to grub_script_lexer_init.
38 * include/grub/parser.h (grub_parser_split_cmdline): Update
39 prototype. Update all callers to pass appropriate getline data.
40 (struct grub_parser.parse_line): Likewise.
41 (grub_rescue_parse_line): Likewise.
42 * include/grub/reader.h (grub_reader_getline_t): Add void *
43 argument.
44 * include/grub/script_sh.h (struct grub_lexer_param): Add
45 getline_data member.
46 (grub_script_parse): Update prototype. Update all callers to pass
47 appropriate getline data.
48 (grub_script_lexer_init): Likewise.
49 (grub_normal_parse_line): Likewise.
50
51 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
52 data argument.
53 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
54 static instead of nested. Rename to ...
55 (grub_parser_execute_getline): ... this.
56 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
57 data argument.
58 * grub-core/normal/main.c (read_config_file: getline): Make static
59 instead of nested. Rename to ...
60 (read_config_file_getline): ... this.
61 (grub_normal_read_line): Add unused data argument.
62 * grub-core/script/execute.c (grub_script_execute_sourcecode:
63 getline): Make static instead of nested. Rename to ...
64 (grub_script_execute_sourcecode_getline): ... this.
65 * util/grub-script-check.c (main: get_config_line): Make static
66 instead of nested.
67
d0d4b8a0
CW
682013-01-15 Colin Watson <cjwatson@ubuntu.com>
69
70 Remove nested functions from memory map iterators.
71
72 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
73 argument, passed to hook.
74 * grub-core/kern/i386/coreboot/mmap.c
75 (grub_linuxbios_table_iterate): Likewise.
76 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
77 instead of nested.
78 (grub_machine_mmap_iterate): Add hook_data argument.
79 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
80 Add hook_data argument, passed to hook.
81 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
82 Likewise.
83 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
84 Likewise.
85 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
86 Likewise.
87 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
88 Likewise.
89 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
90 Likewise.
91 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
92 Likewise.
93 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
94 (grub_machine_mmap_iterate): Likewise.
95 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
96 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
97 prototype.
98 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
99 Remove NESTED_FUNC_ATTR from here and from all users.
100 (grub_mmap_iterate): Update prototype.
101 (grub_efi_mmap_iterate): Update prototype. Update all callers to
102 pass appropriate hook data.
103 (grub_machine_mmap_iterate): Likewise.
104
105 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
106 static instead of nested.
107 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
108 Rename to ...
109 (lsmmap_hook): ... this.
110 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
111 Likewise.
112 (grub_efiemu_mmap_fill: fill_hook): Likewise.
113 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
114 heap_init): Likewise.
115 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
116 Rename to ...
117 (mmap_iterate_hook): ... this.
118 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
119 Likewise.
120 * grub-core/lib/ieee1275/relocator.c
121 (grub_relocator_firmware_get_max_events: count): Likewise.
122 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
123 to ...
124 (grub_relocator_firmware_fill_events_iter): ... this.
125 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
126 hook): Likewise. Rename to ...
127 (grub_relocator_alloc_chunk_align_iter): ... this.
128 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
129 Rename to ...
130 (generate_e820_mmap_iter): ... this.
131 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
132 Rename to ...
133 (count_hook): ... this.
134 (grub_linux_boot: hook): Likewise. Rename to ...
135 (grub_linux_boot_mmap_find): ... this.
136 (grub_linux_boot: hook_fill): Likewise. Rename to ...
137 (grub_linux_boot_mmap_fill): ... this.
138 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
139 hook): Likewise. Rename to ...
140 (grub_fill_multiboot_mmap_iter): ... this.
141 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
142 hook): Likewise. Rename to ...
143 (count_hook): ... this.
144 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
145 hook): Likewise. Rename to ...
146 (grub_fill_multiboot_mmap_iter): ... this.
147 * grub-core/loader/powerpc/ieee1275/linux.c
148 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
149 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
150 Likewise. Rename to ...
151 (alloc_phys_choose): ... this.
152 (determine_phys_base: get_physbase): Likewise.
153 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
154 find_hook): Likewise.
155 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
156 (malloc_hook: count_hook): Likewise.
157 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
158 Likewise. Rename to ...
159 (lower_hook): ... this.
160 (grub_mmap_get_upper: hook): Likewise. Rename to ...
161 (upper_hook): ... this.
162 (grub_mmap_get_post64: hook): Likewise. Rename to ...
163 (post64_hook): ... this.
164 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
165 Likewise. Rename to ...
166 (lower_hook): ... this.
167 (grub_mmap_get_upper: hook): Likewise. Rename to ...
168 (upper_hook): ... this.
169 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
170 (grub_mmap_iterate: fill_hook): Likewise.
171 (fill_mask): Pass addr and mask within a single struct.
172 (grub_cmd_badram: hook): Make static instead of nested. Rename
173 to ...
174 (badram_iter): ... this.
175 (grub_cmd_cutmem: hook): Likewise. Rename to ...
176 (cutmem_iter): ... this.
177
22099030
VS
1782013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
181 delimit path in strings using quotes.
182 * util/getroot.c (grub_guess_root_devices): Likewise.
183 (grub_make_system_path_relative_to_its_root): Likewise.
184 * util/grub-probe.c (probe): Likewise.
185 * util/ieee1275/ofpath.c (find_obppath): Likewise.
186 (xrealpath): Likewise.
187
4a9950ec
VS
1882013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
189
190 Fix compilation with older compilers.
191
192 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
193 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
194 declarations.
195 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
196 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
197 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
198 identifier with b.
199 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
200 * include/grub/crypto.h: Add type defines.
201 * util/import_gcrypth.sed: Remove duplicate type defines.
202
adcc6020
VS
2032013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
204
205 New command list_trusted.
206
207 * grub-core/commands/verify.c (grub_cmd_list): New function.
208
a4528937
CW
2092013-01-13 Colin Watson <cjwatson@ubuntu.com>
210
211 * util/grub-mkimage.c (generate_image): Fix "size of public key"
212 info message.
213
ca3a7446
CW
2142013-01-13 Colin Watson <cjwatson@ubuntu.com>
215
216 Remove nested functions from PCI iterators.
217
218 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
219 passed to hook. Update all callers to pass appropriate hook data.
220 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
221 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
222 Remove NESTED_FUNC_ATTR from here and from all users.
223 (grub_pci_iterate): Update prototype.
224 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
225 instead of nested. Rename to ...
226 (grub_cs5536_find_iter): ... this.
227 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
228 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
229 Likewise.
230 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
231 Likewise.
232 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
233 Likewise.
234 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
235 Likewise.
236 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
237 * grub-core/video/radeon_fuloong2e.c
238 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
239 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
240 find_card): Likewise.
241 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
242 Likewise.
243
f8e98fee
VS
2442013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/commands/verify.c: Mark messages for translating.
247
055b36b6
VS
2482013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
251 fatal.
252
f7ff879b
VS
2532013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
256 fatal.
257
2582013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
259
260 * autogen.sh: Do not try to delete nonexistant files.
261 * util/import_gcrypth.sed: Add some missing header removals.
262
01323d49
CW
2632013-01-12 Colin Watson <cjwatson@ubuntu.com>
264
265 Clean up dangling references to grub-setup.
266 Fixes Ubuntu bug #1082045.
267
268 * docs/grub.texi (Images): Refer generally to grub-install rather
269 than directly to grub-setup.
270 (Installing GRUB using grub-install): Remove direct reference to
271 grub-setup.
272 (Device map) Likewise.
273 (Invoking grub-install): Likewise.
274 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
275 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
276 * util/grub-install.in (usage): Likewise.
277
278 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
279 Apply to grub-bios-setup and grub-sparc64-setup rather than to
280 grub-setup.
281 * configure.ac: Remove grub_setup output variable.
282
283 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
284 to grub-bios-setup.
285 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
286 grub-setup to grub-sparc64-setup.
287
5e3b8dcb
VS
2882013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
289
290 Import gcrypt public-key cryptography and implement signature checking.
291
535714bd
VS
2922013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/fs/ntfs.c: Ue more appropriate types.
295 * grub-core/fs/ntfscomp.c: Likewise.
296 * include/grub/ntfs.h: Likewise.
297
3e4f3566
VS
2982013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Support Apple FAT binaries on non-Apple platforms.
301
302 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
303 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
304 Likewise.
305 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
306 Apple FAT binaries.
307
4dedb13f
VS
3082013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
311 sector devices.
312
f8861eaf
CW
3132013-01-07 Colin Watson <cjwatson@ubuntu.com>
314
315 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
316 explicitly zeroing elements.
317 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
318 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
319 of elements in a structure already allocated using grub_zalloc.
320 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
321
86065b0a
CW
3222013-01-07 Colin Watson <cjwatson@ubuntu.com>
323
324 * docs/grub.texi (grub_cpu): New subsection.
325 (grub_platform): Likewise.
326
c6f1e92f
VS
3272013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
330
f797ec85
VS
3312013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
334 divisions.
335
033d0b4b
VS
3362013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
339 * grub-core/fs/ntfscomp.c: Likewise.
340 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
341 (grub_ntfs_comp): Likewise.
342
21d1b9a0
VS
3432013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
346 Rename to ...
347 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
348 of groups_per_block. All users updated.
349
10ca8645
VS
3502013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
353 grub_error properly.
354 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
355 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
356
a4c3ed4c
VS
3572013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
360 always in /boot/zfs.
361 Reported by: Yuta Satoh.
362
0b716507
YS
3632013-01-03 Yuta Satoh <nigoro>
364
365 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
366 ${grub_probe}
367
00c05e22
VS
3682013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * configure.ac: Extend -Wno-trampolines to host.
371
dadddb76
VS
3722013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
375 entry->len = 0.
376
54ce53ca
CW
3772013-01-03 Colin Watson <cjwatson@ubuntu.com>
378
379 * docs/grub.texi (Invoking grub-mkrelpath): New section.
380 (Invoking grub-script-check): Likewise.
381
8912efca
CW
3822013-01-03 Colin Watson <cjwatson@ubuntu.com>
383
384 * docs/grub.texi (Invoking grub-mount): New section.
385 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
386
c3fc8394
CW
3872013-01-02 Colin Watson <cjwatson@ubuntu.com>
388
389 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
390 test failures, so that a failing unit test correctly causes 'make
391 check' to fail.
392
45d26abb
CW
3932013-01-02 Colin Watson <cjwatson@ubuntu.com>
394
395 Fix failing printf test.
396
397 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
398 '$' in the correct order when collecting type information.
399
971dd2c6
CW
4002013-01-02 Colin Watson <cjwatson@ubuntu.com>
401
402 * docs/grub.texi (configfile): Explain environment variable
403 handling.
404 (source): New section.
405 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
406
5c67ea6c
CW
4072012-12-31 Colin Watson <cjwatson@ubuntu.com>
408
409 Remove several trivially-unnecessary uses of nested functions.
410
411 * grub-core/commands/i386/pc/sendkey.c
412 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
413 instead of nested.
414 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
415 Rename to ...
416 (legacy_file_getline): ... this.
417 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
418 Likewise.
419 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
420 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
421 to ...
422 (probe_dummy_iter): ... this.
423 * grub-core/kern/i386/coreboot/mmap.c
424 (grub_linuxbios_table_iterate: check_signature): Likewise.
425 * grub-core/kern/parser.c (grub_parser_split_cmdline:
426 check_varstate): Likewise. Mark inline.
427 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
428 an additional parameter.
429 (find_long: fnd_long): Likewise. Pass two additional parameters.
430 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
431 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
432 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
433 Likewise. Rename to ...
434 (grub_cmos_find_port_iter): ... this.
435 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
436 Rename to ...
437 (find_rtc_iter): ... this.
438
439 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
440 function directly into the function body, since it is only called
441 once.
442
33a68ac6
CW
4432012-12-30 Colin Watson <cjwatson@ubuntu.com>
444
445 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
446 __attribute__ ((unused)).
447 * grub-core/video/bochs.c (find_card): Likewise.
448 * grub-core/video/cirrus.c (find_card): Likewise.
449 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
450 * grub-core/video/sis315pro.c (find_card): Likewise.
451 * grub-core/video/sm712.c (find_card): Likewise.
452
608b647a
CW
4532012-12-28 Colin Watson <cjwatson@ubuntu.com>
454
455 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
456 Fixes Savannah bug #37821.
457
fd49ceb3
CW
4582012-12-28 Colin Watson <cjwatson@ubuntu.com>
459
460 Apply program name transformations at build-time rather than at
461 run-time. Fixes Debian bug #696465.
462
463 * acinclude.m4 (grub_TRANSFORM): New macro.
464 * configure.ac: Create output variables with transformed names for
465 most programs.
466 * util/bash-completion.d/grub-completion.bash.in: Use
467 pre-transformed variables for program names.
468 * util/grub-install.in: Likewise.
469 * util/grub-kbdcomp.in: Likewise.
470 * util/grub-mkconfig.in: Likewise.
471 * util/grub-mkconfig_lib.in: Likewise.
472 * util/grub-mknetdir.in: Likewise.
473 * util/grub-mkrescue.in: Likewise.
474 * util/grub-mkstandalone.in: Likewise.
475 * util/grub-reboot.in: Likewise.
476 * util/grub-set-default.in: Likewise.
477 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
478 * tests/util/grub-shell-tester.in: Remove unused assignment.
479 * tests/util/grub-shell.in: Likewise.
480 * util/grub.d/00_header.in: Likewise.
481
7024b3c0
CW
4822012-12-28 Colin Watson <cjwatson@ubuntu.com>
483
484 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
485
486 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
487 HAVE_RAW_DECL_GETS.
488 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
489
e3501b13
VS
4902012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
493 Reported by: Eriks Latosheks <foresterlv>.
494
b40c88a9
VS
4952012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * docs/grub.texi (Network): Update instructions on generating netboot
498 image.
499
ce96d01c
VS
5002012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
503 around device name if necessarry.
504
0f596201
PFS
5052012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
506
507 * util/grub-install.in: Follow the symbolic link parameter added
508 to the file command.
509
600d5bdb
AB
5102012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
511
512 * util/grub-install.in: Remove stale TODO.
513
64ebd2f4
PFS
5142012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
515
516 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
517 dynamic allocation for the bootpath buffer.
518
74b2fe3e
DTB
5192012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
520
521 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
522 window too small.
523
969b804f
VS
5242012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
527 argument rather than font name. All users updated.
528 (grub_gfxterm_set_window): Likewise.
529
b9f5ebd6
VT
5302012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
531
532 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
533 from working.
534
258f43b7
VS
5352012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * util/getroot.c (convert_system_partition_to_system_disk): Support
538 nbd disks.
539
cc1ce5f9
VS
5402012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
543 infinite loop on corrupted FS.
544
e77a16ca
VS
5452012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
546
547 Fix big-endian mtime.
548
549 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
550 together sec and usec.
551 (grub_ufs_dir): Use correct byteswapping for UFS time.
552
d9c48c7b
VS
5532012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Support big-endian UFS1.
556
557 * Makefile.util.def (libgrubmods): Add ufs_be.c
558 * grub-core/Makefile.core.def (ufs1_be): New module.
559 * grub-core/fs/ufs_be.c: New file.
560 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
561 the file.
562
2f9f40ba
LL
5632012-11-28 Leif Lindholm <leif.lindholm@arm.com>
564
565 * include/grub/types.h: Fix functionality unaffecting typo in
566 GRUB_TARGET_WORDSIZE conditional macro.
567
48ff0889
PFS
5682012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
569
570 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
571
03711240
GS
5722012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
573
574 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
575 that /netbsd appears first (when it exists).
576
a31b11bd
CJ
5772012-10-12 Christoph Junghans <ottxor@gentoo.org>
578
579 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
580 Fixes Savannah bug #37558.
581
e8a5d5d4
CW
5822012-10-12 Colin Watson <cjwatson@ubuntu.com>
583
584 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
585 description of extract_entries_configfile.
586
5872012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
588
589 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
590 preferred_address.
591 (grub_cmd_linux): Likewise.
592 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
593 preferred_lifetime. Update all users.
594
288c757d
CW
5952012-09-26 Colin Watson <cjwatson@ubuntu.com>
596
597 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
598 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
599
0d35da3f
CW
6002012-09-26 Colin Watson <cjwatson@ubuntu.com>
601
602 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
603 errors from grub-probe to /dev/null, not stdout.
604
b78c3127
VS
6052012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
608 sector 1.
609
473959f0
CW
6102012-09-24 Colin Watson <cjwatson@ubuntu.com>
611
612 * util/grub-install.in: Make the error message if $source_dir
613 doesn't exist more useful.
614
794c8c33
CW
6152012-09-22 Colin Watson <cjwatson@ubuntu.com>
616
617 Fix grub-emu build on FreeBSD.
618
619 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
620 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
621 headers on Linux.
622 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
623 implementation is currently Linux-specific.
624 * util/getroot.c (exec_pipe): Define only on Linux or when either
625 libzfs or libnvpair is unavailable.
626 (find_root_devices_from_poolname): Remove unused path variable.
627
86d08fdb
CW
6282012-09-19 Colin Watson <cjwatson@ubuntu.com>
629
630 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
631 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
632 should fit before end == 63.
633
735abf54
CW
6342012-09-19 Colin Watson <cjwatson@ubuntu.com>
635
636 * util/grub-setup.c (write_rootdev): Remove unused core_img
637 parameter. Update all callers.
638 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
639 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
640 GRUB_SETUP_BIOS.
641
140acd3c
VS
6422012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * util/grub-mkconfig_lib.in (grub_tab): New variable.
645 (grub_add_tab): New function.
646 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
647 * util/grub.d/10_illumos.in: Likewise.
648 * util/grub.d/10_kfreebsd.in: Likewise.
649 * util/grub.d/10_linux.in: Likewise.
650 * util/grub.d/10_netbsd.in: Likewise.
651 * util/grub.d/10_windows.in: Likewise.
652 * util/grub.d/10_xnu.in: Likewise.
653 * util/grub.d/20_linux_xen.in: Likewise.
654 * util/grub.d/30_os-prober.in: Likewise.
655
7ddffdad
VS
6562012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
659 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
660 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
661 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
662 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
663 ieee1275-nocursor.
664 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
665 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
666
4e092454
VS
6672012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
670 le-conversion.
671 Reported by: BURETTE, Bernard.
672
735abf54 6732012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
674
675 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
676 from comment.
677
dfd39dbd
CW
6782012-09-14 Colin Watson <cjwatson@ubuntu.com>
679
680 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
681 IEEE1275 machines. Fixes powerpc-emu compilation.
682 * include/grub/terminfo.h: Likewise.
683
3bfa763c
VS
6842012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
687 a const pointer.
688 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
689 const pointer.
690 (efiemu_set_variable): Make vendor_guid a const pointer.
691
250e475b
VS
6922012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Don't require grub-mkconfig_lib to generate manpages for programs.
695
696 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
697 dependencies, don't add grub-mkconfig_lib.
698 (program): Pass empty adddeps.
699 (script): Pass grub-mkconfig_lib as adddeps.
700
592fd0e4
VS
7012012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
704 * util/getroot.c (grub_find_device): Likewise.
705 (get_mdadm_uuid): Likewise.
706 (grub_util_is_imsm): Likewise.
707 (grub_util_pull_device): Likewise.
708 * util/grub-probe.c (probe): Likewise.
709
801a3027
BG
7102012-09-10 Benoit Gschwind <gschwind>
711
712 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
713 (devs): Add devpath_8.
714
c5052c81
PJ
7152012-09-08 Peter Jones <pjones@redhat.com>
716
717 * grub-core/Makefile.core.def (efifwsetup): New module.
718 * grub-core/commands/efi/efifwsetup.c: New file.
719 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
720 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
721 New define.
722 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
723
8e832f71
JS
7242012-09-05 Jiri Slaby <jslaby@suse.cz>
725
726 * configure.ac: Add SuSe path.
727
f0f55752
CW
7282012-09-05 Colin Watson <cjwatson@ubuntu.com>
729
730 * NEWS: Fix typo.
731
ecadc4c2
CW
7322012-09-05 Colin Watson <cjwatson@ubuntu.com>
733
734 * util/import_gcry.py: Sort cipher_files, to make build system
735 generation more deterministic.
736
64498f25
VS
7372012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
740 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
741 (grub_set_datetime): Likewise.
742
9cc836a2
VS
7432012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
746 warnings.
747
bcfcea01
VS
7482012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
751
a4099485
VS
7522012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
755
265c162a
CW
7562012-09-04 Colin Watson <cjwatson@ubuntu.com>
757
758 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
759 required for checkouts from bzr, but it may be useful for users or
760 distributors wishing to update translations against a tarball
761 distribution, and it can be helpful for the tarball to be a superset
762 of what's in bzr.
763
3d171e95
CW
7642012-09-04 Colin Watson <cjwatson@ubuntu.com>
765
766 * Makefile.am (EXTRA_DIST): Add
767 grub-core/tests/boot/linux.init-mips.S,
768 grub-core/tests/boot/linux.init-ppc.S, and
769 grub-core/tests/boot/linux-ppc.cfg.
770
f2c2503e
CW
7712012-09-04 Colin Watson <cjwatson@ubuntu.com>
772
773 * grub-core/mmap/mips/loongson: Remove empty directory.
774
7752012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
776
777 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
778 gone.
779
ab2163d5
CW
7802012-09-04 Colin Watson <cjwatson@ubuntu.com>
781
782 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
783 grub-sparc64-setup.
784
ce938140
GS
7852012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
786
787 * configure.ac: Strengthen the test for working -nostdinc -isystem.
788
529f58a5
GS
7892012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
790
791 * po/POTFILES.in: Regenerated.
792
16cf79e9
GS
7932012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
794
795 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
796 (NetBSD): New subsection.
797
39b27f1e 7982012-07-22 Ales Nesrsta <starous@volny.cz>
799
800 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
801 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
802
a885261b
VS
8032012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
806 * util/grub.d/10_hurd.in: Add missing quoting.
807 * util/grub.d/10_illumos.in: Likewise.
808 * util/grub.d/10_kfreebsd.in: Likewise.
809 * util/grub.d/10_linux.in: Likewise.
810 * util/grub.d/20_linux_xen.in: Likewise.
811
7bd29c01
VS
8122012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
813
814 New command `lsefi'.
815
816 * grub-core/Makefile.core.def (lsefi): New module.
817 * grub-core/commands/efi/lsefi.c: New file.
818 * include/grub/efi/api.h: Add more GUIDs.
819
ac625d8f
VS
8202012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
823 (grub_bsd_elf32_hook): Likewise.
824 (grub_bsd_elf64_size_hook): Likewise.
825 (grub_bsd_elf64_hook): Likewise.
826 (grub_bsd_load_elf): Likewise.
827
e73bb801
VS
8282012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
831 if hash function is unavailable.
832 (dec_stream_header): Likewise.
833
e81db8b5
VS
8342012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
837 filter state.
838
d187a1c3
VS
8392012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Fix coreboot compilation.
842
843 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
844 (grub_vga_text_init_real): ... this.
845 (grub_vga_text_fini): Rename to ...
846 (grub_vga_text_fini_real): ... this.
847
91a05f64
VS
8482012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
851
6af96df7
VS
8522012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/lib/legacy_parse.c: Support clear and testload.
855
4d569e12
VS
8562012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
859
073b57bb
VS
8602012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/fs/ext2.c: Experimental support for 64-bit.
863
a706f4cc
VS
8642012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/net/tftp.c (ack): Fix endianness problem.
867 (tftp_receive): Likewise.
868 Reported by: Michael Davidsaver.
869
e7850aa9
VS
8702012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * gentpl.py: Make mans depend on grub-mkconfig_lib.
873
8742012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
877 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
878 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
879
35692881
VS
8802012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
883 efi_mmap_size.
884 Reported by: Stuart Hayes.
885
c35fc5bd
VS
8862012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
889
890 * grub-core/Makefile.core.def (mda_text): New module.
891 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
892 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
893 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
894 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
895 here.
896 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
897 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
898 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
899 here.
900 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
901 to ..
902 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
903 ... here
904 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
905 here.
906 * grub-core/term/i386/vga_common.c: Removed.
907 * include/grub/i386/vga_common.h: Likewise.
908 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
909 (grub_vga_cr_bw_read): Likewise.
910 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
911 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
912 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
913 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
914 grub_vga_cr_read/grub_vga_cr_write.
915 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
916
5f91f701
VS
9172012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * configure.ac: Bump version to 2.00.
920 * grub-core/normal/main.c (features): Add feature_200_final.
921
0c4f85f6
VS
9222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9232012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
924
925 * NEWS: Fix unclarity and language mistakes.
926
f923ad22
VS
9272012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
930 additional size to 3 pages.
931 Reported by: Stuart Hayes.
932
d22029ba
VS
9332012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * NEWS: Add 2.00 entry.
936
58eee08f
VS
9372012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
940 put explicit "/" for empty path.
941 (wildcard_expand): Improve dprintf.
942
c59bdff7
VS
9432012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
946 it's equal to currnode. This can happen with "" symlink.
947
5e6a440a
YB
9482012-06-27 Yves Blusseau <blusseau@zetam.org>
949
950 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
951 echo shell command by printf command.
952
73a68bcb
VS
9532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
956 the value returned by firmware is the maximal position, not diumension.
957 (grub_terminfo_output_state): Use a more sane fallback.
958
392a603b
VS
9592012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
962
42d0867f
VS
9632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
966 frequency to 150 MHz.
967
489509f4
VS
9682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
969
970 Apple fixes.
971
972 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
973 __APPLE_
974 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
975 definition.
976 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
977
9f3fc883
VS
9782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Handle slash in HFS label.
981
982 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
983 (grub_hfs_dir): Tanslate slash.
984 (grub_hfs_label): Don't translate slash.
985
54853fd7
VS
9862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
989 network protocol listing since it introduces problematic dependency on
990 net module.
991
4dc02ddf
VS
9922012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
995
c50c867d
VS
9962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
997
998 Init video early on yeeloong to avoid being rebooted by watchdog.
999
1000 * grub-core/Makefile.am (gensm712): New target.
1001 (sm712_start.S): Likewise.
1002 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1003 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1004 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1005 description.
1006 * include/grub/vga.h: Move registry definitions to...
1007 * include/grub/vgaregs.h: ... here.
1008
5f92c8a1
VS
10092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1012 signedness.
1013
e9e6f111
VS
10142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1017 platforms with firmware disk drivers in the core.
1018
754ad9eb
VS
10192012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1022 informative verbose message.
1023 (read_lv): Handle 64-bit segment size.
1024
315654c2
VS
10252012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1028
fb022c79
VS
10292012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1032 character but still remove trainling spaces.
1033 (grub_fat_label): Ignore archive flag.
1034
8645f72c
VS
10352012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1038 cast between linux_kernel_header and linux_kernel_params.
1039
36498496
VS
10402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1043 type for size.
1044 (grub_raid6_recover_func_t): Likewise.
1045 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1046 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1047
0b5ea6b8
VS
10482012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1051
650cfcfe
GS
10522012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1053
1054 Fix overflow.
1055
1056 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1057 [__NetBSD__]: Add explicit cast before bitshift.
1058
8a4d6a44
VS
10592012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * configure.ac: Bump to 2.00~rc1.
1062
2fb97ed3
VS
10632012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1066 half of $a0.
1067
1fa097dc
VS
10682012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10692012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1070
1071 * docs/grub.texi: Fix search syntax.
1072 (Multi-boot manual config): Put msdos rather than GPT example.
1073 Grammar corrections.
1074
c890ba78
VS
10752012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1078
0f92dca7
VS
10792012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1082
3988c4a0
VS
10832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1086 message on double free. Put the value of magic in case of mismatch.
1087
9e86d4c5
VS
10882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Speed-up video on yeeloong.
1091
1092 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1093 add cached_ptr.
1094 (grub_video_sm712_video_fini): Unmap cached_ptr.
1095 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1096 (grub_video_sm712_set_active_render_target): Removed.
1097 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1098 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1099 sync caches.
1100
ed24c312
VS
11012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 Avoid flushing the same line multiple times on loongson.
1104
1105 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1106 Step in 32 bytes and not 1 byte.
1107 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1108 Likewise.
1109
d1718e7d
VS
11102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1113 subvolumes.
1114
982f1909
VS
11152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 Implement flow control for http.
1118
1119 * grub-core/net/http.c (parse_line): Handle response 206.
1120 (http_receive): Stall if too many packets are in the queue.
1121 (http_establish): Fix range header.
1122 (http_seek): Fix double free.
1123 (http_close): Likewise.
1124 (http_packets_pulled): New function.
1125 (grub_http_protocol): Set http_seek
1126 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1127 (ack_real): Set window depending on i_stall.
1128 (grub_net_send_tcp_packet): Likewise.
1129 (grub_net_tcp_stall): New function.
1130 (grub_net_tcp_unstall): Likewise.
1131 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1132 (grub_net_tcp_unstall): Likewise.
1133
bd407d6e
VS
11342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1137
c7564b8e
VS
11382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1141
a3706162
VS
11422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * tests/util/grub-shell.in: Fix a typo.
1145
b27069e0
VS
11462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 Implement flow control for tftp.
1149
1150 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1151 packets but stop only if stop condition is satisfied.
1152 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1153 `stall' instead of `eof' as stop condition.
1154 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1155 (http_err): Likewise.
1156 * grub-core/net/tftp.c (ack): Replace the first argument with data
1157 instead of socket.
1158 (tftp_receive): Stall if too many packets are in wait queue.
1159 (tftp_packets_pulled): New function.
1160 (grub_tftp_protocol): Set packets_pulled.
1161 * include/grub/net.h (grub_net_packets): New field count.
1162 (grub_net_put_packet): Increment count.
1163 (grub_net_remove_packet): Likewise.
1164 (grub_net_app_protocol): New field `packets_pulled'.
1165 (grub_net): New field `stall'.
1166
6b9cfac6
VS
11672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1170 sync part to handle them.
1171
f35abd81
VS
11722012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1175 * grub-core/net/drivers/ieee1275/ofnet.c
1176 (grub_ieee1275_net_config_real): Likewise.
1177
0e7ec820
VS
11782012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1181 the direct route for server/gateway.
1182
9d611a31
VS
11832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1186 IP address to server name since we may not hame the DNS.
1187
418f45ab
VS
11882012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1191 freeing random buffer on failure.
1192 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1193
44a0efc1
VS
11942012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1197
531e2241
VS
11982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1201 reserved bytes.
1202 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1203 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1204 Handle malloc error correctly.
1205
cde393c9
VS
12062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1209 blocks.
1210
538478d0
VS
12112012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1214 increment.
1215
9b55efe0
VS
12162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1219 none is explicitly specified.
1220
9eb832c3
VS
12212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1224 while reallocating.
1225
d6b7c7c9
VS
12262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 Respect netmask from bootp/dhcp.
1229
1230 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1231 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1232 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1233 into ...
1234 (grub_net_add_ipv4_local): ... this.
1235 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1236 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1237 (grub_net_add_ipv4_local): New proto.
1238
67caf9eb
VS
12392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1242 determining EFI memory map size.
1243
43657558
VS
12442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1247
eb6d0dd3
VS
12482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1251 when looking for partition separator.
1252
31230544
VS
12532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1256 Escape commas.
1257
918a2517
VS
12582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Restructure FAT driver to avoid hook in label reading as it hits a
1261 GCC bug.
1262
1263 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1264 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1265 (grub_fat_iterate_dir): Split into ...
1266 (grub_fat_iterate_init): ... this, ...
1267 (grub_fat_iterate_fini): ... this, ...
1268 (grub_fat_iterate_dir_next): ... and this. All users updated.
1269
9f1d654e
VS
12702012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1273 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1274 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1275 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1276 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1277 New fields last_key and last_key_time.
1278 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1279 extended key-esc into extended key-extended key.
1280
52f0f643
VS
12812012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 Avoid unnecessary memcpy of whole video buffer.
1284
1285 * grub-core/video/fb/video_fb.c (dirty): New struct.
1286 (framebuffer): Add members current_dirty and previous_dirty.
1287 (dirty): New function.
1288 (grub_video_fb_fill_rect): Update dirty.
1289 (common_blitter): Likewise.
1290 (grub_video_fb_scroll): Likewise.
1291 (doublebuf_blit_update_screen): Copy only dirty part.
1292 (doublebuf_pageflipping_update_screen): Likewise.
1293 (grub_video_fb_doublebuf_blit_init): Init dirty.
1294 (doublebuf_pageflipping_init): Likewise.
1295 (grub_video_fb_setup): Likewise.
1296
e169a180
VS
12972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1300 poll rate.
1301
48556879
VS
13022012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Fix wildcard regexp dot and other special characters handling.
1305 Reported by: Robert Mabee.
1306
1307 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1308 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1309 (split_path): Trigger expansion on '?'.
1310 (unescape): New function.
1311 (wildcard_expand): Unescape parts copied without globbing.
1312 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1313 (grub_script_arglist_to_argv): Don't unescape expansions.
1314
0494408e
VS
13152012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * include/grub/net.h (grub_net_card): New member txbufsize.
1318 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1319 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1320 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1321 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1322 txbufsize.
1323 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1324 compatible property to check for macs. Set
1325 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1326 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1327 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1328 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1329 (send_card_buffer): Use txbuf.
1330 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1331 nested function out of the parent while on it.
1332
cc35fe8f
VS
13332012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1336 presence check.
1337 (grub_ieee1275_net_config_real): Fix config pointer.
1338
970a0a09
VS
13392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1342 filename parsing to non-block devices.
1343
3e19bf87
VS
13442012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1347
c62d1a0c
VS
13482012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1351 All users updated.
1352
ef76bec3
VS
13532012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1356 UUID search command even if hints probing failed.
1357
13582012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1359
1360 * po/POTFILES.in: Regenerated.
1361
70aaf305
VS
13622012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 Speed-up video on fuloong.
1365
1366 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1367 New function.
1368 (grub_pci_device_unmap_range): Handle non-cached address.
1369 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1370 add direct_ptr.
1371 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1372 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1373 (grub_video_sis315pro_set_active_render_target): Removed.
1374 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1375 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1376 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1377 sync caches.
1378 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1379 New proto.
1380
10400f0b
VS
13812012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * docs/grub.texi (Multi-boot manual config): New section.
1384
ba67e2c6
VS
13852012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 Avoid slow read-back from VRAM.
1388
1389 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1390 Move from here ...
1391 * grub-core/video/fb/video_fb.c
1392 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1393 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1394 (front_target): Remove front_target. Add pages.
1395 (grub_video_fb_init): Skip setting front_pages.
1396 (grub_video_fb_fini): Likewise.
1397 (doublebuf_blit_update_screen): Use pages.
1398 (grub_video_fb_doublebuf_blit_init): Likewise.
1399 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1400 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1401 (grub_video_fb_setup): Prefer doublebuffing.
1402
377c98cb
VS
14032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1406 gzio.
1407
eac49cff
VS
14082012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 Add loongson tests.
1411
1412 * tests/util/grub-shell.in: Handle loongson.
1413 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1414 drivers.
1415 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1416 Reboot instead of shutdown if REBOOT is defined.
1417
0321415e
VS
14182012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1421 sized ports since unlike on real hardware qemu supports only 32-bit
1422 regs.
1423
3f2bdd8f
VS
14242012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1427 * util/grub-mkrescue.in: Handle loongson.
1428
29a049c9
VS
14292012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1432 Set is_part appropriately.
1433 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1434 names. Canonicalize partition without full disk.
1435
4abde346
VS
14362012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 Revert usb-quiesce since it's wrong.
1439
1440 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1441 (grub_ofdisk_init): Don't do quiesce.
1442
61f1d93b
VS
14432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1446 PowerMac workaround to Xserves as well.
1447 Information supplied by: Benjamin Herrenschmidt.
1448
a09eb541
VS
14492012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 Don't assume that beginning address is also the entry point on ppc.
1452
1453 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1454 (grub_linux_boot): Use linux_entry.
1455 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1456 (grub_linux_load64): Likewise.
1457
505b3c9b
VS
14582012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1461
cbe0b4ef
VS
14622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1465 needlessly lose the console.
1466
3006e981
VS
14672012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1470 space.
1471
4e5a96b0
VS
14722012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1473
7da036bb
VS
1474 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1475 than current grub_get_rtc() not implemented when booted with
1476 coreboot without TSC.
1477
1478 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1479 Add machine/time.h to kernel headers on loongson.
1480 * grub-core/Makefile.core.def (kernel): Remove
1481 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1482 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1483 (grub_get_rtc): Likewise.
1484 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1485 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1486 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1487 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1488 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1489 rather than installing known non-working time source.
1490 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1491 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1492 * include/grub/time.h: Don't include machine/time.h.
1493 * include/grub/efi/time.h: Removed.
1494 * include/grub/i386/efi/time.h: Likewise.
1495 * include/grub/i386/ieee1275/time.h: Likewise.
1496 * include/grub/powerpc/ieee1275/time.h: Likewise.
1497 * include/grub/sparc64/ieee1275/time.h: Likewise.
1498 * include/grub/x86_64/efi/time.h: Likewise.
1499
15002012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1503
1504 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1505 value.
1506 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1507 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1508 with dotless variants when any combining above is present.
1509
5561c22d
VS
15102012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1513 text and not binary.
1514
96f7e60e
VS
15152012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 Stop polling as soon as we have the packet we were waiting for.
1518
1519 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1520 All users updated.
1521 * grub-core/net/arp.c (have_pending): New var.
1522 (pending_req): Likewise.
1523 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1524 stop indicator.
1525 (grub_net_arp_receive): Set have_pending.
1526 * grub-core/net/dns.c (recv_data): New field stop.
1527 (recv_hook): Set stop.
1528 (grub_net_dns_lookup): Init stop and use as stop condition.
1529 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1530 condition.
1531 * grub-core/net/net.c (grub_net_poll_cards): New argument
1532 stop_condition. Stop when it goes true.
1533 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1534 indicator.
1535 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1536
3e747239
VS
15372012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Keep TX and RX buffers on EFI rather than always allocate new ones.
1540
1541 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1542 card. All users updated.
1543 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1544 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1545 (get_card_packet): Likewise.
1546 (grub_efinet_findcards): Init new fields.
1547
f695e99a
VS
15482012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1551 compilation error on sparc64.
1552
9e5e66d1
VS
15532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Use ITC on IA64 rather than broken routine based on daytime.
1556
1557 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1558 ia64.
1559 (grub_get_rtc) [__ia64__]: Likewise.
1560 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1561 (get_itc): New function.
1562 (grub_rtc_get_time_ms): Likewise.
1563 (grub_machine_init): Calibrate ITC.
1564 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1565 Keep only on non-ia64. Don't export since it's broken and used only
1566 if TSC is unavailable.
1567
a1767404
VS
15682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1571 even if it's used.
1572 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1573 Skip if parent is unused.
1574
34b2bced
VS
15752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1578
5e619f40
VS
15792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Fix wildcard escaping.
1582
1583 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1584 * grub-core/script/execute.c (wildcard_escape): .. to here.
1585 Don't escape dot.
1586 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1587 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1588 Don't escape dot.
1589 * grub-core/script/execute.c (gettext_append): Always escape.
1590 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1591 * grub-core/script/yylex.l: Don't cut away the escaping.
1592 * tests/grub_script_echo1.in: Add tests with wildcard.
1593
c8ca5855
VS
15942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1597 (ftdi_hw_configure): Likewise.
1598 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1599 define.
1600 (real_config): Handle 1.5 stop bits.
1601 (pl2303_hw_configure): Likewise.
1602
7183452c
VS
16032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * Makefile.am: Add ppc linux bootcheck.
1606 * grub-core/tests/boot/linux-ppc.cfg: New file.
1607 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1608
f57c84cd
VS
16092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * tests/grub_script_expansion.in: Skip network protocols.
1612
ecfc6207
VS
16132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1616
8d03d284
VS
16172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1620 --rom-directory.
1621 Add -graft-points.
1622
61c42af0
VS
16232012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 ESCC serial driver for conducting sautomated tests in qemu.
1626 Not tested on real hardware.
1627
1628 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1629 * grub-core/term/ieee1275/escc.c: New file.
1630 * grub-core/Makefile.core.def (escc): New module.
1631
08fd1291
VS
16322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1635 invalid on error.
1636 (serial_hw_fetch): Don't read invalid handle.
1637 (serial_hw_put): Don't write into invalid handle.
1638
08dafeea
VS
16392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Add a 1.5 stop bits value.
1642
1643 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1644 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1645 GRUB_SERIAL_STOP_BITS_1_5.
1646
9068fdcf
VS
16472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1650 value rather than let it uninited.
1651
f4d5820f
VS
16522012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/commands/wildcard.c (+check_file): New function.
1655 (wildcard_expand): Don't expand to non-existing files, expand with
1656 suffix and not attempt to expand if not needed.
1657
3d2de9a7
VS
16582012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1661 out of partitions containing other partitions.
1662
c5c81ff9
VS
16632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1666 on some qemu versions with GRUB.
1667
1668 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1669 define.
1670 (grub_openbsd_bootarg_pcibios): New struct.
1671 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1672 Add PCIINFO.
1673
08a14e0b
VS
16742012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * tests/util/grub-shell.in: Trim firmware output on EFI.
1677
cede3ca3
VS
16782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1681 and coreboot since it's already in kernel.
1682
558d3a60
VS
16832012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1686 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1687 to here. New return value start. All users updated.
1688 Recursively scan linear mappings.
1689 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1690 proto.
1691 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1692 Use grub_util_get_dm_node_linear_info.
1693 * util/getroot.c (convert_system_partition_to_system_disk): Use
1694 grub_util_info rather than grub_dprintf.
1695 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1696
60fde14d
VS
16972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1700
1701 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1702 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1703
24bd8838
VS
17042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * include/grub/types.h (grub_set_unaligned64): New function.
1707 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1708 (setup): Likewise.
1709
7bc06a49
VS
17102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1713 (grub_ofdisk_fini): Quiesce USB devices.
1714
49cea015
VS
17152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1718 caches.
1719
8dcbe03b
VS
17202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1723
5b258735
VS
17242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/disk/pata.c (grub_pata_pio_read)
1727 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1728 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1729
37ba07eb
VS
17302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 Extend automated tests to qemu-mips.
1733
1734 * Makefile.am: reorganise tests and enable qemu-mips.
1735 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1736 * grub-core/tests/boot/linux.init-mips.S: New file.
1737 * tests/partmap_test.in: Handle ata0 disks.
1738 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1739 non-pc i386.
1740
070038f8
VS
17412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1744 ia64.
1745 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1746 quotes while on it.
1747
004be2cd
VS
17482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1751 (grub_halt): Likewise.
1752 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1753
b1622487
VS
17542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/term/serial.c (grub_serial_register)
1757 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1758 the behaviour in line with x86 platforms.
1759
b7b4ab33
VS
17602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1763 (grub_ata_strncpy): Likewise.
1764 (grub_ata_identify): Add missing byteswaps.
1765
5e3535ae
VS
17662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1769 byte-swap.
1770 (screen_read_char): Likewise.
1771 (grub_vga_text_cls): Likewise.
1772
c21b17e6
VS
17732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1776 filenames.
1777 (make_file_path): Likewise.
1778
bf293dec
VS
17792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1782 machines.
1783 Tested by: Paulo Flabiano Smorigo.
1784 Crucial information about API supplied by: Coleen <Last name unknown>.
1785 Reviewed by: Coleen <Last name unknown>.
1786
81f6ef0e
VS
17872012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * util/grub-mkimage.c: Disable -Wcast-align.
1790
7284143a
VS
17912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1794 as they are fatal.
1795
b99f3e00
VS
17962012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1799
944f752d
VS
18002012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * util/grub-probe.c (escape_of_path): Fix double free.
1803
6cce6f38
VS
18042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * grub-core/commands/videoinfo.c (hook): Show pitch.
1807
1e1eb50e
VS
18082012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1811
1c715b5a
VS
18122012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1815 (probe): Add ieee1275 to OFW devices.
1816
007ae52d
VS
18172012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1820
4557a36d
VS
18212012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 Handle IBM OFW path.
1824
1825 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1826 available.
1827 (of_path_of_scsi): Handle vdevice.
1828
efbeefe9
VS
18292012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1832 Allocate in multiples of 16 to avoid adding a few bytes free region the
1833 windows bugs upon.
1834
15a940bb
VS
18352012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1838 Allocate in multiples of 16 to avoid adding a few bytes free region the
1839 windows bugs upon.
1840 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1841
6e5efd60
VS
18422012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1845 resolutions.
1846 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1847 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1848
0d3d137e
IS
18492012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1850
1851 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1852
45dbe300
VS
18532012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1856 resulted in \\ at the end of the line.
1857
6d8db947
VS
18582012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1861 (grub_parser_cmdline_state): Likewise.
1862 (grub_parser_split_cmdline): Likewise.
1863
de89d338
VS
18642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1867 /dev/root and /dev/dm-*.
1868
00d41dee
VS
18692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1872 fix partially stale display.
1873
f95d1f11
VS
18742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1877 substraction.
1878
6297e197
VS
18792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1882 Fix MBR remapping workaround.
1883 (grub_util_biosdisk_read) [__linux__]: Likewise.
1884
8a7ecad3
VS
18852012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1888
2b34f944
VS
18892012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * configure.ac: Bump to beta6.
1892
684aef11
CW
18932012-05-31 Christer Weinigel <christer@weinigel.se>
1894
1895 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1896
05b0bb91
VS
18972012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1900 (grub_cmd_linux): Likewise.
1901
bda36bfa
CW
19022012-05-31 Christer Weinigel <christer@weinigel.se>
1903
1904 Fix EHCI low-speed.
1905
1906 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1907 (GRUB_EHCI_MULT_TWO): Likewise.
1908 (GRUB_EHCI_MULT_THREE): Likewise.
1909 (GRUB_EHCI_CMASK_MASK): New enum value.
1910 (GRUB_EHCI_SMASK_MASK): Likewise.
1911 (GRUB_EHCI_CMASK_OFF): Likewise.
1912 (GRUB_EHCI_SMASK_OFF): Likewise.
1913 (grub_ehci_pci_iter): Enable periodic schedule.
1914 (grub_ehci_parse_notrun): Likewise.
1915 (grub_ehci_restore_hw): Likewise.
1916 (grub_ehci_setup_qh): Set flags for low speed transfers.
1917 (grub_ehci_find_qh): Use periodic list for low speed.
1918 (grub_ehci_setup_transfer): Check periodic queue as well.
1919 (grub_ehci_check_transfer): Likewise.
1920 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1921
e12bcb1c
PFS
19222012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1923
1924 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1925 parameter is used.
1926
bcc75fb3
PJ
19272012-05-31 Peter Jones <pjones@redhat.com>
1928
1929 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1930 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1931 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1932
f19cb95e
VS
19332012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1936 uninited variable. Allocate at least setup_sects.
1937
a4e5ca80
VS
19382012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Fix handling of EFI with big memory maps.
1941
1942 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1943 (real_mode_mem): Likewise.
1944 (real_mode_target): Likewise.
1945 (real_mode_pages): Likewise.
1946 (prot_mode_pages): Likewise.
1947 (linux_params): New var.
1948 (linux_cmdline): Likewise.
1949 (free_pages): Don't set real mode variables.
1950 (allocate_pages): Don't allocate real mode memory.
1951 (grub_e820_add_region): Remove the limit.
1952 (grub_linux_boot): Allocate and copy real mode memory.
1953 (grub_linux_unload): Free linux_cmdline.
1954 (grub_cmd_linux): Use temporary storage for parameters.
1955 (grub_cmd_initrd): Likewise.
1956 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1957 (linux_kernel_params): Make it 1K big.
1958
ddb73558
VS
19592012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * Makefile.util.def: Remove -Wno-format.
1962 * grub-core/Makefile.core.def: Likewise.
1963
1c4afb60
VS
19642012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * tests/cmp_unit_test.c: Add missing failure message.
1967 * tests/example_unit_test.c: Likewise.
1968 * tests/printf_unit_test.c: Likewise.
1969
941e3a6d
VS
19702012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1973 relaxation of protective MBR requirements.
1974
b105df76
VS
19752012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * configure.ac: Add condition for COND_HOST_XNU.
1978 * Makefile.util.def (10_xnu): New script.
1979 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1980
84e1569e
VS
19812012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1984 objconv bug.
1985
130c0f77
VS
19862012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1989 Binary on other platforms stays identical.
1990
6fd0b143
VS
19912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1994 Apple.
1995
0af1751d
VS
19962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1999
176d5f7d
VS
20002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2003 rather than defining size_t ourselves to avoid conflict.
2004
7de5e20a
VS
20052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2008 initialisation to avoid __bzero reference.
2009
f7143efe
VS
20102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2013 version.
2014 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2015 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2016 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2017 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2018 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2019
e6ad0555
VS
20202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2023 * grub-core/kern/misc.c: Likewise.
2024 * grub-core/loader/i386/xnu.c: Likewise.
2025 * include/grub/i386/tsc.h: Likewise.
2026 * include/grub/symbol.h: Likewise.
2027
4a5a3c4a
VS
20282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2031 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2032 on older compiler.
2033
037f6d90
VS
20342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2037 Implement Apple flavour.
2038 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2039
f7194551
VS
20402012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2043 (memmove) [__APPLE__]: Likewise.
2044 (memcpy) [__APPLE__]: Likewise.
2045 (memset) [__APPLE__]: Likewise.
2046 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2047 (memmove) [__APPLE__]: Likewise.
2048 (memcpy) [__APPLE__]: Likewise.
2049 (memset) [__APPLE__]: Likewise.
2050
85a730ca
VS
20512012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2054 dependency discard.
2055
40e80b94
VS
20562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/normal/main.c (read_config_file): Provide config_file and
2059 config_directory.
2060 * util/grub.d/41_custom.in: Use config_directoy when available.
2061
9da59c32
VS
20622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2065 (grub_bfs_dir): Likewise.
2066
2787ae53
PJ
20672012-05-27 Peter Jones <pjones@redhat.com>
2068
2069 The old code gives arguments to a printf function which can't work
2070 correctly, and the compiler complains.
2071
2072 * grub-core/tests/example_functional_test.c (example_test): Add
2073 missing text.
2074 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2075 * include/grub/test.h (grub_test_assert_helper): New declaration.
2076 (grub_test_assert): Use grub_test_assert_helper.
2077
526ef13d
VS
20782012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2081 (exfctest): ... this to avoid overlong filenames.
2082 All users updated.
2083
20dd511c
VS
20842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 Handle "." and ".." on squashfs.
2087
2088 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2089 Make inode numbers into stack.
2090 (grub_squash_read_symlink): Use stack.
2091 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2092 (make_root_node): Fill stack.
2093 (grub_squash_open): Use stack.
2094
1d80c62a
VS
20952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2098 freeing.
2099
d336f652
VS
21002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2103 stderr on test calls.
2104
8b43f587
VS
21052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2108
80a3dc3f
VS
21092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2112
47e297d4
VS
21132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2116 "..".
2117
df042ccb
VS
21182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2121 (grub_hfsplus_iterate_dir): Add "." and "..".
2122
fc977f48
VS
21232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2126 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2127
f3250e5f
VS
21282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2131 (find_path): Handle "." and "..".
2132
fd8ed4c5
VS
21332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2136 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2137 (grub_affs_iterate_dir): Handle hardlinks.
2138
4ce776d2
MG
21392012-05-26 Matthew Garrett <mjg@redhat.com>
2140
2141 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2142 (grub_efi_console_fini): Likewise.
2143 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2144 (grub_video_gop_fill_mode_info): Rename to ...
2145 (grub_video_gop_fill_real_mode_info): ... this.
2146 (grub_video_gop_fill_mode_info): New function.
2147 (grub_video_gop_setup): Setup double framebuffer.
2148 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2149 Free offscreen.
2150 (grub_video_gop_swap_buffers): Copy framebuffer.
2151 (grub_video_gop_fini): Free offscreen buffer.
2152 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2153 New enum.
2154 (grub_efi_gop_blt_pixel): New struct.
2155
683031ba
VS
21562012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * gentpl.py: Remove error disabling for objconv.
2159
c2deb798
VS
21602012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * configure.ac: Remove -Wunitialized as it's not available on older
2163 compilers.
2164
21652012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
2166
2167 Fix extent overflow comparator.
2168
2169 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2170 (grub_hfsplus_read_block): Set type.
2171 (grub_hfsplus_cmp_extkey): Compare type.
2172
d6b1fd36
VS
21732012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2176
0a9aa0f6
VS
21772012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2180 than 0.
2181
8360e159
VS
21822012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2185 (dejavu_bold_14.pf2): New target.
2186
501b9e4b
VS
21872012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * configure.ac: Fix djvu font detection.
2190
7026b0e2
VS
21912012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2194 ext* instead of ext2.
2195
c2a51ade
VS
21962012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2199 name with \0.
2200
8f803a5d
JU
22012012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2202
2203 * docs/grub-dev.texi: Remove dot from .png.
2204
13c6353f
VS
22052012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2208 protective entry in any slot.
2209 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2210 if protective entry is found in any slot.
2211
2212 Protective entry in non-first slot make no sense but is a widespread
2213 brain damage.
2214
4cf6be1b
VS
22152012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2218
937d1c44
VS
22192012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2222 with old reiserfs.
2223 (grub_reiserfs_open): Don't free root.
2224
021d90ec
VS
22252012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2228 after freeing for safety.
2229
967b2b64
VS
22302012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2233 Reported by: Jordan Uggla.
2234
34274d02
JU
22352012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2236
967b2b64
VS
2237 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2238 actual implementation. Specifically, clarify that the grub menu will
2239 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2240 passed.
34274d02 2241
dcaaae9d
BH
22422012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2243
2244 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2245 of r0.
2246
7086ad52
VS
22472012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 Remove unjustified hard dependency of normal.mod on gfxterm.
2250
2251 * include/grub/term.h (grub_term_output): New member fullscreen.
2252 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2253 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2254 (grub_gfxterm): Set .fullscreen.
2255 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2256 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2257
37ed2c9b
VS
22582012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2261 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 2262 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 2263
a4469c88
VS
22642012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2267
4e461486
VS
22682012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2271 a bad FS.
2272
aa78f5c4
VS
22732012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2276 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2277
197626b5
VS
22782012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2281 (grub_jfs_mount): Fill caseins.
2282 (grub_jfs_find_file): Respect caseins.
2283
8ad3f28c
VS
22842012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2287 through UTF-16.
2288
0c6c324e
VS
22892012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2292 New argument origpath. All users updated.
2293
c6666ba6
VS
22942012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2297 (read_attr): Ensure that we read start of possibly compressed block.
2298
e28e5fe5
VS
22992012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2302 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2303 All users updated.
2304
5fc23ab2
VS
23052012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2308 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2309 (dejavu.pf2): Replace with ...
2310 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2311 this.
2312
79dbc21c
VS
23132012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * util/grub.d/20_linux_xen.in: Add missing line.
2316
d2fcfb0c
VS
23172012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2320 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2321 (grub_utf16_to_utf8): Likewise.
2322
5560e9d6
VS
23232012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2326 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2327 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2328 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2330 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2331
23322012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2333
2334 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2335 a bad FS.
2336
5560e9d6 23372012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2338
2339 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2340 (grub_udf_read_symlink): Handle read_string failure.
2341
5eae3175
VS
23422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2345 comment.
2346
c1ad82db
VS
23472012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 Fix handling of UDF symlinks.
2350
2351 * grub-core/fs/udf.c (read_string): New argument outbuf.
2352 All users updated.
2353 (grub_ufs_read_symlink): Rename to ...
2354 (grub_udf_read_symlink): ... this. All users updated.
2355 Handle symlinks with more than one component.
2356
33eca6e0
VS
23572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2360 symlinks. Replace leading colon with a slash.
2361
57f4a70b
VS
23622012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2365 filename.
2366
38c8ee20
VS
23672012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2370 match in inner node.
2371
2e57f28f
VS
23722012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2375 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2376 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2377 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2378 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2379 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2380 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2381 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2382 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2383
fe8c2f11
VS
23842012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Use grub-probe and not cmp to check that disk is empty.
2387
2388 * util/grub-install.in: Use grub-probe for zero-check.
2389 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2390 (probe): Handle PRINT_ZERO_CHECK.
2391 (argp_parser): Handle -t zero_check.
2392
23932012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2394
2395 Flush block cache on adding disk to device map.
2396
2397 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2398 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2399 adding.
2400 (read_device_map): Likewise.
2401 (open_device): Flush on opening.
2402
690434e8
VS
24032012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2406 (handle_symlink): Fix off-by-one error.
2407 Canonicalize the target.
2408 (grub_cpio_dir): Canonicalize the name.
2409 Fix memory leak.
2410 Set directory.
2411 (grub_cpio_open): Canonicalize the name.
2412
742d2be6
VS
24132012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2416 handling.
2417
3244fe96
VS
24182012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2421 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2422
8aeb1837
VS
24232012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2426 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2427 All users updated.
8aeb1837 2428
9133fd05
VS
24292012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2432 counterpart.
2433
6d521c5b
VS
24342012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 Fix UFS1 big file support.
2437
2438 * grub-core/fs/ufs.c (INODE): Removed.
2439 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2440 64-bit.
2441 (INODE_MODE): Simplify.
2442 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2443 (grub_ufs_lookup_symlink): Don't use INODE.
2444
21b82e17
VS
24452012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2448
2449 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2450 (grub_minix_data): Replace log_block_size with block_size.
2451 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2452 (grub_minix_mount): Fill block_size.
2453
24542012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2455
2456 * configure.ac: Bump to beta5.
2457
f417ed04
VS
24582012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 Fix wrapped HFS+ handling.
2461
2462 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2463 blocks_start. All users updated.
2464 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2465 wrapping offset.
2466 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2467
607d282b
VS
24682012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 Fix long symlinks on reiserfs.
2471
2472 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2473 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2474 (grub_reiserfs_iterate_dir): Save size for non-directories.
2475 (grub_reiserfs_open): Don't reread stat block as we already know the
2476 size.
2477 (grub_reiserfs_read): Split into...
2478 (grub_reiserfs_read_real): ... and ...
2479 (grub_reiserfs_read): ...this.
2480
ae16024d
VS
24812012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 Fix non-indexed JFS.
2484
2485 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2486 (grub_jfs_data): New field namecomponentlen.
2487 (grub_jfs_mount): Fill namecomponentlen.
2488 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2489
eea1e26e
VS
24902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2493 * tests/grub_script_echo1.in: Add tests.
2494
df760f77
VS
24952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * util/grub-install.in: Ignore empty devicetree directory.
2498
5efb817d
B
24992012-05-08 Bean <bean123ch@gmail.com>
2500
2501 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2502 All users updated.
2503 (free_rsm): Free header as well.
2504 (free_old_fragments): Fix memory leak.
2505 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2506 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2507 (destroy_pq): Likewise.
2508 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2509
668ea6d2
VS
25102012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2513 resulting hash as a precaution.
2514
1739b1fe
VS
25152012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2518 '_' in variable names.
2519 * grub-core/net/net.c (grub_net_network_level_interface_register):
2520 Likewise.
2521
6ae485aa
VS
25222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Fix AFFS with non-512B blocks.
2525
2526 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2527 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2528 (grub_affs_data): Replace blocksize with log_blocksize.
2529 (grub_affs_read_block): Fix non-512B blocks.
2530 (grub_affs_read_symlink): Likewise.
2531 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2532 (grub_affs_read): Fix non-512B blocks.
2533 (grub_affs_label): Likewise.
2534 (grub_affs_mtime): Likewise.
2535 (grub_affs_mount): Fix block detection routine.
2536
d20fab84
VS
25372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Add filesystem mtime to AFFS.
2540
2541 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2542 (aftime2ctime): New function.
2543 (grub_affs_dir): Use aftime2ctime.
2544 (grub_affs_label): Fix return value.
2545 (grub_affs_mtime): New function.
2546 (grub_affs_fs): Add mtime.
2547
e87b10f5
VS
25482012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2551 UTF-8.
2552
7dceec9b
VS
25532012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2556 UTF-8.
2557
2f48221f
VS
25582012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2561
dacd85cf
VS
25622012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2565 flags.
2566 (FLAGS_CASE_SENSITIVE): New enum value.
2567 (cache_entry): New struct.
2568 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2569 cache_size and cache.
2570 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2571 Add log_blocksize and fshelp_flags.
2572 (grub_sfs_read_extent): Handle non-512 blocks.
2573 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2574 (grub_sfs_read_file): Handle non-512 blocks.
2575 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2576 fshelp_flags.
2577 (grub_sfs_read_symlink): Handle non-512 blocks.
2578 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2579 (grub_sfs_dir): Free cache.
2580 (grub_sfs_close): Likewise.
2581
24e9a854
VS
25822012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2585 filesystems.
2586
62ace64d
VS
25872012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2590
83b2e89c
VS
25912012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2594
75ccaea3
VS
25952012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2598 (grub_sfs_read_extent): Likewise.
2599 (grub_sfs_read_block): Likewise.
2600 (grub_sfs_mount): Likewise.
2601 (grub_sfs_iterate_dir): Likewise.
2602 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2603 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2604
1b8463f2
VS
26052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Fix errors on compressed NTFS with 512B clusters.
2608
2609 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2610 types.
2611 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2612 not 0.
2613 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2614 Relax check for inline extents.
2615 (ntfscomp): Return correct -1 on error and not 0.
2616
4f8e368f
VS
26172012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * util/grub-install.in: Fix handling of prefix containing spaces.
2620
6f5d5ee8
VS
26212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2624 (grub_squash_read_data): Fix offset byte-swapping.
2625
ce41ab7a
VS
26262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2629 per common usage and preffered in several parts of code.
2630 (grub_memcmp): Likewise.
2631 (grub_strncmp): Likewise.
2632 * include/grub/misc.h (grub_strcasecmp): Likewise.
2633 (grub_strncasecmp): Likewise.
2634 * Makefile.util.def (cmp_test): New test.
2635 (grub_script_strcmp): Likewise.
2636 * tests/cmp_unit_test.c: New file.
2637 * tests/grub_script_strcmp.in: Likewise.
2638 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2639
49717bf4
VS
26402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * include/grub/pci.h: Move enums into no-asm part.
2643
0a308f64
VS
26442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2647
1796965f
ST
26482012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2649
2650 * util/getroot.c (find_hurd_root_device): Try to make error message
2651 and comments to translators clearer.
2652
4e9b2819
VS
26532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2656
076aeb50
VS
26572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2660 btrfs.
2661
19424d94
VS
26622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * docs/grub.cfg: Update.
2665
ebb73076
VS
26662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * docs/grub.texi (PXE): Remove not present variables.
2669
9a1b669c
VS
26702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/net/net.c (defserver_set_env): New function.
2673 (defserver_get_env): Likewise.
2674 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2675
d38bf7d3
VS
26762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2679 entries.
2680
26812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2682
2683 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2684 * grub-core/kern/emu/hostdisk.c: Likewise.
2685
e5e4ca48
ST
26862012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2687
2688 Handle hurd userspace partitions.
2689
2690 * util/getroot.c (find_hurd_root_device): New function.
2691 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2692
56bb5dd5
VS
26932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2696 names.
2697 Reported by: Bastian Blank.
2698
9e8bc27a
VS
26992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2702 crossing page boundary.
2703
aa01499d
VS
27042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 Fix B-tree search in BFS, especially in presence of non-ASCII
2707 characters.
2708
2709 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2710 (find_in_b_tree): Use standard bsearch + btree algorithm.
2711
57006035
VS
27122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2715 and so on.
2716
9d34bb85
MG
27172012-05-03 Matthew Garrett <mjg@redhat.com>
27182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Suspend broadcom cards in order to stop their DMA.
2721
2722 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2723 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2724 (pci): Don't build on x86 EFI.
2725 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2726 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2727 New function.
2728 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2729 stop_broadcom if running on EFI.
2730 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2731 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2732 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2733 (grub_pci_find_capability): New proto.
2734
01aab997
VS
27352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * docs/grub.texi: Remove dot from the extension as it apparently
2738 doesn't work with some makeinfo versions.
2739
fbd8dca6
VS
27402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2743 with GRUB expectance.
2744
dab797f4
VS
27452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2748
1516bfb4
VS
27492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2752 zero after directory block since last entry may be not 0-terminated if
2753 it ends on block boundary. Use continue instead of if spanning whole
2754 loop.
2755
a3a0eace
VS
27562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 Support 4K sectors UDF inline files.
2759
2760 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2761 (grub_udf_extended_file_entry): Likewise.
2762 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2763 All users updated.
2764 (get_fshelp_size): New function.
2765 (grub_udf_read_icb): Read whole block.
2766 (grub_udf_iterate_dir): Likewise.
2767 (grub_udf_dir): Likewise.
2768 (grub_udf_open): Likewise.
2769
c82f16c1
VS
27702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2773
59fd2aac
VS
27742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2777 inline symlinks in addition to workaround.
2778
3b4afb4d
VS
27792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2782
f45c794a
VS
27832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2786
f25cecbd
VS
27872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2790
bb9a34e8
VS
27912012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 Fix reiserfs big seek times.
2794
2795 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2796 exact. All users updated.
2797 (grub_reiserfs_read): Use nearest btree search for seeking.
2798 Fix return value on error.
2799
dc478aea
VS
28002012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2803 entries.
2804 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2805 * docs/grub.texi: Update menuentry description.
2806
8db10f47
VS
28072012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2810 crash when embedding onto filesystem.
2811
bcb288ed
VS
28122012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2815 name.
2816
a626fdd7
VS
28172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2820
b2f68477
VS
28212012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2824 commit.
2825
ba15b2af
B
28262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28272012-05-01 Bean <bean123ch@gmail.com>
2828
2829 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2830
a188012e
VS
28312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2834 Special behaviour for len = 0 to read whole file isn't used anywhere and
2835 can cause buffer ovewrflows in several places.
2836
f0a53ed2
VS
28372012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2840
5ed554f0
VS
28412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Handle RAIDZ on non-512B sectors.
2844
2845 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2846 max_children_ashift.
2847 (fill_vdev_info_real): Fill max_children_ashift.
2848 (read_device): Use max_children_ashift.
2849
ddc58357
VS
28502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2853
e3282399
VS
28542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2857 disk names.
2858 * docs/grub.texi: Update device.map parts.
2859
ee618bd4
VS
28602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 Don't scan into non-diskfilter devices having diskfilter names.
2863
2864 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2865 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2866 handling.
2867 (scan_disk_hook): New function.
2868
bdf88864
B
28692012-04-29 Bean <bean123ch@gmail.com>
2870
2871 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2872 allocation.
2873
32745f51
MK
28742012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2875
2876 * configure.ac: Detect starfield theme font path
2877 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2878
bc95c8c0
VS
28792012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2882 geometry on serial consoles.
2883
147fbcab
VS
28842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2887 because of network consoles.
2888
0f42c889
VS
28892012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2892 handling.
2893
4a3594c9
VS
28942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2897 falls on Q syndrom.
2898
5cb53879
VS
28992012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2902 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2903
b282dfe5
VS
29042012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2907 Allocate at lest 8192 for temporary buffer as required for lzo.
2908
daa59f47
VS
29092012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2912 to cluster_bits, since it's already added in.
2913 (grub_fat_read_data): Likewise.
2914
986748ce
VS
29152012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2918 as long as cluster size is multiple of 512 bytes.
2919
a20f6ad0
VS
29202012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * util/grub-mkrescue.in: Fix locale directory.
2923
385f9abb
VS
29242012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/kern/emu/hostdisk.c (map): Make static.
2927
1c557d30
B
29282012-04-23 Bean <bean123ch@gmail.com>
2929
2930 * util/grub-fstest.c (fstest): Add missing break.
2931
524b5d3a
ST
29322012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2933
2934 Fix hurd build.
2935
2936 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2937 not define nr variable.
fe4824e9 2938 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2939 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2940 grub_find_device): Do not define.
524b5d3a 2941
9a06490c
VS
29422012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 Fix kfreebsd compile and behaviour.
2945
2946 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2947 format-security.
2948 * util/getroot.c: Fix wait.h include.
2949 (grub_guess_root_devices): Error if grub_find_device fails.
2950 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2951 (grub_util_get_dev_abstraction): Likewise.
2952 (grub_util_pull_device): Likewise.
2953 (grub_util_get_grub_dev): Likewise.
2954 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2955
48143d96
VS
29562012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 Fix and unify wholedisk detection.
2959
2960 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2961 is_part. All users updated.
2962 (device_is_wholedisk): Removed.
2963 (grub_util_biosdisk_get_grub_dev): Use is_part.
2964
ebbd24f3
VS
29652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2968 mode.
2969
56f7aa1e
VS
29702012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * configure.ac: Bump to beta4.
2973
9c815e01
VS
29742012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2977 --fs-uuid --set UUID syntax.
2978
59e2651a
VS
29792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2982 disunification.
2983
54e03cfc
VS
29842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2987
81092a75
MK
29882012-04-18 Mads Kiilerich <mads@kiilerich.com>
2989
2990 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2991
f8315e14
MG
29922012-04-18 Mike Gilbert <floppym@gentoo.org>
2993
2994 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2995
1501ac21
B
29962012-04-18 Bean <bean123ch@gmail.com>
2997
2998 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2999 place.
3000
cb7f944e
VS
30012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3004 users updated.
3005 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3006 corresponding to GRUB partitions.
3007 (grub_util_biosdisk_write): Likewise.
3008
b72d44a1
VS
30092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 Scan mdraid before LVM.
3012
3013 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3014 (grub_diskfilter_register_front): ... this.
3015 (grub_diskfilter_register_back): New function.
3016 All users of grub_diskfilter_register updated.
3017
33d918b8
VS
30182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * util/grub-install.in: Fix an automatic target detection bug.
3021
c6ca973d
VS
30222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * util/grub-install.in: New option --efi-directory.
3025
b41be562
VS
30262012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3029 boot services if we have no other choice.
3030
30312012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3034 document it.
3035 * tests/util/grub-shell.in: Update to --directory.
3036
e0595a73
VS
30372012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3040
4ed80652
VS
30412012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3044 (grub_minix_read_file): Likewise.
3045 (grub_minix_read_inode): Likewise.
3046 (grub_minix_find_file): Likewise.
3047 (grub_minix_dir): Likewise.
3048
56008077
VS
30492012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * util/grub-setup.c (setup): Fix partition handling and blocklist
3052 check.
3053
ee520775
VS
30542012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3057 redundant buggy overlap check.
3058
16fc9293
VS
30592012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3062 and grub-mknetdir.
3063
9bab65c4
VS
30642012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3067 kh.loadflags on pre-2.00 kernels.
3068
3c491b47
VS
30692012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 Terminate UNDI and PXE before launching the payload to avoid problems
3072 with DMA.
3073
3074 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3075 (grub_loader_flags): ... this. All users updated.
3076 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3077 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3078 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3079 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3080 function.
3081 (grub_pxe_restore): Likewise.
3082 (fini_hnd): New var.
3083 (GRUB_MOD_INIT): Register shutdown hook.
3084 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3085 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3086 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3087 (grub_loader_set): Rename second argument to flags.
3088
851ffada
VS
30892012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3092 written bytes.
3093 (grub_get_num_of_utf8_bytes): New function.
3094 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3095 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3096 executing it.
3097 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3098 (grub_ucs4_to_utf8): Change return type.
3099
491c57a8
VS
31002012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3103 warning.
851ffada
VS
3104 * grub-core/fs/bfs.c (hop_level): Likewise.
3105 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 3106
756773df
VS
31072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/lib/adler32.c: Recode due to license unclearness.
3110
fd556a96
VS
31112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3114 (test_header): Likewise.
3115
9f9d3f69
VS
31162012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 Fix --help formatting.
3119
3120 * util/grub-mkconfig_lib.in (print_option_help): New function.
3121 (grub_fmt): Likewise.
3122 * util/grub-install.in: Use print_option_help and grub_fmt.
3123 * util/grub-kbdcomp.in: Likewise.
3124 * util/grub-mkconfig.in: Likewise.
3125 * util/grub-mknetdir.in: Likewise.
3126 * util/grub-mkrescue.in: Likewise.
3127 * util/grub-mkstandalone.in: Likewise.
3128 * util/grub-reboot.in: Likewise.
3129 * util/grub-set-default.in: Likewise.
3130 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3131
561ec77e
VS
31322012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * linguas.sh: Remove autogenerated *.po.
3135
7ec2b021
VS
31362012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * po/README: Move language fetcing to ...
3139 * linguas.sh: ... here.
3140 * po/README: Point to linguas.sh.
3141
a88f3270
VS
31422012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * po/README: Exclude ko.po due to disclaimer problems.
3145
d61357ce
VS
31462012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3149 len = 0.
3150 (grub_gettext_translate_real): Handle 0th string.
3151 (grub_gettext_translate): Ensure that "" isn't translated.
3152
505e41dc
VS
31532012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3156 TRANSLATORS comment.
3157 (grub_diskfilter_print_partmap): Propagate changing of error into
3158 warning.
3159
e44092db
VS
31602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3163 to uint64_t to prevent overflow.
3164 (grub_diskfilter_lv): Increase start_extent and extent_count
3165 to uint64_t to prevent overflow.
3166
9b83956a
VS
31672012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * configure.ac: Increase version.
3170
da0d5b3f
VS
31712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3174
3175 * po/Rules-translit: New file.
3176 * po/arabic.sed: Likewise.
3177 * po/cyrillic.sed: Likewise.
3178 * po/greek.sed: Likewise.
3179 * po/hebrew.sed: Likewise.
3180 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3181 * po/Makefile.in.in: Add extra_dist4.
3182
ac66b453
VS
31832012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3186
3187 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3188 modify names. Introduce MODE_BIGENDIAN.
3189 * grub-core/fs/minix_be.c: New file.
3190 * grub-core/fs/minix2_be.c: Likewise
3191 * grub-core/fs/minix3_be.c: Likewise.
3192 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3193 minix3_be.
3194 * grub-core/Makefile.core.def (minix_be): New module.
3195 (minix2_be): Likewise.
3196 (minix3_be): Likewise.
3197
31982012-04-01 Felix <email@hamburg.de>
3199
3200 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3201 (devs): Add MBP 2011.
3202
0a2d5a82
VS
32032012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3206
d1625889
VS
32072012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/normal/cmdline.c (print_completion): New field
3210 prompt_len.
3211 (grub_cmdline_get): Handle width properly.
3212
6d36a236
VS
32132012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3216
9576977e
VS
32172012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 3220 after 29th of February.
9576977e 3221
d73ff15d
VS
32222012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 Fix exfat endianness handling.
3225
3226 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3227 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3228 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3229 Byte-swap utf16 when necessary.
3230 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3231
bbb39a45
AB
32322012-03-31 Anton Blanchard <anton@samba.org>
32332012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 Fix btrfs endianness handling.
3236
3237 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3238 (lower_bound): Make root uint64_t. Use root in le.
3239 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3240 (find_path): Fix template key init.
3241 (grub_btrfs_dir): Fix mtime byteswap.
3242 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3243
354e0af7
VS
32442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3247 recursion_depth. Break infinite resursions. All users updated.
3248
4e75f21c
VS
32492012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3252 after free.
3253 Reported by: Peter Jones.
3254
25581802
AB
32552012-03-31 Anton Blanchard <anton@samba.org>
3256
3257 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3258 8 bit values.
3259
08fbf92e
VS
32602012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * util/grub-install.in: Fix nvram call for PreP.
3263
5d1182a6
VS
32642012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3267 the error when some elements are missing into a warning.
3268
3f8cdd90
VS
32692012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3272
51006716
CW
32732012-03-28 Colin Watson <cjwatson@ubuntu.com>
3274
3275 * docs/grub.texi (Invoking grub-probe): New section.
3276 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3277
e1bd676b
VS
32782012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 Fix tab and wide character handling in editor and menu.
3281
3282 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3283 agglomerate control characters with combining marks.
3284 (bidi_line_wrap): Allow break on tab.
3285 (grub_unicode_get_comb_start): New function.
3286 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3287 and tab correctly.
3288 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3289 with a space.
3290 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3291 fixed_tab_size. All users updated.
3292 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3293 (grub_term_getcharwidth): Handle \t.
3294 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3295 and copy.
3296
22e6a774
VS
32972012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 Handle big-endian mdraid.
3300
3301 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3302 * grub-core/Makefile.core.def (mdraid09_be): New module.
3303 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3304 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3305 * grub-core/disk/mdraid_linux_be.c: New file.
3306
3c0eae66
VS
33072012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3310
b6cf74c9
VS
33112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3314 missing quotes which caused confusion among translators.
3315
83c93b9c
VS
33162012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/grub-mkconfig_lib.in: Fix typo.
3319
ac6fd218
VS
33202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3323 spaces.
3324 * tests/grub_script_leading_whitespace.in: New file.
3325 * Makefile.util.def (grub_script_leading_whitespace): New test.
3326
ba287dd8
VS
33272012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3330 to work.
3331
d2d58d0a
VS
33322012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3335 starts with control character.
3336
0382d9bb
VS
33372012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3340 overflow.
3341 (grub_gdb_outbuf): Likewise.
3342
d83ff9f9
VS
33432012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3346 zero terminator. Fixes a crash.
3347
2282da4a
VS
33482012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3351 beyond 4 GiB.
3352 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3353 images independently of preffered adderss field.
3354
0ae4f0bd
VS
33552012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3358 * grub-core/commands/regexp.c: Likewise.
3359 * grub-core/loader/i386/linux.c: Likewise.
3360 * grub-core/partmap/msdos.c: Likewise.
3361 * grub-core/script/execute.c: Likewise.
3362 * grub-core/term/gfxterm.c: Likewise.
3363
546fbe9b
VS
33642012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 Add variable parsing in $"..." and fix several mismatches with bash.
3367
3368 * Makefile.util.def (grub_script_gettext): New test.
3369 * grub-core/script/execute.c (parse_string): New function.
3370 (gettext_append): Likewise.
3371 (grub_script_arglist_to_argv): Use gettext_append.
3372 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3373 * tests/grub_script_gettext.in: New file.
3374
9fdb2d7b
VS
33752012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 Fix handling of leading spaces in scripts.
3378
3379 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3380 spaces.
3381 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3382 other than skipping \r. All users updated.
3383 * tests/grub_script_echo1.in: Add space-related tests.
3384 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3385
1a1ac4f6
VS
33862012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3389
b63d89b6
VS
33902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * configure.ac: Bump up the version to beta2.
3393
17f38c0f
VS
33942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 Fix gettext reload bugs (e.g. inability to disable gettext
3397 once enabled).
3398
3399 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3400 main_context and secondary_context. All functions updated.
3401 (grub_gettext_translate): Rename to ...
3402 (grub_gettext_translate_real): ... this. Return NULL on failed
3403 translate.
3404 (grub_gettext_translate): Handle secondary context.
3405 (grub_gettext_delete_list): Close file and zero-out the context.
3406 (grub_mofile_open): Don't call grub_gettext_delete_list.
3407 Don't close file.
3408 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3409 if locale="" to avoid pointless error message.
3410 (grub_gettext_env_write_lang): Update lang even if load fails.
3411 Handle secondary context.
3412 (grub_gettext_reread_prefix): New function.
3413 (read_main): Likewise.
3414 (read_secondary): Likewise.
3415 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3416 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3417 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3418 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3419
8e56f870
VS
34202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * configure.ac: Decrease warning level to avoid spurious warnings and
3423 to be able to compile with GCC 4.2.
3424 * Makefile.util.def: Remove -Wno-error=logical-op.
3425
82f6d455
WB
34262012-03-10 William Bittner <william.bittner@gmail.com>
3427
3428 * util/import_unicode.py: Add missing brackets around string for
3429 python 3 support.
3430
1ecd61a4
VS
34312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 Fix efi chainloader on network root.
3434
3435 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3436 network devices.
3437 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3438 New function.
3439
14361ee8
VS
34402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3443 unused show_text member.
3444 * docs/grub.texi: Document "text" property.
3445
922aabf3
VS
34462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3449 in dprintf.
3450
ec316771
VS
34512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Fix IMSM handling on Fedora.
3454
3455 * util/getroot.c (grub_util_is_imsm): New function.
3456 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3457
0f021838
VS
34582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * Makefile.am: Strip gold section.
3461 * conf/Makefile.common: Likewise.
3462 * gentpl.py: Likewise.
3463 * grub-core/Makefile.core.def: Likewise.
3464 * grub-core/genmod.sh.in: Likewise.
3465
1039c8eb
VS
34662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3469 * util/grub.d/20_linux_xen.in: Likewise.
3470 Based on Debian patch.
3471
6dd412cd
VS
34722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * util/grub.d/10_linux.in: Fix syntax error resulting in
3475 Richard Laager's patch.
3476 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3477
3fd8bae5
VS
34782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3481 dependencies.
3482
7eea1671
RL
34832012-03-10 Richard Laager <rlaager@wiktel.com>
3484
3485 * util/grub.d/10_linux.in: Fix ZFS root passing.
3486
e8e0566b
VS
34872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3490 * grub-core/commands/xnu_uuid.c: Likewise.
3491 * grub-core/loader/efi/appleloader.c: Likewise.
3492 * grub-core/script/execute.c: Likewise.
3493 * grub-core/script/main.c: Likewise.
3494 * util/grub-mkfont.c: Likewise.
3495
1acc5b1f
VS
34962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * util/grub-mkfont.c (options): Use more appropriate "select" that
3499 "set" for face index.
3500
35d70620
VS
35012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * util/grub-editenv.c (options): Gettextize command summaries.
3504
c9eb96b5
VS
35052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3508 "out of memory" error messagge.
3509
1f493136
VS
35102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3513 of diskfilter for diskfilter on diskfilter support.
3514
6d790129
VS
35152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3518
005f46c9
VS
35192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3522 themes/starfield.
3523
c8f778a0
VS
35242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3527
de1e64eb
VS
35282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3531
c6d54211
VS
35322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3535 of error message.
3536
dd390777
VS
35372012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3540
5fd1c522
VS
35412012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3544 message.
c6d54211 3545 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3546
fae01f6c
VS
35472012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3550 Gettextize.
3551 * util/grub-mount.c (options): Likewise.
3552
292fdaff
VS
35532012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3556 gettextize.
3557 * grub-core/commands/search_wrap.c (options): Likewise.
3558
ecdbae77
VS
35592012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3562
52bfedfa
VS
35632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3566 size calculation.
3567 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3568 none is known.
3569
55b20e58
VS
35702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3573 "temporary" since it's used in identifier and is limited in space.
3574
fda9d101
VS
35752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * po/POTFILES.in: Regenerate. Include *.h since they contain
3578 translatable strings as well.
3579
6a0295e2
VS
35802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3583 byte-swap on big-endian.
3584 Reported by: Lennart Sorensen
3585
807fb77c
VS
35862012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3589 (allocate_pages): Improve dprintf.
3590 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3591 code32_start. Fill code32_start and kernel_alignment in params.
3592 (grub_cmd_initrd): Use prot_init_space.
3593
61ac50ba
VS
35942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3597
abdd26dd
VS
35982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * util/grub-install.in: Add missing dot at the end of sentence.
3601
6e69da9c
VS
36022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3605 * grub-core/commands/videotest.c: Likewise.
3606 * grub-core/loader/i386/linux.c: Likewise.
3607
4a929343
VS
36082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3611 sentence.
3612 Reported by: Milo Casagrande.
3613
bb51c6c6
VS
36142012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3617 * grub-core/commands/gptsync.c: Likewise.
3618 * grub-core/commands/hashsum.c: Likewise.
3619 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3620 * grub-core/commands/legacycfg.c: Likewise.
3621 * grub-core/io/gzio.c: Likewise.
3622 * grub-core/net/net.c: Likewise.
3623 * grub-core/term/gfxterm.c: Likewise.
3624 * grub-core/term/terminfo.c: Likewise.
3625 * grub-core/tests/test_blockarg.c: Likewise.
3626 * grub-core/video/video.c: Likewise.
3627 * util/grub-install.in: Likewise.
3628 * util/grub-mkfont.c: Likewise.
3629
b2b149cb
VS
36302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3633
c7c080ad
VS
36342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3637 Reported by: David Prévot.
c7c080ad 3638
f2e243c0
VS
36392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3642 description.
3643
09963c76
VS
36442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * util/grub-script-check.c (main): Fix a syntax error message which was
3647 unclear.
3648
a50514a8
VS
36492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3652
4650daec
VS
36532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3656 messages.
3657
36582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3659
3660 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3661 without argument.
3662 * util/grub-mount.c (options): Likewise.
3663
bbc5a342
VS
36642012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3667
ef292a87
VS
36682012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/net/http.c: Add TRANSLATORS comments.
3671 * grub-core/normal/cmdline.c: Likewise.
3672 * grub-core/normal/misc.c: Likewise.
3673 * grub-core/partmap/msdos.c: Likewise.
3674 * grub-core/parttool/msdospart.c: Likewise.
3675 * grub-core/script/execute.c: Likewise.
3676 * grub-core/script/main.c: Likewise.
3677 * grub-core/term/terminfo.c: Likewise.
3678 * grub-core/video/bitmap.c: Likewise.
3679 * util/grub-install.in: Likewise.
3680 * util/grub-mkimage.c: Likewise.
3681 * util/grub-mklayout.c: Likewise.
3682 * util/grub-setup.c: Likewise.
3683
0fc19bd0
VS
36842012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3687 with similar messages in grub-fstest.
3688
d95862ef
VS
36892012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * util/grub-install.in: Unify "option requires an argument" message
3692 with similar messages in other files.
3693 * util/grub-mkconfig.in: Likewise.
3694
b7308f90
VS
36952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/grub-set-default.in: Replace printf with gettext_printf (the
3698 string in in question is already translated from grub-reboot)
3699
559dc587
VS
37002012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * configure.ac: Bump up the version to beta1.
3703
1a11761f
VS
37042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3707 case when min_align = 0.
3708
24539abd
VS
37092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3712 and fix a case when line_start overflows.
3713
32bd735b
VS
37142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * util/grub-reboot.in (usage): Mention id posibility.
3717 * util/grub-set-default.in (usage): Likewise.
3718
1a2fd1e6
VS
37192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3722 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3723 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3724 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3725 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3726 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3727 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3728
90eeab76
VS
37292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * grub-core/commands/menuentry.c (options): Remove
3732 GRUB_ARG_OPTION_REPEATABLE.
3733 Reported by: Andreas Vogel
3734
5ad1be82
AV
37352012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3736
3737 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3738
cb055286
HE
37392012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3740
3741 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3742 error.
3743
93b1cd79
VS
37442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 Use sort -V by the idea of Georgi Georgiev.
3747
3748 * util/grub-mkconfig_lib.in (version_sort): New function.
3749 (version_test_numeric): Use version_sort.
3750
0cdc126c
VS
37512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 Use submenus in grub-mkconfig.
3754
3755 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3756 * util/grub-mkconfig_lib.in (grub_quote): New function.
3757 (gettext_printf): Use gettext and not gettext_quoted to fix several
3758 messages.
3759 * util/grub.d/10_hurd.in: Use submenus.
3760 * util/grub.d/10_kfreebsd.in: Likewise.
3761 * util/grub.d/10_linux.in: Likewise.
3762 * util/grub.d/10_netbsd.in: Likewise.
3763 * util/grub.d/20_linux_xen.in: Likewise.
3764 * util/grub.d/30_os-prober.in: Likewise.
3765 * util/grub.d/10_illumos.in: Add missing quoting.
3766 * util/grub.d/10_windows.in: Likewise.
3767
d9bef9bc
VS
37682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Fix menu title instability bug.
3771
3772 * grub-core/commands/menuentry.c (options): New option --id.
3773 (grub_normal_add_menu_entry): New argument id. All users updated.
3774 (grub_cmd_menuentry): Handle --id.
3775 (grub_menu_init): Accept unknown arguments.
3776 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3777 feature_menuentry_options.
3778 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3779 saved_entry.
3780 (get_entry_number): Match with id as well.
3781 * include/grub/menu.h (grub_menu_entry): New member id.
3782 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3783 * util/grub.d/00_header.in: Define menuentry_id_option.
3784 * util/grub.d/10_hurd.in: Define id.
3785 * util/grub.d/10_illumos.in: Likewise.
3786 * util/grub.d/10_kfreebsd.in: Likewise.
3787 * util/grub.d/10_linux.in: Likewise.
3788 * util/grub.d/10_netbsd.in: Likewise.
3789 * util/grub.d/10_windows.in: Likewise.
3790 * util/grub.d/20_linux_xen.in: Likewise.
3791 * util/grub.d/30_os-prober.in: Likewise.
3792
37932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3794
3795 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3796 "scope" with "body".
3797
7c8d0ce7
VS
37982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3801 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3802 prot_size and prot_file_size.
3803
49de079b
VS
38042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3807 All users updated. If easily=1 require raid-5/-6 to be full.
3808 (is_node_readable): Likewise.
3809 (scan_devices): Scan incomplete but readable LVs at the end.
3810 (grub_diskfilter_memberlist): Pull missing devices.
3811 (insert_array): Skip scanning until device is complete or scan is
3812 done otherwise.
3813 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3814 check.
3815 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3816 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3817
aff05d45
MG
38182012-03-03 Matthew Garrett <mjg@redhat.com>
38192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Avoid EFI boot services when loading Linux.
3822
3823 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3824 avoid_efi_bootservices. All users updated.
3825 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3826 argument avoid_efi_bootservices. All users updated.
3827 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3828 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3829 align, min_align, relocatable, prefered_address. All users updated.
3830 Allocate avoiding boot services if kernel is relocatable.
3831 (grub_cmd_linux): Check if kernel is relocatable.
3832 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3833 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3834 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3835 avoid_efi_boot_services.
3836 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3837 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3838 (linux_kernel_params): Likewise.
3839
3935dde2
MG
38402012-03-03 Matthew Garrett <mjg@redhat.com>
38412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 Use EDID on EFI.
3844
3845 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3846 datasize_out.
3847 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3848 modes. Set gop_handle.
3849 (grub_video_gop_get_edid): New function.
3850 (grub_gop_get_preferred_mode): Likewise.
3851 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3852 (grub_video_efi_gop_adapter): Set .get_edid.
3853 * include/grub/efi/edid.h: New file.
3854 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3855
32107ec0
VS
38562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * util/grub-install.in: Load efivars unconditionally.
3859
e70a2c50
VS
38602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 * po/Rules-piglatin: Change suffix from .po-update-en to
3863 .po-update-en-piglatin.
3864
8f9cace1
VS
38652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 Add a pig farm.
3868
3869 * po/piglatin.sed: New file.
3870 * po/en@piglatin.header: Likewise.
3871 * po/Rules-piglatin: Likewise.
3872 * po/README: Add en@piglatin to autogenerated languages.
3873
8f95d002
VS
38742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3877 "Command for ...".
3878 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3879 "Check" since we don't check anything.
3880 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3881 is 64-bit one.
3882 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3883 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3884 (grub_md_sha512_real): Likewise.
3885
805a8dcc
VS
38862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/commands/gptsync.c: Fix typographic quoting.
3889 * grub-core/commands/ieee1275/suspend.c: Likewise.
3890 * grub-core/commands/parttool.c: Likewise.
3891 * grub-core/commands/search_wrap.c: Likewise.
3892 * grub-core/commands/videoinfo.c: Likewise.
3893 * grub-core/gfxmenu/gui_label.c: Likewise.
3894 * grub-core/hello/hello.c: Likewise.
3895 * grub-core/kern/emu/main.c: Likewise.
3896 * grub-core/net/net.c: Likewise.
3897 * grub-core/normal/menu.c: Likewise.
3898 * grub-core/normal/menu_text.c: Likewise.
3899 * grub-core/normal/misc.c: Likewise.
3900 * util/grub-editenv.c: Likewise.
3901 * util/grub-install.in: Likewise.
3902 * util/grub-kbdcomp.in: Likewise.
3903 * util/grub-mkconfig.in: Likewise.
3904 * util/grub-mknetdir.in: Likewise.
3905 * util/grub-mkrescue.in: Likewise.
3906 * util/grub-mkstandalone.in: Likewise.
3907 * util/grub-reboot.in: Likewise.
3908 * util/grub-set-default.in: Likewise.
3909 * util/grub-setup.c: Likewise.
3910 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3911
40211ab8
VS
39122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3915 * grub-core/commands/keystatus.c: Likewise.
3916 * grub-core/commands/loadenv.c: Likewise.
3917 * grub-core/commands/probe.c: Likewise.
3918 * grub-core/commands/regexp.c: Likewise.
3919 * grub-core/commands/true.c: Likewise.
3920 * grub-core/commands/videoinfo.c: Likewise.
3921 * grub-core/disk/cryptodisk.c: Likewise.
3922 * grub-core/disk/ldm.c: Likewise.
3923 * grub-core/disk/loopback.c: Likewise.
3924 * grub-core/disk/luks.c: Likewise.
3925 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3926 * grub-core/kern/disk.c: Likewise.
3927 * grub-core/kern/emu/hostdisk.c: Likewise.
3928
0c7d99c7
VS
39292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3932 * util/grub-install.in: Add missing quote in the comment.
3933
e7d2559b
VS
39342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3937 * grub-core/commands/lsmmap.c: Likewise.
3938 * grub-core/commands/minicmd.c: Likewise.
3939 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3940 * grub-core/commands/regexp.c: Likewise.
3941 * grub-core/gdb/gdb.c: Likewise.
3942 * grub-core/term/gfxterm.c: Likewise.
3943 * util/grub-mkconfig.in: Likewise.
3944 * util/grub-mkfont.c: Likewise.
3945 * util/grub-mklayout.c: Likewise.
3946 * util/grub-mknetdir.in: Likewise.
3947 * util/grub-mkrescue.in: Likewise.
3948 * util/grub.d/30_os-prober.in: Likewise.
3949
49ce9e50
VS
39502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3953 with "Direct color" and "Packed" with "Packed pixel".
3954 (grub_cmd_videoinfo): Simplify legend.
3955
e4b791fa
VS
39562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3959 absolutely unclear error message.
3960
fd1265cb
VS
39612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * util/grub-mkstandalone.in: Remove confusing leftover print.
3964
8822a8a0
VS
39652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3968 comments.
3969 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3970 (GRUB_MOD_INIT): Likewise.
3971 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3972 VGA mode.
3973 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3974 comments.
3975 * util/grub-install.in (usage): Likewise.
3976 Spell ID in whole letters.
3977 Add missing ending dot.
3978 Quote variables.
3979 * util/grub-reboot.in: Fix capitalisation.
3980 * util/grub-set-default.in: Likewise.
3981
937fd0cc
VS
39822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3985 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3986 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3987 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3988 Disable -Werror for -Wdeprecated-declarations.
3989 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3990 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3991 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3992 (grub_util_get_grub_dev): Make luks handling dependent on
3993 HAVE_DEVICE_MAPPER and not __linux__.
3994 (get_win32_path): Fix format security.
3995 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3996 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3997 Don't try grub_find_zpool_from_dir.
3998 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3999 #ifdef-out paresdir.
4000
1bab1ae3
VS
40012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * util/grub-pe2elf.c (usage): Add missing noreturn.
4004 (write_section_data): Rename name to shname to avoid shadowing.
4005 (write_symbol_table): Rename name to symname to avoid shadowing.
4006 Fix write_reloc_section call.
4007
ef023e42
VS
40082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4011 to ensure that it's after the last byte of .text.
4012
48afcb75
VS
40132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * util/ieee1275/ofpath.c (my_isdigit): New function.
4016 (trailing_digits): Use my_isdigit.
4017 (strip_trailing_digits): Likewise.
4018
88d51eff
VS
40192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4022 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4023
17edc2ba
VS
40242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/kern/i386/pc/startup.S: Define __start.
4027
ad5518d7
VS
40282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4031 strip already transforms he format.
4032
9e95e1bf
VS
40332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4036
9cc3ee5c
VS
40372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * util/grub-install.in: Add missing gettext init.
4040 * util/grub-kbdcomp.in: Likewise.
4041 * util/grub-mkconfig.in: Likewise.
4042 * util/grub-mknetdir.in: Likewise.
4043 * util/grub-mkrescue.in: Likewise.
4044 * util/grub-mkstandalone.in: Likewise.
4045 * util/grub-reboot.in: Likewise.
4046 * util/grub-set-default.in: Likewise.
4047 * util/grub.d/00_header.in: Likewise.
4048 * util/grub.d/10_hurd.in: Likewise.
4049 * util/grub.d/10_windows.in: Likewise.
4050 * util/grub.d/30_os-prober.in: Likewise.
4051 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4052
49e08a06
VS
40532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * po/Rules-swiss: Fix header comment.
4056
3809cb41
AV
40572012-02-29 Andreas Vogel <anvoit>
4058
4059 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4060 resulted in leak of arguments.
4061
fa6ec573
VS
40622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4065 reed_solomon_size const definition instead of computing it since
4066 Apple assembler doesn't support the later.
4067
22899b9c
VS
40682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * gentpl.py (kernel): Rewrite Apple part.
4071
a132afc3
VS
40722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4075
9d742bd4
VS
40762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4079 ELF section gap.
4080 (load_image): Likewise.
4081
f04a9a21
VS
40822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * configure.ac: Fix a typo in previous commit.
4085
46cf439c
VS
40862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Don't add -Wl,-N on Apple platform.
4089
4090 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4091 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4092
c4c48c54
VS
40932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/Makefile.core.def (lzma_decompress): Use
4096 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4097
31a12124
VS
40982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * grub-core/genmod.sh.in: Rewrite the Apple part.
4101
4f3aa1af
VS
41022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4105 comparison.
4106
7bd8b0c7
VS
41072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * acinclude.m4 (grub_CHECK_PIC): New test.
4110 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4111
97304d7c
VS
41122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4115 to avoid the warning.
4116
fb883812
VS
41172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4120 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4121 after. All users updated.
4122
a121c964
VS
41232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Use the common size routine in hostfs so we can read disks as well.
4126
4127 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4128 (grub_util_get_fd_size): ... this. Return size in bytes.
4129 All users updated.
4130 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4131 grub_util_get_fd_size.
4132
c66d6410
VS
41332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4136 Add blocksize retrieval.
4137
dfc8aeb0
VS
41382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * configure.ac: Restore CFLAGS after efiemu check.
4141
403e25a5
VS
41422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4145 Apple bug.
4146
382775d1
VS
41472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4150
6fd4e6e4
VS
41512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4154 (grub_cmd_halt): Likewise.
4155
bea359d6
VS
41562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4159 for local arithmetics.
4160 Break %sp init into 2 instructions.
4161 Add 0 byte at the end.
4162
32eb6ee1
VS
41632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4166 before loops.
4167
e8377389
VS
41682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4171 for context.
4172
8cb17de7
VS
41732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/disk/ldm.c (make_vg): Init part.name.
4176 (grub_ldm_detect): Silence spurious warning.
4177 (grub_util_is_ldm): Likewise.
4178
595717e6
VS
41792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4182 sane value to avoid a spurious warning.
4183
c4b7e588
VS
41842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4187 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4188
59824957
VS
41892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4192 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4193
70115b99
VS
41942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4197 hardcoding the relevant info.
4198
56733740
VS
41992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4202 missing const qualifiers.
4203 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4204
43481481
VS
42052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * util/getroot.c [__APPLE__]: Add missing includes.
4208 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4209
3cb38f01
VS
42102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4213
d9dbf11e
VS
42142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4217 avoid conflicts.
4218
0c42a45d
VS
42192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4222
46c34eb0
VS
42232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4226 and grub_file_close call.
4227
99ce1597
VS
42282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Add LZSS Mach-O support (needed for new xnu kernelcache).
4231
4232 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4233 * grub-core/loader/lzss.c: New file.
4234 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4235 on Mach-O open failure.
4236 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4237 Don't free cmdsXX in uncompressedXX is set.
4238 (grub_macho_file): Init new fields.
4239 New argument is_64bit. All users updated.
4240 Handle compressed. Error out if no suitable architecture is found.
4241 Don't close file.
4242 (grub_macho_open): New argument is_64bit. All users updated.
4243 * grub-core/loader/macho32.c: Add defines for new fields.
4244 * grub-core/loader/macho64.c: Likewise.
4245 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4246 (grub_macho_parse): Handle compressed.
4247 Defer actual processing if compressed.
4248 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4249 "filename". All users updated.
4250 (grub_macho_size): New argument "filename". All users updated.
4251 (grub_macho_get_entry_point): Likewise.
4252 (grub_macho_load): Handle compressed.
4253 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4254 (GRUB_MACHO_LZSS_OFFSET): New define.
4255 (grub_decompress_lzss): New proto.
4256 * include/grub/machoload.h (grub_macho_file): New fields to handle
4257 compressed.
4258 (grub_macho_contains_macho64): Remove proto.
4259 (grub_macho_contains_macho32): Likewise.
4260 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4261
ebd17d6f
VS
42622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4265
2702b4e4
VS
42662012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Fix make dist.
4269
4270 * Makefile.am (starfield_theme_files): New var.
4271 (starfield_DATA): Use starfield_theme_files.
4272 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4273 Add bootcheck-related files.
4274 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4275 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4276 and font_char_metrics.txt.
4277 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4278 (setjmp): Add lib/ia64/longjmp.S.
4279 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4280 * po/POTFILES.in: Regenerate.
4281 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4282 DISTFILES.common.extra1.
4283 * util/devicemap.c: Removed.
4284 * grub-core/lib/i386/relocator_backward.S: Likewise.
4285 * util/import_gcry.py: Remove unused files. Add extra_dist for
4286 ChangeLog.
4287
cf1adfdf
VS
42882012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4291 grub_gettext_delete_list before changing grub_gettext_max to avoid
4292 running out of array bounds.
4293
42942012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
4295
4296 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4297 grub_vga_text_init/grub_vga_text_fini.
4298
cf1adfdf 42992012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
4300
4301 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4302
541d92e9
VS
43032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * configure.ac: Bump to 2.00~beta0.
4306
7931dddf
VS
43072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4310 missing initialisation.
4311
f1b16fa3
VS
43122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4315
83ddae23
VS
43162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 Support v2 xnu boot arguments.
4319
4320 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4321 New argument fsbfreq_out.
4322 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4323 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4324 be used.
4325 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4326 darwin_version.
4327 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4328 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4329 (grub_xnu_boot_params): Rename to ...
4330 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4331 (grub_xnu_boot_params_v2): New struct.
4332
dc693fe6
VS
43332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4336 zeroing of CRC field before computing CRC.
4337
5a6e39c2
VS
43382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4341 Change order of allocations to decrease fragmentation.
4342
6c21f5d7
VS
43432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4346
cfe456dc
CW
43472012-02-27 Colin Watson <cjwatson@ubuntu.com>
4348
4349 Use write-combining MTRR to speed up video with buggy BIOSes.
4350
4351 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4352 (cpuid): New define.
4353 (rdmsr): Likewise.
4354 (wrmsr): Likewise.
4355 (mtrr_base): Likewise.
4356 (mtrr_mask): Likewise.
4357 (grub_vbe_enable_mtrr_entry): New function.
4358 (grub_vbe_enable_mtrr): Likewise.
4359 (grub_vbe_disable_mtrr): Likewise.
4360 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4361 control off to BIOS.
4362 (grub_video_vbe_init): Fill mtrr.
4363 (grub_video_vbe_fini): Disable mtrr.
4364 (grub_video_vbe_get_info_and_fini): Likewise.
4365 (grub_video_vbe_setup): Enable mtrr.
4366
e3c78337
CW
43672012-02-27 Colin Watson <cjwatson@ubuntu.com>
4368
4369 * include/grub/partition.h (grub_partition_map): Change prototype of
4370 embed to take a maximum value for nsectors.
4371 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4372 * include/grub/fs.h (grub_fs): Likewise.
4373 * grub-core/partmap/msdos.c (embed_signatures): New array.
4374 (pc_partition_map_embed): Check for and avoid sectors matching any
4375 of the signatures in embed_signatures, up to max_nsectors.
4376 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4377 returned sector map to max_nsectors.
4378 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4379 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4380 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4381 * util/grub-setup.c (setup): Allow for the embedding area being
4382 split into multiple blocklists. Tell dest_partmap->embed the
4383 maximum number of sectors we care about.
4384
43852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4388 Specify blocklist_install and reserver_first_sector for all fs.
4389 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4390 blocklists.
4391
984b973f
VS
43922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * util/grub-install.in: Clarify strings.
4395 Fix source dir check.
4396
f122e0d6
RL
43972012-02-27 Richard Laager <rlaager@wiktel.com>
4398
4399 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4400 "zfs" and "fuse.zfs" as synonyms.
4401
071114bb
VS
44022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * configure.ac: Put platform and target_cpu substitutions back since
4405 they are used for directories.
4406
817e6abc
RL
44072012-02-27 Richard Laager <rlaager@wiktel.com>
44082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4411 * util/grub.d/20_linux_xen.in: Likewise.
4412
897b7419
RL
44132012-02-27 Richard Laager <rlaager@wiktel.com>
4414
4415 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4416 with full paths.
4417
a414bd15
RL
44182012-02-27 Richard Laager <rlaager@wiktel.com>
4419
4420 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4421 unescape.
4422
30ac48c4
VS
44232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Don't use insecure popen in getroot.
4426
4427 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4428 (exec_pipe): ... here.
4429 (find_root_devices_from_poolname): Use exec_pipe.
4430
53f13848
VS
44312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 Remove platform and target_cpu replacement.
4434
4435 * configure.ac: Remove platform and target_cpu substitutions.
4436 * tests/util/grub-shell.in: Use modinfo.
4437 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4438 explicitly.
4439
90cb2803
VS
44402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 Autodetect platform in grub-install but allow override.
4443
4444 * util/grub-install.in: Autodetect platform. Support --target and
4445 --directory. Read platform from modinfo.sh.
4446
b9136427
VS
44472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 Support btrfs multi-volume probe.
4450
4451 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4452 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4453 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4454 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4455 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4456 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4457 grub_find_root_devices_from_btrfs if on btrfs.
4458
c36e5cd1
VS
44592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 Remove any awareness of *.c util files about target.
4462
4463 * Makefile.util.def (grub-setup): Split to ...
4464 (grub-bios-setup): ... and this.
4465 (grub-sparc64-setup): ... and this.
4466 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4467 * docs/man/grub-setup.h2m: Split into ...
4468 * docs/man/grub-sparc64-setup.h2m: ... this.
4469 * docs/man/grub-bios-setup.h2m: ... and this.
4470 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4471 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4472 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4473 (grub_target_addr_t): Remove.
4474 (grub_target_size_t): Remove.
4475 (grub_target_ssize_t): Remove.
4476 * util/grub-install.in: Use new grub-*-setup.
4477 * util/grub-mkimagexx.c (Elf_Word): New define.
4478 (Elf_Half): Likewise.
4479 (Elf_Section): Likewise.
4480 (ELF_ST_TYPE): Likewise.
4481 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4482 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4483
584b2f8a
VS
44842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 Replace grub_target_addr with more appropriate types.
4487
4488 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4489 grub_target_addr with grub_addr.
4490 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4491 grub_target_addr with grub_port.
4492 (grub_cmd_write): Likewise.
4493 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4494 grub_target_addr with grub_addr.
4495 (grub_cmd_write): Likewise.
4496 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4497
5a0dc6fb
VS
44982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4501 const qualifier for vendor_guid.
4502
786aff6e
VS
45032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4506 const qualifier.
4507 (efiemu_memequal): Likewise.
4508 (find_variable): Likewise.
4509
49017b17
VS
45102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 Fix missing console prototype on qemu-mips.
4513
4514 * include/grub/mips/qemu_mips/console.h: New file.
4515
c5988629
MG
45162012-02-27 Matthew Garrett <mjg@redhat.com>
45172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4520 * include/grub/efi/efi.h: Likewise.
4521 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4522 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4523 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4524 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4525 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4526 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4527
e33f8d69
MG
45282012-02-27 Matthew Garrett <mjg@redhat.com>
4529
4530 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4531
fb312cd9
VS
45322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4535 error.
4536
7134247c
VS
45372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * configure.ac: Remove inappropriate use of program_transform_name
4540 on grubdir and bootdir but allow explicit specification of those
4541 variables.
4542
6a313124
VS
45432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * util/grub-mknetdir.in (grub_prefix): Removed.
4546 (subdir): Use @bootdirname@ and @grubdirname@.
4547
2311c5ca
VS
45482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4551
7d5d60f7
VS
45522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * po/POTFILES.in: Regenerated.
4555
8151bc82
VS
45562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 Remove improper use of program_transform_name on pkglibrootdir.
4559
4560 * configure.ac (pkglibrootdir): Removed.
4561 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4562 * util/grub-mkimage.c: Likewise.
4563
b4a6a533
VS
45642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4567 warning.
4568
668f304f
VS
45692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * util/grub-install.in: Use file identifier if no UUID is available
4572 or user explicitly prompted for it.
4573
665f2341
NP
45742012-02-27 Navdeep Parhar <nparhar@gmail.com>
4575
4576 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4577 (freebsd_get_zfs): New function.
4578 (grub_freebsd_boot): Pass zfs UUID.
4579 (grub_cmd_freebsd): Set zfs UUID.
4580
8151bc82 45812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4582
4583 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4584 pkglibrootdir.
4585
e4c498a1
MG
45862012-02-27 Mike Gilbert <floppym@gentoo.org>
4587
4588 Add configure flag to control libzfs integration.
4589
4590 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4591
1e9a9a3f
VS
45922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4595 device.
4596 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4597 small devices.
4598
036985b8
VS
45992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4602 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4603 be used on non-modules.
4604
4605 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4606 Rename to grub_boot_init.
4607 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4608 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4609 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4610 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4611 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4612 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4613 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4614 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4615 includes.
4616 (grub_machine_init): Remove empty inits.
4617 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4618 includes.
4619 (grub_machine_init): Remove empty inits.
4620 * grub-core/term/arc/console.c: Remove explicit proto.
4621 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4622 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4623 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4624 grub_at_keyboard_fini.
4625 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4626 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4627 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4628 grub_gfxterm_fini.
4629 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4630 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4631 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4632 grub_vgatext_fini.
4633 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4634 * grub-core/term/serial.c (GRUB_MOD_INIT)
4635 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4636 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4637 grub_serial_fini.
4638 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4639 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4640 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4641 grub_terminfo_fini.
4642 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4643 (GRUB_MOD_FINI): Likewise.
4644 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4645 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4646 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4647 grub_video_radeon_fuloong2e_fini.
4648 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4649 [LOONGSON]: Rename to grub_video_sis315pro_init.
4650 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4651 grub_video_sis315pro_fini.
4652 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4653 [LOONGSON]: Rename to grub_video_sm712_init.
4654 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4655 grub_video_sm712_fini.
4656 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4657 (grub_at_keyboard_fini): Likewise.
4658 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4659 Don't declare grub_{modname}_init.
4660 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4661 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4662 New proto.
4663 (grub_keylayouts_fini) [!EMU]: Likewise.
4664 * include/grub/serial.h (grub_serial_init) [!EMU]:
4665 New proto.
4666 (grub_serial_fini) [!EMU]: Likewise.
4667 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4668 New proto.
4669 (grub_terminfo_fini) [!EMU]: Likewise.
4670 * include/grub/video.h (grub_font_init) [!EMU]:
4671 New proto.
4672 (grub_font_fini) [!EMU]: Likewise.
4673 (grub_gfxterm_init) [!EMU]: Likewise.
4674 (grub_gfxterm_fini) [!EMU]: Likewise.
4675 (grub_video_sm712_init) [!EMU]: Likewise.
4676 (grub_video_sm712_fini) [!EMU]: Likewise.
4677 (grub_video_sis315pro_init) [!EMU]: Likewise.
4678 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4679 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4680 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4681
d5534665
VS
46822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 Make nand a prefix for nand devices.
4685
4686 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4687
10133b5f
VS
46882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4691 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4692
8e307a62
VS
46932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * include/grub/env.h (grub_env_find): Remove prototype.
4696 * grub-core/kern/env.c (grub_env_find): Make static.
4697 (grub_env_set): Remove useless set.
4698
a4c65f34
VS
46992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/kern/i386/realmode.S: Remove useless align.
4702
d87893d5
VS
47032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * include/grub/dl.h (grub_dl_load_file): Don't export.
4706
50159add
VS
47072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4710 grub_dprintf.
4711
b2582b84
VS
47122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4715 grub_errors.
4716 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4717 not reloading whole superblock but only the part which is really needed.
4718 Remove useless grub_errors.
4719 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4720 grub_errors.
4721
e2a83395
VS
47222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 Don't export grub_get_rtc.
4725
4726 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4727 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4728
e7d2a906
VS
47292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4732
6cf1363b
VS
47332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4736 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4737
eece3349
VS
47382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 Remove prio_list.
4741
4742 * include/grub/list.h (grub_prio_list): Removed.
4743 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4744 GRUB_COMMAND_PRIO_MASK.
4745 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4746 GRUB_COMMAND_FLAG_ACTIVE.
4747 (grub_prio_list_insert): Removed.
4748 (grub_prio_list_remove): Likewise.
4749 (GRUB_AS_PRIO_LIST): Likewise.
4750 (GRUB_AS_PRIO_LIST_P): Likewise.
4751 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4752 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4753 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4754 * grub-core/kern/command.c (grub_register_command_prio): Inline
4755 the prio_list code.
4756 (grub_unregister_command): Likewise.
4757
94f064b4
VS
47582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Fix interrupt mixup from previous commit.
4761
4762 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4763 (grub_realidt): New var.
4764 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4765 Load idt.
4766 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4767 New declaration.
4768 (grub_relocator16_boot): Set grub_relocator16_idt.
4769 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4770 (LOCAL(realidt)): ... this.
4771 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4772 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4773 (grub_realidt): New variable.
4774
27317084
VS
47752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4778 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4779 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4780 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4781 Gettextize.
4782 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4783 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4784 * po/POTFILES.in: Regenerate.
4785
47b40053
VS
47862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4789 errors.
4790
2b343101
VS
47912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4794 \0.
4795 (add_length): Likewise.
4796
ff27c3dd
LK
47972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47982012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4799
4800 GDB serial and backtrace support.
4801
4802 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4803 (prot_to_real): Likewise.
4804 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4805 * grub-core/Makefile.core.def (backtrace): New module.
4806 (gdb): Likewise.
4807 * grub-core/gdb/cstub.c: New file.
4808 * grub-core/gdb/gdb.c: Likewise.
4809 * grub-core/gdb/i386/idt.c: Likewise.
4810 * grub-core/gdb/i386/machdep.S: Likewise.
4811 * grub-core/gdb/i386/signal.c: Likewise.
4812 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4813 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4814 * include/grub/backtrace.h: Likewise.
4815 * include/grub/gdb.h: Likewise.
4816 * include/grub/i386/gdb.h: Likewise.
4817
48182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4819
4820 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4821 New function.
4822 (add_length): Likewise.
4823 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4824 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4825 proto.
4826 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4827 __argp_get_display_len.
4828
ff27c3dd 48292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4830
4831 $"..." support in scripts.
4832
4833 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4834 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4835 * grub-core/script/yylex.l: Likewise.
4836 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4837 value.
4838
ff27c3dd 48392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4840
4841 * gentpl.py: Remove obsolete pkglib_DATA handling.
4842
ff27c3dd 48432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4844
4845 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4846 mailing list.
4847
4848 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4849 * util/grub-kbdcomp.in: Likewise.
4850 * util/grub-mkconfig.in: Likewise.
4851 * util/grub-mkconfig_lib.in: Likewise.
4852 * util/grub-mknetdir.in: Likewise.
4853 * util/grub-mkrescue.in: Likewise.
4854 * util/grub-mkstandalone.in: Likewise.
4855 * util/grub-reboot.in: Likewise.
4856 * util/grub-set-default.in: Likewise.
4857 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4858
ff27c3dd 48592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4860
4861 Remove GRUB_PREFIX.
4862
4863 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4864 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4865 used for backward compatibility.
4866
ff27c3dd 48672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4868
4869 Add new all_video module.
4870
4871 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4872 * grub-core/Makefile.core.def (all_video): New module.
4873 * grub-core/genmoddep.awk: Generate dependency of all_video from
4874 video.lst.
4875 * grub-core/lib/fake_module.c: New file.
4876 * grub-core/normal/main.c (features): Add feature_all_video_module.
4877 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4878 don't do explicit search again.
47454da5 4879 insmod all_video in load_video if available.
22c7ce85 4880
ff27c3dd 48812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4882
4883 Another round of string clarification and adding TRANSLATORS comments.
4884
ff27c3dd 48852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4886
4887 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4888
ff27c3dd 48892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4890
4891 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4892 to grub_ssize_t.
4893 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4894 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4895
ff27c3dd 48962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4897
4898 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4899 trailing newline implicitly. All users updated.
4900
ff27c3dd 49012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4902
4903 Implement serial on IEEE1275 and EFI.
4904
4905 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4906 on emu. Mention arc and emu as the only platforms without serial
4907 support.
4908 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4909 ieee1275 platforms.
4910 * grub-core/term/efi/serial.c: New file.
4911 * grub-core/term/ieee1275/serial.c: Likewise.
4912 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4913 specification if no ns8250 driver is available.
4914 (grub_cmd_serial): Likewise.
4915 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4916 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4917 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4918 (grub_efi_parity_type_t): New type.
4919 (grub_efi_stop_bits_t): Likewise.
4920 (grub_efi_serial_io_interface): New struct.
4921 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4922 available for all interfaces.
4923 Add EFI and IEEE1275 fields.
4924 (grub_ofserial_init): New proto.
4925 (grub_efiserial_init): Likeiwse.
4926 * util/grub.d/00_header.in: Don't check for the presence of serial
4927 module.
4928
ff27c3dd 49292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4930
4931 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4932 name as if it was an alias.
4933
114076ef
VS
49342012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/commands/lsacpi.c (options): Fix typo.
4937
6a656b0e
VS
49382012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Convert grub-emu to argp.
4941
4942 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4943 emu.
4944 * util/argp_common.c: Rename to ...
4945 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4946 Add missing includes.
4947 * grub-core/kern/emu/main.c: Convert to argp.
4948 * po/POTFILES.in: Regenerate.
4949 * util/grub-install.in (usage): Make first letter lowcase in messages
4950 for uniformity.
4951 * util/grub-setup.c (options): Likewise.
4952
1e3f8ae8
VS
49532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4956 Put back accidently commented-out code.
4957
ed167a80
VS
49582012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4961 loop check using Brent algorithm.
4962 (grub_hfsplus_btree_search): Likewise.
4963
6753c0ec
VS
49642012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * util/grub-install.in: Fix usage of wrong device for PreP install.
4967
4e27343f
VS
49682012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * conf/Makefile.common (CFLAGS_GNULIB): Add
4971 -Wno-unsafe-loop-optimizations.
4972 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4973 on tools.
4974 * grub-core/commands/legacycfg.c: Add pragma to skip
4975 -Wunsafe-loop-optimizations.
4976 (check_password_md5_real): Fix loop counter type.
4977 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4978 reading.
4979 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4980 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4981 loop condition.
4982 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4983 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4984 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4985 condition.
4986 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4987 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4988 avoid possible infinite loops.
4989 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4990 and -Wunsafe-loop-optimizations.
4991 * grub-core/script/yylex.l: Likewise.
4992 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4993 (print_glyphs): Avoid infinite loops.
4994 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4995
697f18b0
GS
49962012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4997
4998 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4999 to avoid infinite loop.
5000 (disp_acpi_rsdt_table): Likewise.
5001
274416e8
VS
50022012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/font/font.c (grub_font_load): Add support for default
5005 path for fonts ($prefix/fonts).
5006 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5007 for checking if string is a path.
5008 * grub-core/normal/main.c (features): Add feature_default_font_path.
5009 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5010 * util/grub.d/00_header.in: Use default directory if possible.
5011 * util/grub-install.in: Install unicode.pf2.
5012
b3e08622
VS
50132012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5016 * po/Rules-swiss: New file.
5017 * po/swiss.sed: Likewise.
5018
fe42ce09
VS
50192012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/fs/btrfs.c (find_device): Fix typos.
5022 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5023 * util/grub-mkrelpath.c (argp_parser): Likewise.
5024 Reported by: Yuri Chornoivan.
5025
72f1d065
DO
50262012-02-23 Dalet Omega <daletomega@gmail.com>
5027
5028 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5029 for usual informative messages.
5030
c5884973
DO
50312012-02-23 Dalet Omega <daletomega@gmail.com>
5032
5033 Starfield theme.
5034
5035 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5036 * conf/Makefile.common: Define starfielddir.
5037 * configure.ac: Configure starfield.
5038 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5039 * themes/starfield/README: Likewise.
5040 * themes/starfield/blob_w.png: Likewise.
5041 * themes/starfield/boot_menu_c.png: Likewise.
5042 * themes/starfield/boot_menu_e.png: Likewise.
5043 * themes/starfield/boot_menu_n.png: Likewise.
5044 * themes/starfield/boot_menu_ne.png: Likewise.
5045 * themes/starfield/boot_menu_nw.png: Likewise.
5046 * themes/starfield/boot_menu_s.png: Likewise.
5047 * themes/starfield/boot_menu_se.png: Likewise.
5048 * themes/starfield/boot_menu_sw.png: Likewise.
5049 * themes/starfield/boot_menu_w.png: Likewise.
5050 * themes/starfield/slider_c.png: Likewise.
5051 * themes/starfield/slider_n.png: Likewise.
5052 * themes/starfield/slider_s.png: Likewise.
5053 * themes/starfield/src/blob_nw.xcf: Likewise.
5054 * themes/starfield/src/bootmenu/: Likewise.
5055 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5056 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5057 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5058 * themes/starfield/src/slider_c.xcf: Likewise.
5059 * themes/starfield/src/slider_n.xcf: Likewise.
5060 * themes/starfield/src/slider_s.xcf: Likewise.
5061 * themes/starfield/src/terminalbox/: Likewise.
5062 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5063 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5064 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5065 * themes/starfield/starfield.png: Likewise.
5066 * themes/starfield/terminal_box_c.png: Likewise.
5067 * themes/starfield/terminal_box_e.png: Likewise.
5068 * themes/starfield/terminal_box_n.png: Likewise.
5069 * themes/starfield/terminal_box_ne.png: Likewise.
5070 * themes/starfield/terminal_box_nw.png: Likewise.
5071 * themes/starfield/terminal_box_s.png: Likewise.
5072 * themes/starfield/terminal_box_se.png: Likewise.
5073 * themes/starfield/terminal_box_sw.png: Likewise.
5074 * themes/starfield/terminal_box_w.png: Likewise.
5075 * themes/starfield/theme.txt: Likewise.
5076
17d73325
VS
50772012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * util/grub.d/00_header.in: Add missing export theme.
5080
dbebaf92
VS
50812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5084 already included.
5085 Reported by: Eren D.
5086
3d68bffb
VS
50872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * conf/Makefile.common (grubdatadir): Removed.
5090 (Makefile.am): Move eveything grubdata to pkgdata.
5091
4b59234d
VS
50922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/commands/acpihalt.c (get_sleep_type):
5095 Remove unused variable.
5096
463dcadc
VS
50972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5100 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5101 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5102 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5103 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5104 i18n with gettext no-op.
5105 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5106 GRUB_ACPI_OPCODE_STRING_CONST.
5107 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5108 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5109
e5b90c82
VS
51102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * po/POTFILES.in: Regenerate.
5113
2a704ca9
VS
51142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5117 -Wno-error=missing-noreturn.
5118
84f9d341
VS
51192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5122 condition to avoid possibly infinite loops.
5123 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5124 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5125
d46683f9
VS
51262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5129 condition to avoid possibly infinite loops.
5130
c44866b2
VS
51312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5134 on show_error.
5135
96790539
VS
51362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5139
1ba7e295
VS
51402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5143
21ffe8f1
VS
51442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * util/bin2h.c (usage): Add missing attribute noreturn.
5147
0ccb6b3c
VS
51482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5151 if the size isn't divisible by 512.
5152
b00d7fb6
VS
51532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 Make list_push and list_remove functions rather than inline functions
5156 to decrease size and avoid aliasing violations.
5157
5158 * include/grub/list.h (grub_list_push): Move to ...
5159 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5160 * include/grub/list.h (grub_list_remove): Move to ...
5161 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5162
9d369087
VS
51632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5166 and -Wunused-result.
5167
af0250d9
VS
51682012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5171 Reported by: Seth Goldberg
5172
aad32b14
VS
51732012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5176
ac96441c
ST
51772012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5178
5179 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5180 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5181 command line.
5182 * docs/grub.texi (Simple configuration): Document
5183 GRUB_CMDLINE_GNUMACH.
5184
51852012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
5186
5187 * conf/Makefile.common (platform_SCRIPTS): New variable.
5188 (platform_PROGRAMS): Likewise.
5189 * gentpl.py: Mark *,module and *.image for install.
5190 * grub-core/gdb_grub.in: Add a notice of expected environment.
5191 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5192 (gmodule.pl): Likewise.
5193
ac96441c 51942012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
5195
5196 Replace grub_checkkey with grub_getkey_noblock.
5197
5198 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5199 (grub_getkey_noblock): ... this. All users updated.
5200
ac96441c 52012012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
5202
5203 * grub-core/kern/emu/console.c: Move to ...
5204 * grub-core/term/emu/console.c: ...here.
5205 (grub_ncurses_getkey): Fix return value if no key is detected.
5206
e51b5666
VS
52072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5210 (grub_unit_test_fini): Likewise.
5211 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5212
52132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * include/grub/test.h (GRUB_UNIT_TEST)
5216
d9a62292
VS
52172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5220 Better error handling.
5221 (grub_script_return): Likewise.
5222 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5223
77c9182f
VS
52242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5227 rimplicit redifinition.
5228
edb13cf9
VS
52292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5232 GRUB.
5233
a9e9dc7c
VS
52342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5237 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5238 prompt here.
5239
b4ba8e02
VS
52402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5243 as GRUB_ERR_BUG. Don't malloc if no device is available.
5244
dded5540
VS
52452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5248 Mark calling with invalid term as GRUB_ERR_BUG.
5249
0cf69874
VS
52502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5253 packets rather than raising an error.
5254
59bfe502
VS
52552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5258 in if.
5259
db5fc596
VS
52602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5263 diagnostic to dprintf.
5264 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5265
e4b7f404
VS
52662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5269 device name.
5270
e7b02f9e
VS
52712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5274 (grub_ntfs_iterate_dir): Likewise.
5275
0331e102
VS
52762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 Efiemu stylistic fixes and gettext.
5279
5280 * grub-core/efiemu/i386/loadcore32.c
5281 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5282 * grub-core/efiemu/i386/loadcore64.c
5283 (grub_arch_efiemu_relocate_symbols64): Likewise.
5284 * grub-core/efiemu/i386/pc/cfgtables.c
5285 (grub_machine_efiemu_init_tables): Likewise.
5286 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5287 (grub_efiemu_loadcore_initXX): Add a filename argument.
5288 All users updated.
5289 Improved error message.
5290 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5291 Add a filename argument.
5292 All users updated.
5293 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5294 Reclassify double relocation as GRUB_ERR_BUG.
5295
306fc074
VS
52962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5299 handling.
5300
794d8ef2
VS
53012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5304 on partition.
5305
53062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5307
5308 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5309
794d8ef2 53102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5311
5312 Improve string. Gettextize.
5313
78dde88e
VS
53142012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5317 utils.
5318 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5319
4786a90f
VS
53202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5323 [GRUB_UTIL]: New function.
5324 (insert_array) [GRUB_UTIL]: Store partmaps.
5325 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5326 partmaps.
5327 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5328 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5329 (probe_abstraction): Print diskfilter and not raid.
5330 Reported by: Lennart Sorensen
5331
0b6225bd
VS
53322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5335 * util/grub-mkimagexx.c (MASK3): New define.
5336 (add_value_to_slot_20b): Use MASK3.
5337 (add_value_to_slot_21): Likewise.
5338 (relocate_addresses): Fix format specification.
5339 (load_image): Explicitly init symtab_section.
5340
b055f8f6
VS
53412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5344 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5345
b77c2fb7
VS
53462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5349 on powerpc.
5350 Reported by: Lennart Sorensen
5351
e3ec28ab
VS
53522012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * gentpl.py: Add missing license header.
5355 * docs/grub.texi: Update copyright year.
5356
c8d9ead6
GS
53572012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5358
5359 Source grub-mkconfig_lib from the build directory at build time.
5360 Suggested by: Vladimir Serbinenko.
5361
5362 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5363 * util/grub-install.in: Define pkgdatadir if not already set, and source
5364 grub-mkconfig_lib from there.
5365 * util/grub-kbdcomp.in: Likewise.
5366 * util/grub-mkconfig.in: Likewise.
5367 * util/grub-mknetdir.in: Likewise.
5368 * util/grub-mkrescue.in: Likewise.
5369 * util/grub-mkstandalone.in: Likewise.
5370 * util/grub-reboot.in: Likewise.
5371 * util/grub-set-default.in: Likewise.
5372 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5373
ebcecdf1
VS
53742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 Increase warning level.
5377
5378 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5379 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5380 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5381 (TARGET_CFLAGS): Likewise.
5382 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5383 * grub-core/Makefile.core.def (decompressor_xz): Add
5384 -Wno-unreachable-code.
5385 (normal): Add -Wno-redundant-decls.
5386 (xzio): Add -Wno-unreachable-code.
5387 (lzopio): Add -Wno-redundant-decls -Wno-error.
5388 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5389 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5390 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5391 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5392 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5393 * grub-core/kern/i386/coreboot/init.c: Add exception to
5394 -Wsuggest-attribute=noreturn.
5395 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5396 * grub-core/kern/ia64/dl_helper.c: Likewise.
5397 * grub-core/kern/mips/dl.c: Likewise.
5398 * grub-core/kern/sparc64/dl.c: Likewise.
5399 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5400 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5401 (memcmp): Likewise.
5402 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5403 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5404 * grub-core/loader/mips/linux.c: Likewise.
5405 * grub-core/loader/multiboot_elfxx.c: Likewise.
5406 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5407 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5408 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5409 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5410 fixme.
5411 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5412 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5413 Fix prototype.
5414
37bb97fe
VS
54152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5418 address.
5419
29a3550b
VS
54202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5423 Avoid improper use of strings.
5424 (grub_cmd_legacy_initrdnounzip): Likewise.
5425
dfdffd0d
VS
54262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5429 attribute.
5430 (grub_util_info): Likewise.
5431 (grub_util_error): Likewise.
5432
102fae4a
VS
54332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5436 * util/grub-fstest.c (fstest): Likewise.
5437
7e94d044
VS
54382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5441 (grub_md_sha512_real): Likewise.
5442 (grub_util_get_geli_uuid): Likewise.
5443 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5444 (grub_util_biosdisk_open): Fix format specification.
5445 Respect format security.
5446 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5447 (xrealloc): Likewise.
5448 (xasprintf): Likewise.
5449
5ebd9769
VS
54502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * util/import_gcry.py: Include grub/crypto.h in init.c.
5453
495fc8c1
VS
54542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5457 (generate_image): Make prefix a const char *.
5458 Fix format specifications. Respect format security.
5459 Avoid void * arithmetics.
5460 Avoid shadowing.
5461 (argp_parser): Remove unused variable. Respect format security.
5462 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5463 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5464 (count_funcs): Remove unused variable.
5465 (relocate_addresses): Fix format specification.
5466 Disable x86-64 with elf32. Remove unused variables.
5467 (add_fixup_entry): Avoid shadowing.
5468 (make_reloc_section): Fix format specification.
5469 Use assert.
5470 (locate_sections): Fix format specifications.
5471 (load_image): Avoid shadowing.
5472
043c2ea3
VS
54732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5476 Fix format specifications. Respect format security.
5477 Don't translate already translated grub_errmsg.
5478 (argp_parser): Remove unused variable
5479
3ec65a81
VS
54802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5483
a4d9fe4a
VS
54842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5487 (main): Likewise. Use xmalloc. Respect format security.
5488
15b81d49
VS
54892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5492 a const char *.
5493 (argp_parser): Remove unused variable.
5494
31731fc0
VS
54952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5498 (add_pixel): Make static.
5499 (add_font): Likewise.
5500 (write_string_section): Make name and str a const char *.
5501 (write_be16_section): Make name a const char *.
5502 (print_glyphs): Make static.
5503 (write_font_ascii_bitmap): Likewise.
5504 (write_font_width_spec): Likewise.
5505 (write_font_pf2): Likewise.
5506 (argp_parser): Remove unused variable.
5507 Respect format security.
5508 (main): Avoid shadowing. Respect format security.
5509
0809527b
VS
55102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * util/grub-editenv.c (argp_parser): Make static.
5513 (create_envblk_file): Use xmalloc.
5514 (open_envblk_file): Likewise.
5515 Resepect format security.
5516 (set_variables): Respect format security.
5517
45b0c8b7
VS
55182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * util/getroot.c (grub_find_device): Respect format security.
5521 (get_mdadm_uuid): Remove unused variable.
5522 (grub_util_pull_device): Dont call gettext on already translated
5523 grub_errmsg.
5524 (find_system_device): Remove unused variable.
5525 (grub_util_get_grub_dev): Likewise.
5526 (grub_make_system_path_relative_to_its_root): Respect format security.
5527
1b024b4e
VS
55282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * util/grub-fstest.c (execute_command): Make first argument
5531 a const char *.
5532 (read_file): Avoid shadowing.
5533 Reuse underlying error message if device open fails.
5534 (cmd_cmp): Respect format security.
5535 (root): Make const char *.
5536 (fstest): Remove args argument and use global copy.
5537 Respect format security.
5538 (argp_parser): Make static.
5539 (main): Make default_root const char *.
5540
5d1d4e28
VS
55412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * util/grub-mount.c (root): Make const char *.
5544 (execute_command): Make first argument a const char *.
5545 (fuse_init): Respect format security.
5546 (argp_parser): Make static. Remove unused variable.
5547 (main): Make default_root a const char *.
5548 Respect format security.
5549
36eb7379
VS
55502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * util/grub-probe.c (probe): Don't call gettext on already translated
5553 grub_errmsg.
5554 Remove unused variables.
5555 (argp_parser): Remove unused variable.
5556
76fb2ea9
VS
55572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * util/grub-script-check.c (argp_parser): Remove unused variable.
5560 (main): Rename read to curread to avoid shadowing.
5561
56c98584
VS
55622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * util/misc.c (grub_util_write_image_at): Fix format specification.
5565 (grub_util_write_image): Likewise.
5566 (grub_script_execute_argument_to_string): Removed (unused).
5567 (grub_script_execute_menuentry): Likewise.
5568 (grub_putchar): Likewise.
5569
164ebb48
VS
55702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5573 (FUNCTION) [GRUB_UTIL]: Likewise.
5574 (VARIABLE) [GRUB_UTIL]: Likewise.
5575
44318d61
VS
55762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5579 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5580
31a26002
VS
55812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5584 buffer.
5585
55862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5589 (LzmaEnc_SaveState): Removed (unused).
5590 (LzmaEnc_RestoreState): Likewise.
5591 (LzmaEnc_InitPriceTables): Made static.
5592 (LzmaEnc_Construct): Likewise.
5593 (LzmaEnc_FreeLits): Likewise.
5594 (LzmaEnc_Destruct): Likewise.
5595 (LzmaEnc_Init): Likewise.
5596 (LzmaEnc_InitPrices): Likewise.
5597 (LzmaEnc_Finish): Likewise.
5598 (LzmaEnc_PrepareForLzma2): Removed (unused).
5599 (LzmaEnc_MemPrepare): Likewise.
5600 (LzmaEnc_GetNumAvailableBytes): Likewise.
5601 (LzmaEnc_GetCurBuf): Likewise.
5602 (LzmaEnc_CodeOneMemBlock): Likewise.
5603
6fa67967
VS
56042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5607 (grub_util_ldm_embed): Likewise.
5608
9a7428e6
VS
56092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * util/grub-editenv.c (print_var): Rename name to varname to
5612 avoid shadowing.
5613 (main): Rename index to curindex to avoid shadowing.
31a26002 5614 Make filename a const char *.
9a7428e6 5615
4f96abd1
VS
56162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5619 to arg_getline to avoid shadowing.
5620
44d10dad
VS
56212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5624 disk_ to avoid shadowing.
5625
340ba63e
VS
56262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5629 curindex to avoid shadowing.
5630 Make static.
5631 (MatchFinder_GetNumAvailableBytes): Make static.
5632
22965bce
VS
56332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5636 avoid shadowing.
5637
7b5784d4
VS
56382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5641 argument from encrypt to do_encrypt to avoid shadowing.
5642
6f48ca01
VS
56432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5646 incorrect nesting of #if's.
5647
a4ea2dff
VS
56482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5651 checks which are always false on some platforms.
5652 (grub_cmd_lsacpi): Likewise.
5653 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5654 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5655 Likewise.
5656
def9fc1b
VS
56572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5660 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5661
a67b2a04
VS
56622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5665 re_dfa_t to avoid breaking alignment invariants.
5666 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5667 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5668
44c6828d
VS
56692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5672 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5673
bebe0dd0
VS
56742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5677 Fix declaration.
5678
a9cdb3cf
VS
56792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5682 conserve alignment invariants.
5683 (grub_ehci_ehcc_read16): Likewise.
5684 (grub_ehci_oper_read32): Likewise.
5685 (grub_ehci_oper_write32): Likewise.
5686 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5687 Conserve alignment invariants.
5688
ccc3b1b8
VS
56892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5692 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5693 declarations.
5694
987fbd95
VS
56952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5698 Remove unused variable.
5699
0df363f3
VS
57002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5703 Remove set in if.
5704
b2c0c4a6
VS
57052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * include/grub/net.h: Remove double declarations.
5708
690c531f
VS
57092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 Remove "payload" command in ia64 Linux loader since I couldn't
5712 find any evidence of it being used for anything.
5713 Replace "relocate" command with an environment variable
5714
5715 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5716 fields.
5717 (ia64_boot_payload): Removed.
5718 (last_payload): Likewise.
5719 (RELOCATE_OFF): Likewise.
5720 (RELOCATE_ON): Likewise.
5721 (RELOCATE_FORCE): Likewise.
5722 (relocate): Likewise.
5723 (free_pages): Don't free payloads.
5724 (grub_load_elf64): Use common error messages.
5725 Use "linux_relocate" variable.
5726 Increase the space after boot_params.
5727 (grub_cmd_payload): Removed.
5728 (grub_cmd_relocate): Likewise.
5729 (grub_cmd_fpswa): Improve messages.
5730 (cmd_payload): Removed.
5731 (cmd_relocate): Likewise.
5732 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5733 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5734
01783768
VS
57352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 Convert UHCI to DMA framework.
5738
5739 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5740 (grub_uhci_pci_iter): Fill new members
5741 (grub_alloc_td): Use P2V and V2P functions.
5742 (grub_free_queue): Likewise.
5743 (grub_alloc_qh): Likewise.
5744 (grub_uhci_setup_transfer): Likewise.
5745 (grub_uhci_check_transfer): Likewise.
5746
43206939
VS
57472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5750 Remove assignment in if while on it.
5751
571e140e
VS
57522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * util/grub-mkstandalone.in: Fix modules directory.
5755
a9d96eeb
VS
57562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5759 on i386-pc target.
5760 (argp_parser): Accept "auto" as compression specification.
5761
e4e37e8d
VS
57622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Fix `help' with unloaded modules.
5765
5766 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5767 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5768 (grub_dyncmd_dispatcher): Small stylistic fix.
5769 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5770 explicit help is requested.
5771
e1ea3ade
VS
57722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5775 Explicitly init restart while on it.
5776
27556881
VS
57772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5780 uninited variable.
5781
d65f6b36
VS
57822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * util/grub-mknetdir.in: Use . rather than source for POSIX
5785 compatibility.
5786
0a1e473c
VS
57872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5790
ce6647c8
VS
57912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5794 variable.
5795
66747894
VS
57962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5799 without quotes.
5800
71645f6e
VS
58012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5804
0e1c1f61
VS
58052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5808 iteration of partitions.
5809
9c4b5c13
VS
58102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Improve gettext support. Stylistic fixes and error handling fixes while
5813 on it.
5814
215c90cb
VS
58152012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5818 part. Instead setup the correct stack in RM.
5819 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5820 for stack.
5821 * include/grub/i386/relocator_private.h: New file.
5822
b5c1f9bf
VS
58232012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5826 argument.
5827 * util/grub-fstest.c (options): Add missing DEVICE part.
5828
b525fd83
VS
58292012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Clarify and unify messages.
5832
5833 * grub-core/commands/hashsum.c (options): Unify messages.
5834 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5835 literal-only message as translatable.
5836 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5837 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5838 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5839 commands.
5840 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5841 key, not the key used to unlock. Clarify what it's used for.
5842 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5843 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5844 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5845 * util/grub-editenv.c (options): Unify "verbose" message.
5846 * util/grub-fstest.c (read_file): Unify error message.
5847 (fstest): Add quotes around commands.
5848 (options): Unify "verbose" message.
5849 * util/grub-install.in: Add quotes around variable name.
5850 * util/grub-kbdcomp.in: Unify error message.
5851 * util/grub-mkfont.c (main): Likewise.
5852 * util/grub-mkrescue.in: Likewise.
5853 * util/grub-mklayout.c (options): Unify "verbose" message.
5854 * util/grub-mkstandalone.in: Unify help and verbose messages.
5855 * util/grub-mount.c (options): Unify "verbose" message.
5856 * util/grub-probe.c (options): Likewise.
5857 * util/grub-script-check.c (options): Likewise.
5858 * util/grub-setup.c (setup): Unify no-terminator message.
5859 (options): Use DEVICE and not DEV.
5860 Unify "verbose" message.
5861 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5862
0ae70393
VS
58632012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 Improve and unify messages.
5866
5867 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5868 name. All users updated.
5869 Print filename in error.
5870 (read_device_map): Print filename in error.
5871 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5872 (grub_util_get_os_disk): Likewise.
5873 (grub_util_biosdisk_get_grub_dev): Likewise.
5874 (grub_util_check_block_device): Likewise.
5875 (grub_util_check_char_device): Likewise.
5876 (grub_make_system_path_relative_to_its_root): Likewise.
5877 * util/grub-editenv.c (create_envblk_file): Likewise.
5878 (open_envblk_file): Likewise.
5879 (write_envblk): Likewise.
5880 * util/grub-fstest.c (cmd_cp): Likewise.
5881 (cmd_cat): Likewise.
5882 (cmd_cmp): Likewise.
5883 * util/grub-menulst2cfg.c (main): Likewise.
5884 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5885 (write_font_width_spec): Likewise.
5886 (write_font_pf2): Likewise.
5887 * util/grub-mkimage.c (generate_image): New argument outname.
5888 All users updated.
5889 Remove unreacheable message.
5890 (options): Unify messages.
5891 (help_filter): Likewise.
5892 * util/grub-mklayout.c (usage): Removed (unused).
5893 (main): Print filename in error.
5894 * util/grub-mkrescue.in: Fix wrong quoting.
5895 * util/grub-setup.c (setup): Print filename in error.
5896 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5897 (check_sas): Likewise.
5898 * util/misc.c (grub_util_get_fp_size): Removed.
5899 (grub_util_get_image_size): Print filename in error.
5900 (grub_util_read_at): Removed.
5901 (grub_util_read_image): Print filename in error.
5902 (grub_util_load_image): Likewise.
5903 (grub_util_write_image_at): New argument filename. All users updated.
5904 Print filename in error.
5905 (grub_util_write_image): New argument filename. All users updated.
5906 Print filename in error.
5907 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5908 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5909
0a96117d
VS
59102012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * grub-core/Makefile.core.def (pxechain): New module.
5913 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5914 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5915 function.
5916 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5917 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5918
aca002f7
VS
59192012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5922 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5923 * include/grub/err.h (grub_error_saved): New struct.
5924 (grub_errmsg): Make array size explicit.
5925 * include/grub/misc.h (grub_error_save): New function.
5926 (grub_error_load): Likewise.
5927 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5928 (grub_error_push): Update `errno' member name.
5929 (grub_error_pop): Likewise
5930 * grub-core/net/tftp.c (tftp_data): New member save_err.
5931 (tftp_receive): Save error.
5932 (tftp_open): Restore error.
5933
a51dab13
VS
59342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5937 to real mode down to execute A20-related code in protected mode as
5938 intended.
5939
eb6e6649
GS
59402012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5941
5942 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5943 NULL when the argument `level' has an unexpected value.
5944
92cd0f6e
VS
59452012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 Move platform-dependent files from $prefix to $prefix/$platform.
5948
5949 * config.h.in (GRUB_TARGET_CPU): New definition.
5950 (GRUB_PLATFORM): Likewise.
5951 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5952 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5953 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5954 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5955 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5956 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5957 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5958 * grub-core/normal/term.c (read_terminal_list): Likewise.
5959 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5960 $prefix/locale.
5961 (grub_gettext_init_ext): Likewise.
5962 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5963 grub_platform.
5964 * util/grub-install.in: Update directories.
5965 * util/grub-mknetdir.in: Likewise.
5966 * util/grub-mkrescue.in: Likewise.
5967
db606889
VS
59682012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5971 grub_error framework. All users updated.
5972
c39992a4
VS
59732012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5976 lists (by always binsearching), improve caching (cache strings
5977 used for binsearch, not only results), improve
5978 maintainability (by using more structured binary search) and correct
5979 error handling.
5980
1e5ec32f
VS
59812012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/script/execute.c (grub_script_return): Fix warning.
5984
ac576cde
VS
59852012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/script/execute.c (grub_script_return): Fix potential
5988 NULL-dereference.
5989 Reported by: Jim Meyering.
5990
498453f6
VS
59912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * po/POTFILES.in: Regenerate.
5994 * util/grub-install.in: Gettextize the strings missed in first pass.
5995
8be63f2e
VS
59962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * Makefile.util.def (grub-mkdevicemap): Removed.
5999 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6000 * include/grub/util/deviceiter.h: Removed.
6001 * util/deviceiter.c: Likewise.
6002 * util/getroot.c (grub_util_get_os_disk): New function.
6003 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6004 replacement for EFI.
6005 * util/grub-mkdevicemap.c: Removed.
6006 * util/grub-probe.c (probe): Handle PRINT_DISK.
6007 (argp_parser): Handle -t disk.
6008
8e1e4e39
VS
60092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * util/grub-mkfont.c: Migrate to argp.
6012 * util/grub-mklayout.c: Likewise.
6013 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6014 * util/grub-mkrelpath.c: Likewise.
6015 * util/grub-probe.c: Likewise.
6016 * util/grub-script-check.c: Likewise.
6017
4459819a
VS
60182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * util/grub-reboot.in: Add missing datarootdir.
6021 Add missing newline.
6022 * util/grub-set-default.in: Add missing datarootdir.
6023 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6024 * util/grub-mkrescue.in: Likewise.
6025
f65741c7
VS
60262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6029
c1a33466
VS
60302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * util/grub-kbdcomp.in: Add decent help and gettextize.
6033 * docs/man/grub-kbdcomp.h2m: New file.
6034
c76899a0
VS
60352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 Migrate grub-mkimage.c to argp.
6038
6039 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6040 (grub-setup): Likewise.
6041 * util/grub-setup.c (print_version): Move to ...
6042 * util/argp_common.c (print_version): ... here.
6043 * util/grub-setup.c (argp_program_version_hook): Move to ...
6044 * util/argp_common.c (argp_program_version_hook): ... here.
6045 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6046 safety.
6047 * util/grub-mkimage.c (main): Migrate to argp.
6048
57db0757
VS
60492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * util/grub-mkrescue.in: Use same message as
6052 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6053 for better translations.
6054
18534ad9
VS
60552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6058 options with generic grub-mkrescue.in with the goal of future
6059 merge.
6060
c84ba308
VS
60612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/kern/mm.c: Add missing include of i18n.h
6064 * grub-core/lib/relocator.c: Likewise.
6065
347998c2
VS
60662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6069 error.
6070 (allocate_pages): Check return value.
6071 Replace fatal with error.
6072 (grub_linux_boot): Replace printf with dprintf.
6073 Check find_mmap_size return value.
6074 Replace fatal with error.
6075 Don't call grub_machine_fini.
6076 (grub_load_elf64): Replace printf with dprintf.
6077 (grub_cmd_linux): Likewise.
6078 (grub_cmd_initrd): Likewise.
6079 (grub_cmd_payload): Likewise.
6080
c779226e
VS
60812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6084 message.
6085 * grub-core/video/radeon_fuloong2e.c
6086 (grub_video_radeon_fuloong2e_setup): Likewise.
6087 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6088 * grub-core/video/video.c (grub_video_set_mode): Don't override
6089 standard out of memory message.
6090
dc87d45a
GS
60912012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6092
6093 NetBSD disk wedge support.
6094
6095 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6096 [__NetBSD__]: Handle NetBSD disk wedges.
6097 * util/getroot.c (convert_system_partition_to_system_disk)
6098 [__NetBSD__]: Likewise.
6099
055f856f
MW
61002012-02-03 Mark Wooding <mdw@distorted.org.uk>
6101
6102 * util/grub-mkconfig.in: Use umask rather than chmod to create
6103 grub.cfg.new to avoid insecure grub.cfg.
6104
4a9f8346
VS
61052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/commands/ls.c: Gettextize.
6108 * grub-core/commands/setpci.c: Likewise.
6109 * grub-core/commands/videotest.c: Likewise.
6110 * grub-core/disk/geli.c: Likewise.
6111 * grub-core/kern/mm.c: Likewise.
6112 * grub-core/lib/relocator.c: Likewise.
6113 * grub-core/loader/efi/appleloader.c: Likewise.
6114 * grub-core/loader/i386/xnu.c: Likewise.
6115 * grub-core/loader/ia64/efi/linux.c: Likewise.
6116 * grub-core/loader/xnu.c: Likewise.
6117 * grub-core/net/dns.c: Likewise.
6118 * grub-core/net/net.c: Likewise.
6119 * grub-core/script/lexer.c: Likewise.
6120 * grub-core/script/parser.y: Likewise.
6121 * grub-core/script/yylex.l: Likewise.
6122 * util/getroot.c: Likewise.
6123 * util/grub-setup.c: Likewise.
6124
a646a366
VS
61252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6128 number.
6129
54e2be26
VS
61302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6133
f7c71e68
VS
61342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6137 macro.
6138 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6139 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6140
a32d5c71
VS
61412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6144 * util/grub-install.in: Gettextize.
6145 * util/grub-mkconfig.in: Likewise.
6146 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6147 if not available.
6148 (grub_warn): Gettextize.
6149 * util/grub-mknetdir.in: Gettextize.
6150 * util/grub-mkrescue.in: Likewise.
6151 * util/grub-mkstandalone.in: Likewise.
6152 * util/grub-reboot.in: Likewise.
6153 * util/grub-set-default.in: Likewise.
6154 * util/grub.d/00_header.in: Likewise.
6155 * util/grub.d/10_hurd.in: Likewise.
6156 * util/grub.d/10_kfreebsd.in: Likewise.
6157 * util/grub.d/10_linux.in: Likewise.
6158 * util/grub.d/10_netbsd.in: Likewise.
6159 * util/grub.d/10_windows.in: Likewise.
6160 * util/grub.d/20_linux_xen.in: Likewise.
6161 * util/grub.d/30_os-prober.in: Likewise.
6162 * po/POTFILES-shell.in: Regenerate.
6163
69edd81a
RL
61642012-02-03 Richard Laager <rlaager@wiktel.com>
6165
6166 * util/grub-mkimage.c (main): Fix format-security warning.
6167 * util/grub-mkrelpath.c (main): Likewise.
6168 * util/grub-probe.c (main): Likewise.
6169
65f08dbf
RL
61702012-02-03 Richard Laager <rlaager@wiktel.com>
6171
6172 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6173 failure.
6174 Put back lost PRINT_DRIVE.
6175
e9084abe
RL
61762012-02-03 Richard Laager <rlaager@wiktel.com>
6177
6178 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6179 (grub_guess_root_devices): Replace strlen with sizeof.
6180 Avoid crash.
6181 (find_root_devices_from_poolname): Remove unused variable.
6182 Handle raidzN.
6183
cf5f7ee7
VS
61842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 Support install on multi-device filesystems.
6187
6188 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6189 (grub_guess_root_devices): ...this. Return char **. All users updated.
6190 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6191 Removed.
6192 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6193 (find_root_devices_from_poolname): ... here.
6194 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6195 Support zfs-fuse.
6196 (grub_guess_root_device): Rename to ...
6197 (grub_guess_root_devices): ... this. Return char **. All users updated.
6198 * util/grub-install.in: Handle multi-device filesystems.
6199 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6200 argument. All users updated.
6201 Handle multi-device filesystems.
6202 Use 'delim' as separator.
6203 Remove device check to allow filesystems on file.
6204 (main): Support -0 argument. Handle multi-device.
6205 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6206 Fix a cross-device check while on it.
6207 (arguments): Remove root_dev.
6208 (argp_parser): Remove -r.
6209 (main): Remove root_dev.
6210
2f53a9ed
VS
62112012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6214
17e1d934
VS
62152012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6218 symbol.
6219 Reported by: NODA, Kai <nodakai>.
6220
d3e3fab5
VS
62212012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 Fix ehci on amd64.
6224
6225 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6226 pointers.
6227 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6228 (grub_ehci_setup_qh): Likewise.
6229 (grub_ehci_find_qh): Likewise.
6230 (grub_ehci_transaction): Likewise.
6231 (grub_ehci_setup_transfer): Likewise.
6232 (grub_ehci_check_transfer): Likewise.
6233 (grub_ehci_portstatus): Likewise.
6234 (grub_ehci_detect_dev): Likewise.
6235 (grub_ehci_transfer_controller_data): New field td_last_phys.
6236 (grub_ehci_setup_transfer): Fill td_last_phys.
6237 (grub_ehci_check_transfer): Use td_last_phys.
6238
3008675b
SG
62392012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6240
6241 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6242 if no submenu is present.
6243
fc9b5652
AN
62442012-02-01 Aleš Nesrsta <starous@volny.cz>
6245
6246 CBI support.
6247
6248 * include/grub/usb.h (grub_usbms_protocol_t): New values
6249 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6250 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6251 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6252 (grub_usbms_dev): Add subclass, protocol and intrpt.
6253 Remove in_maxsz and out_maxsz.
6254 (grub_usbms_reset): Rename to ...
6255 (grub_usbms_bo_reset): .. this.
6256 (grub_usbms_cbi_cmd): New function.
6257 (grub_usbms_cbi_reset): Likewise.
6258 (grub_usbms_reset): Likewise.
6259 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6260 (grub_usbms_transfer): Rename to ...
6261 (grub_usbms_transfer_bo): ... this.
6262 (grub_usbms_transfer_cbi): Likewise.
6263 (grub_usbms_transfer): Likewise.
6264
a2b81d53
AN
62652012-02-01 Aleš Nesrsta <starous@volny.cz>
62662012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6269 the support for the CS5536 modification thereos and few bugfixes.
6270
6271 * grub-core/Makefile.core.def (ehci): New module.
6272 * grub-core/bus/usb/ehci.c: New file.
6273 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6274 port and hubaddr. All users updated.
6275 Save port and hubaddr into dev structure.
6276 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6277 define.
6278 * include/grub/pci.h (grub_dma_phys2virt): New function.
6279 (grub_dma_virt2phys): Likewise.
6280 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6281
b1d51f02
VS
62822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6285 check as some mkfs implementations omit it.
6286
fc694106
VS
62872012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6290
6c0920e3
VS
62912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6294 Add new member volname2.
6295 (grub_jfs_label): Use volname2 if available.
6296
d1a46f9a
VS
62972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6300 over last_mounted as seen in image generated by mkfs.nilfs2.
6301 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6302
dec8ed14
VS
63032012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6306 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6307 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6308
7397c69b
VS
63092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6312 over the sector.
6313
b3fe42ad
VS
63142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6317 subvolume name (by removing a bogus and useless check).
6318
10476bb0
VS
63192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6322 sizeof while on it.
6323
9c08ad87
VS
63242012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6327 (grub_scsi_read_capacity10): ... this.
6328 (grub_scsi_read_capacity16): New function.
6329 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6330 0xffffffff.
6331 Fix off-by-one error.
6332 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6333 64-bit unsigned.
6334 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6335 (grub_scsi_read_capacity10): ... this.
6336 (grub_scsi_read_capacity_data): Rename to ...
6337 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6338 (grub_scsi_read_capacity16): New struct.
6339 (grub_scsi_read_capacity16_data): Likewise.
6340 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6341 grub_scsi_cmd_read_capacity10.
6342 New command grub_scsi_cmd_read_capacity16.
6343
bc8d0f45
VS
63442012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 SCSI >2TiB support.
6347
6348 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6349 (grub_scsi_write16): Likewise.
6350 (grub_scsi_read): Use read16 when necessary.
6351 (grub_scsi_write): Likewise.
6352 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6353 (grub_scsi_write16): Likewise.
6354 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6355
cc774926
VS
63562012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 SCSI write support (for usbms mainly).
6359
6360 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6361 a const pointer.
6362 (grub_scsi_write): Implement.
6363 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6364
67639fd7
VS
63652012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6368 variable.
6369
9079d3ed
VS
63702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6373
c6a6f204
VS
63742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * po/POTFILES.in: Regenerate.
6377
ecbf8cd1
VS
63782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6381 with grub_printf to avoid unnecessary fatal failure.
6382
0b3b3b38
VS
63832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6386 (INT_MAX): Likewise.
6387 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6388 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6389 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6390 (strcpy): Likewise.
6391 (strstr): Likewise.
6392 (strchr): Likewise.
6393 (strncpy): Likewise.
6394 (strcat): Likewise.
6395 (strncat): Likewise.
6396 (strcoll): Likewise.
6397 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6398 (GRUB_INT_MAX): Likewise.
6399
db7337a3
VS
64002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6403 unexpected error.
6404 (optimize_utf8): Likewise.
6405 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6406
f37c87e1
VS
64072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/boot/i386/pc/lnxboot.S: Use
6410 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6411 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6412 location.
6413 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6414 definition.
6415 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6416
63fe43f3
VS
64172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6420 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6421 now to avoid double free.
6422 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6423 hostdisk.
6424 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6425 * util/grub-probe.c (escape_of_path): Always return a new copy.
6426 (print_full_name): Escape path.
6427 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6428 Fix hints on abstractions.
6429
ebe2c961
VS
64302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6433 Don't add "root" line if no compatibility hont is available.
6434 Suggested by: Seth Goldberg.
6435
2b5336a2
VS
64362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6439 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6440 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6441 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6442
74310bd8
VS
64432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6446
c30582ba
VS
64472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * util/grub-pe2elf.c (ehdr): Make static.
6450 (shdr): Likewise.
6451 (num_sections): Likewise.
6452 (offset): Likewise.
6453
5f47782c
VS
64542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 Eliminate ofpath limits and possible overflows.
6457
6458 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6459 (OF_PATH_MAX): Removed.
6460 (MAX_DISK_CAT): New const.
6461 (find_obppath): Use allocated rather than preallocated buffer.
6462 Return result. Argument of_path removed. All users updated.
6463 Add missing fdstat.
6464 (xrealpath): New function.
6465 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6466 Allocate rather than use preallocated buffer. All users updated.
6467 (__of_path_common): Use allocated rather than preallocatecd buffer.
6468 Return result. Argument of_path removed. All users updated.
6469 (vendor_is_ATA): Read only needed part form the file.
6470 (check_sas): Allocate depending on contents rather than fixed.
6471 (main) [STANDALONE]: Handle NULL result.
6472
f990cbf9
VS
64732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6476
9c6e84b8
VS
64772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 Cryptodisk write support.
6480
6481 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6482 (grub_cryptodisk_decrypt): Moved logic to ...
6483 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6484 (grub_cryptodisk_write): Implement.
6485 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6486 (grub_util_fd_write): ... this. Make global.
6487 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6488
87cf9744
VS
64892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * include/grub/list.h (grub_list_remove): Don't crash if element is
6492 removed twice.
6493
ca8c0baf
VS
64942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Rename ofconsole to console.
6497
6498 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6499 as sysnonym to console.
6500 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6501 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6502 Rename grub_ofconsole_ to grub_console_. All users updated
6503 (grub_console_term_output): Rename "ofconsole" to "console".
6504 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6505 as "console".
6506
64c8b8f6
VS
65072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6510 handling.
6511 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6512 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6513 GRUB_DISK_DEVICE_FILE_ID.
6514
f6c434d5
VS
65152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6518 and improve performance.
6519
5858b42d
VS
65202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6523 missing ieee1275/ prefix on whole disk.
6524
4ed3c26b
VS
65252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6528 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6529
df71143e
VS
65302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6533
076e7c0f
VS
65342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Merge common RAID and LVM logic to an abstract diskfilter.
6537 Add LDM support using the same framework.
6538
6539 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6540 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6541 (libgrubmods): Remove grub-core/disk/raid.c and
6542 grub-core/partmap/gpt.c.
6543 * grub-core/Makefile.core.def (ldm): New module.
6544 (raid): Renamed to diskfilter. All users updated.
6545 * grub-core/disk/raid.c: Moved to ...
6546 * grub-core/disk/diskfilter.c: ... here.
6547 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6548 (lv_num): New var.
6549 (find_array): Renamed to ...
6550 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6551 (grub_is_array_readable): Renamed to ...
6552 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6553 (insert_array): New argument id.
6554 (is_node_readable): New function.
6555 (scan_device): Rename to ...
6556 (scan_disk): .. this. Restrict to one disk.
6557 (scan_devices): New function.
6558 (grub_diskfilter_iterate): Support multi-LV.
6559 Skip invisible and nameless LVs.
6560 (grub_diskfilter_memberlist): Support multi-LV.
6561 (grub_diskfilter_read_node): New function.
6562 (grub_raid_read): Most of logic moved to ...
6563 (read_segment): ... here
6564 (read_lv): New function.
6565 (grub_diskfilter_get_vg_by_uuid): New function.
6566 (grub_diskfilter_make_raid): Likewise.
6567 * grub-core/disk/ldm.c: New file.
6568 * grub-core/disk/lvm.c (vg_list): Removed.
6569 (lv_count): Likewise.
6570 (scan_depth): Likewise.
6571 (is_lv_readable): Likewise.
6572 (grub_lvm_getvalue): Advance pointer past the number.
6573 (find_lv): Removed.
6574 (do_lvm_scan): Refactored into ...
6575 (grub_lvm_detect): ... this. Support raid.
6576 (grub_lvm_iterate): Removed.
6577 (grub_lvm_memberlist): Likewise.
6578 (grub_lvm_open): Likewise.
6579 (grub_lvm_close): Likewise.
6580 (read_lv): Likewise.
6581 (read_node): Likewise.
6582 (is_node_readable): Likewise.
6583 (is_lv_readable): Likewise.
6584 (grub_lvm_read): Likewise.
6585 (grub_lvm_write): Likewise.
6586 (grub_lvm_dev): Use diskfilter
6587 (GRUB_MOD_INIT): Likewise.
6588 (GRUB_MOD_FINI): Likewise.
6589 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6590 new interface.
6591 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6592 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6593 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6594 grub_diskfilter_read_node.
6595 Fix a bug with xor.
6596 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6597 grub_diskfilter_read_node.
6598 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6599 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6600 (grub_disk_dev_iterate): Move from here...
6601 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6602 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6603 Make global.
6604 (grub_hostdisk_find_partition_start): Likewise.
6605 (grub_hostdisk_os_dev_to_grub_drive): New function.
6606 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6607 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6608 * util/getroot.c (make_device_name): ... here.
6609 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6610 Move to ...
6611 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6612 * grub-core/kern/emu/hostdisk.c
6613 (convert_system_partition_to_system_disk): Move to ...
6614 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6615 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6616 * util/getroot.c (device_is_wholedisk): ... here.
6617 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6618 * util/getroot.c (find_system_device): ... here.
6619 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6620 Move to ...
6621 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6622 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6623 Move to ...
6624 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6625 Handle LDM.
6626 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6627 Move to ...
6628 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6629 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6630 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6631 DISKFILTER.
6632 * include/grub/raid.h: Renamed to ...
6633 * include/grub/diskfilter.h: ... this.
6634 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6635 (GRUB_RAID_LAYOUT_*): Make into array.
6636 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6637 (grub_diskfilter_vg): New struct.
6638 (grub_diskfilter_pv_id): Likewise.
6639 (grub_raid_member): Removed.
6640 (grub_raid_array): Likewise.
6641 (grub_diskfilter_pv): New struct.
6642 (grub_diskfilter_lv): Likewise.
6643 (grub_diskfilter_segment): Likewise.
6644 (grub_diskfilter_node): Likewise.
6645 (grub_diskfilter_get_vg_by_uuid): New proto.
6646 (grub_raid_register): Inline.
6647 (grub_diskfilter_unregister): Likewise.
6648 (grub_diskfilter_make_raid): New proto.
6649 (grub_diskfilter_vg_register): Likewise.
6650 (grub_diskfilter_read_node): Likewise.
6651 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6652 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6653 (grub_util_is_ldm): Likewise.
6654 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6655 (grub_hostdisk_find_partition_start): Likewise.
6656 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6657 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6658 New definition.
6659 (grub_gpt_partition_map_iterate): New proto.
6660 * include/grub/lvm.h (grub_lvm_vg): Removed.
6661 (grub_lvm_pv): Likewise.
6662 (grub_lvm_lv): Likewise.
6663 (grub_lvm_segment): Likewise.
6664 (grub_lvm_node): Likewise.
6665 * util/getroot.c [...]
6666 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6667 (probe_abstraction): Likewise.
6668 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6669 (main): Remove dead logic.
6670
8a7f9b9c
VS
66712012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 Simplify root device discover and don't fail when trying to open
6674 incorrect devices.
6675
6676 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6677 function.
6678 (get_diskname_from_path): Likewise.
6679 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6680 of iterating.
6681
30545b85
VS
66822012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6685
28ea58cf
VS
66862012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6689 pastthe end.
6690
692dabca
VS
66912012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * util/grub-install.in: Add missing \.
6694 Reported by: gentoofan
6695
f6e4ea70
VS
66962012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6699 (direct_read): Use correct compressed size.
6700 (grub_squash_read_data): Likewise.
6701
67022012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6703
6704 * docs/grub.texi (Platform limitations): New section.
6705 (Platform-specific operations): Likewise.
6706 * docs/grub-dev.texi (Porting): Likewise.
6707
76261110
VS
67082012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 IEEE1275 disk write support.
6711
6712 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6713 const void *.
6714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6715 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6716 and seek loginc to ...
6717 (grub_ofdisk_prepare): ... here.
6718 (grub_ofdisk_write): Implement.
6719
fc36d603
VS
67202012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 ARC disk write support.
6723
6724 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6725 (reopen): New argument writable. All users updated.
6726 Handle required access mode.
6727 (grub_arcdisk_write): Implement.
6728 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6729 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6730
e06c2e7a
VS
67312012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6734 (read_sblock): Don't attempt to read superblocks outside the disk size.
6735
ff447958
VS
67362012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6739 first superblock to find the second one when possible.
6740
9e88df39
VS
67412012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * util/grub-install.in: Fix an ARC bug.
6744 Print a warning if no platform-specific setup is available.
6745
bb26e4ff
VS
67462012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Use static allocation rather than scratch pointer in reed_solomon.
6749 It decreases its size significantly and avoids a variable in .text.
6750
6751 * grub-core/lib/reed_solomon.c (scratch): Removed.
6752 (chosenstat): New const or static array.
6753 (sigma): Likewise.
6754 (errpot): Likewise.
6755 (errpos): Likewise.
6756 (sy): Likewise.
6757 (mstat): Likewise.
6758 (errvals): Likewise.
6759 (eqstat): Likewise.
6760 (pol_evaluate): Replace x with log_x argument. All users updated.
6761 (syndroms): Removed.
6762 (gauss_solve): Use statically allocated arrays.
6763 (rs_recover): Likewise.
6764 Calculate syndroms directly.
6765 (decode_block): Use statically allocated arrays.
6766 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6767 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6768
2e13ede5
VS
67692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 Eliminate fixed limit on reed solomon decoder length.
6772
6773 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6774 rather than hardcoding the address.
6775 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6776 no_reed_solomon_length.
6777 Move gate_a20 to no-reed-solomon part.
6778 Don't force a particular size of no reed-solomon part.
6779 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6780 Removed.
6781 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6782 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6783
f8a9ab12
VS
67842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/commands/wildcard.c (match_files): Handle filenames
6787 without explicit device.
6788 (wildcard_expand): Don't add explicit device if not already present.
6789 * tests/grub_script_echo1.in: Add a new expansion test.
6790
87edb894
VS
67912012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 Replace single-linked with double-linked lists. It results in more
6794 compact and more efficient code.
6795
6796 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6797 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6798 (grub_list_remove): Moved from here ...
6799 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6800 (grub_prio_list_insert): Set prev.
6801 * include/grub/list.h (grub_list): Add prev. All users updated.
6802
48b391e9
VS
68032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 Handle newer autotools. Add some missing quotes while on it.
6806
6807 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6808 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6809 (pkgdata_DATA): ... here.
6810 * Makefile.util.def (update-grub_lib): Removed.
6811 * conf/Makefile.common (pkglib_DATA): Removed.
6812 (pkglib_SCRIPTS): Likewise.
6813 (pkgdata_DATA): New variable.
6814 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6815 needed.
6816 Add missing quotes.
6817 Remove unused variable while on it.
6818 * tests/util/grub-shell.in: Likewise.
6819 * util/grub-install.in: Likewise.
6820 * util/grub-mkconfig.in: Likewise.
6821 * util/grub-mknetdir.in: Likewise.
6822 * util/grub-mkrescue.in: Likewise.
6823 * util/grub-mkstandalone.in: Likewise.
6824 * util/grub.d/00_header.in: Likewise.
6825 * util/grub.d/10_hurd.in: Likewise.
6826 * util/grub.d/10_illumos.in: Likewise.
6827 * util/grub.d/10_kfreebsd.in: Likewise.
6828 * util/grub.d/10_linux.in: Likewise.
6829 * util/grub.d/10_netbsd.in: Likewise.
6830 * util/grub.d/10_windows.in: Likewise.
6831 * util/grub.d/20_linux_xen.in: Likewise.
6832 * util/grub.d/30_os-prober.in: Likewise.
6833 * util/update-grub_lib.in: Removed.
6834
68352012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6836
6837 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6838 a workaround for intel problem.
6839
66832792
PRP
68402012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
68412012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
68422012-01-23 pfsmorigo
6843
6844 * util/grub-install.in: Support dd'in into PreP partition.
6845 * util/grub-probe.c (probe): Support discovering partition type.
6846 (main): Support -t msdos_parttype.
6847
7816a17e
VS
68482012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6851 infinite recursion using counter.
6852 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6853 init to skip it if the magic check fails.
6854 (dec_stream_header): Init s->crc32.
6855
8f9d3a8c
ZB
68562012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
68572012-01-22 Zachary Bedell <pendorbound@gmail.com>
68582012-01-22 Richard Laager <rlaager@wiktel.com>
6859
6860 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6861 All users updated.
6862 (find_bestub): Determine correct size.
6863 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6864 (scan_disk): Align the size down.
6865 Call check pool before find_bestub to have ashift.
6866
b055dd32
VS
68672012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6870 dprintf in no-malloc zone.
6871
d779e9bd
ML
68722012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6873
6874 * configure.ac: Add back in test for limits.h.
6875
b508af69
VS
68762012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 Support 4K-sector NTFS.
6879
6880 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6881 (grub_ntfs_data): Remove blocksize.
6882 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6883 Remove data argument. All users updated.
6884
dad9c8b5
VS
68852012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6888 being in .text to avoid dprel references.
6889 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6890 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6891 (grub_arch_highmemsize): Likewise.
6892 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6893 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6894 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6895
d43a777e
VS
68962012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6899
6900 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6901 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6902
34e4208f
VS
69032012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6906 GRUB_UTIL.
6907 (grub_set_datetime_cmos): Likewise.
6908
3ec0fc1c
VS
69092012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Make XZ compression parameters dependent on target and not host CPU.
6912
6913 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6914 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6915
22489834
VS
69162012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6919 set but not used variable.
6920
8502fbca
VS
69212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6924 created when no uuid support is compiled into mkfs.reiser.
6925
76df2068
VS
69262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6929 (utf8_to_macroman): Do the opposite.
6930 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6931
64e3f8f6
VS
69322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * configure.ac: Refise build qemu_mips w/o unifont.
6935
9c271078
VS
69362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Eliminate grub_min/grub_max prone to overflow usage.
6939
6940 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6941 (poll_nonroot_hub): Likewise.
6942 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6943 (grub_affs_label): Likewise.
6944 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6945 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6946 (grub_hfs_label): Likewise.
6947 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6948 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6949 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6950 (zap_leaf_array_get): Likewise.
6951 (dnode_get_path): Likewise.
6952 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6953 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6954 * grub-core/script/execute.c (grub_script_break): Likewise.
6955 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6956 grub_max.
6957 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6958 * include/grub/misc.h (grub_min): Removed.
6959 (grub_max): Likewise.
6960
80662dbc
VS
69612012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6962
6963 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6964 direct.inode = 0.
6965
e6da1467
VS
69662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6969
b1ac4cb1
VS
69702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6973
b4bf7c3b
VS
69742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6977 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6978
8ee1101a
VS
69792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6982 rather than a hack for grub_strncasemap.
6983
69842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 Support multiple initrds
6987 Note: part of this was accidently committed in r3739.
6988
6989 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6990 initrd.
6991 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6992 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6993 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6994 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6995 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6996
4d1e2bc9
VS
69972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7000 disks with unknown size.
7001 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7002
75b49ebe
VS
70032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Remove defines pertaining to arbitrary limits not affecting GRUB
7006 anymore.
7007
7008 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7009 (EXT2_MAX_SYMLINKCNT): Likewise.
7010 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7011 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7012 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7013 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7014 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7015 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7016 (DN_MAX_OBJECT_SHIFT): Likewise.
7017 (DN_MAX_OFFSET_SHIFT): Likewise.
7018 (DN_MAX_OBJECT): Likewise.
7019 (DNODES_PER_LEVEL_SHIFT): Likewise.
7020 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7021 (SPA_MAXBLOCKSIZE): Likewise.
7022 (SPA_BLOCKSIZES): Likewise.
7023 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7024 (MZAP_MAX_BLKSZ): Likewise.
7025
74a1dce7
VS
70262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7029 handle NULL appropriately.
7030 Remove MIN.
7031
30c7d3ce
VS
70322012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 Fix efiemu.
7035
7036 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7037 cpu/types.h.
7038 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7039 * configure.ac: Fix efiemu check.
7040
3c76ea0c
VS
70412012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7044 grub_probe.
7045 Reported by: adamwill
7046
7e532280
SG
70472012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7048
7049 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7050
30492374
VS
70512012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 Fix handling of wide characters in gfxterm.
7054
7055 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7056 (clear_char): Likewise.
7057 (paint_char): Skip code == NULL chars.
7058 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7059
e70cb72f
VS
70602012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/normal/charset.c: Move comment to right place.
7063
5c827cf9
VS
70642012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7067 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7068 (grub_affs_mount): Revert the correct version checking.
7069
53603892
VS
70702012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * docs/grub.texi (Unicode): Mention several other unsupported features.
7073
ff094b9b
VS
70742011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7077 case statements as compile-time one.
7078 (direct_read): Prevent spurious warnings.
7079 (grub_squash_read_data): Likewise.
7080
c029da8a
VS
70812011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 Various squash4 fixes and LZO and XZ support.
7084
7085 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7086 Add xzembed source files.
7087 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7088 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7089 (grub_squash_inode): New subtype long_dir.
7090 (SQUASH_TYPE_LONG_DIR): New inode type.
7091 (COMPRESSION): New enum.
7092 (XZBUFSIZ): New const.
7093 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7094 (read_chunk): Use data->decompress.
7095 (zlib_decompress): New function.
7096 (lzo_decompress): Likewise.
7097 (xz_decompress): Likewise.
7098 (squash_mount): Set new data fields.
7099 (grub_squash_iterate_dir): Handle long dir.
7100 (squash_unmount): Free xzdec and xzbuf.
7101 (grub_squash_open): Check ino type.
7102 (direct_read): Stylistic fixes. Use data->decompress.
7103 (grub_squash_read_data): Likewise.
7104 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7105 (get_byte): Likewise.
7106 (grub_zlib_disk_read): Removed.
7107 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7108 (GRUB_POSIX_BOOL_DEFINED): New define.
7109 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7110 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7111 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7112 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7113
7a45a539
VS
71142011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 Don't override more informative errors.
7117
7118 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7119 * grub-core/font/font.c (open_section): Likewise.
7120 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7121 filename. Don't override errors.
7122 (grub_cmd_openbsd_ramdisk): Don't override errors.
7123 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7124 (grub_cmd_initrd): Likewise.
7125 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7126 (grub_cmd_initrd): Likewise.
7127 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7128 (grub_cmd_linux): Likewise.
7129 (grub_cmd_initrd): Likewise.
7130 (grub_cmd_payload): Likewise.
7131 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7132 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7133 (grub_cmd_module): Likewise.
7134 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7135 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7136 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7137 (grub_cmd_xnu_mkext): Likewise.
7138 (grub_cmd_xnu_ramdisk): Likewise.
7139 (grub_xnu_check_os_bundle_required): Likewise.
7140 (grub_xnu_load_kext_from_dir): Likewise.
7141 (grub_cmd_xnu_kextdir): Likewise.
7142 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7143
b2d004db
VS
71442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7147 as 1024 in block size field. Found on one of my test images.
7148 Small optimisation while on it.
7149
ec000eac
VS
71502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7153 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7154 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7155 performance fixes while on it.
7156 (grub_sfs_close): Fix memory leak while on it.
7157 (grub_sfs_label): Convert Latin1 to UTF-8.
7158
f50e1165
VS
71592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7162 space to avoid overflows.
7163 (grub_hfs_label): Convert from macroman to UTF-8.
7164
2ae254de
VS
71652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7168
0108f491
VS
71692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7172
f45f5f89
VS
71732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * unicode: Import Unicode 6.0 data.
7176
4d8c4765
VS
71772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7178
63fa8ef9
VS
7179 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7180 outside of range.
7181
71822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
7185
7186 * include/grub/charset.h (grub_getend): New function.
7187 * grub-core/script/function.c (grub_script_function_find): Use
7188 grub_getend.
7189 * grub-core/normal/completion.c (add_completion): Likewise.
7190
f3cb4a4e
VS
71912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7194 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7195 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7196 (GRUB_UNICODE_TAG_END): Likewise.
7197 (GRUB_UNICODE_LAST_VALID): Likewise.
7198
5da8dbc5
VS
71992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7202 len and make it smaller. All users updated.
7203 * util/import_unicode.py: Put length and not end character.
7204 Check length.
7205
8569f13d
VS
72062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 Make better Unicode-compliant and unify some UTF-8 code pathes.
7209
7210 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7211 valid character.
7212 (grub_is_valid_utf8): Use grub_utf8_process.
7213 Check resulting code range.
7214 (grub_utf8_to_ucs4): Use grub_utf8_process.
7215 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7216 valid character.
7217
cc4fddf5
VS
72182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7221
bbc47747
VS
72222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * docs/grub.texi (Filesystems): Mention AFS.
7225
f63d6bf4
VS
72262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * docs/grub.texi (Filesystems): Clarify restrictions.
7229 (Regexp): Mention non-Unicode regexp behaviour.
7230 (Other): Mention non-Unicode matching behaviour.
7231
74bbf0db
VS
72322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7233
f63d6bf4 7234 Make HFS implementation use MacRoman.
74bbf0db
VS
7235
7236 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7237 (macroman): New const array.
7238 (macroman_to_utf8): New function.
7239 (utf8_to_macroman): Likewise.
7240 (grub_hfs_find_dir): Use utf8_to_macroman.
7241 (grub_hfs_dir): Use macroman_to_utf8.
7242 Set case_insensitive.
7243
4ea0316e
VS
72442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7247
d3c13cbd
VS
72482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 Integrate hints into autogeneration scripts.
7251
7252 * docs/grub.texi (Filesystems): Add a hostdisk example.
7253 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7254 (grub-probe): Add ofpath.
7255 * gentpl.py: Remove group nosparc64.
7256 * grub-core/commands/search.c (cache_entry): New struct.
7257 (cache): New var.
7258 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7259 * grub-core/commands/search_wrap.c (options): Add platform-specific
7260 hint options.
7261 (grub_cmd_search): Handle platform-specific hints.
7262 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7263 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7264 (grub_util_biosdisk_data): Likewise.
7265 (grub_util_biosdisk_open): Set device_map.
7266 (read_device_map): Handle "" as indication of no map.
7267 Set device_map.
7268 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7269 (grub_util_biosdisk_get_compatibility_hint): New function.
7270 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7271 * include/grub/emu/hostdisk.h
7272 (grub_util_biosdisk_get_compatibility_hint): New proto.
7273 * util/grub-install.in: Don't call grub-mkdevicemap.
7274 Add platform-specific hint to load.cfg.
7275 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7276 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7277 hints. Set root preliminary to compatibility hint, not to OS name.
7278 * util/grub-probe.c (PRINT_*): Add hints.
7279 (print): Make static.
7280 (escape_of_path): New function.
7281 (guess_bios_drive): Likewise.
7282 (guess_efi_drive): Likewise.
7283 (guess_baremetal_drive): Likewise.
7284 (print_full_name): Likewise.
7285 (probe): Handle hints.
7286 (main): Likewise.
7287 * util/ieee1275/devicemap.c: Removed.
7288 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7289 updated.
7290 (grub_util_devname_to_ofpath): Return NULL on failure.
7291
7292 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7293 resource leak.
7294 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7295
7296 * po/POTFILES.in: Regenerated.
7297
7298 Allow purely long options
7299
7300 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7301 (SHORT_ARG_USAGE): Likewise.
7302 (grub_arg_show_help): Compare opt with help_options.
7303 (parse_option): Receive opt as argument. If makes big simplificatons.
7304 All users updated
7305
00ce2df3
VS
73062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7309 Restructure to avoid warning.
7310
e77e325f
VS
73112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * util/grub-install.in: Account for possible escaped comma in device
7314 name.
7315
165099ea
VS
73162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7319 channel.
7320
ce4a999d
VS
73212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7324 allocation and zero-setting.
7325 (grub_ieee1275_get_devname): Check that alias is complete.
7326
379586ad
VS
73272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7330 unaligned segments.
7331
9197b0ad
VS
73322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7335 prefix.
7336 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7337 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7338 Add ieee1275 prefix.
7339
edddb7f9
VS
73402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * docs/grub.texi (Filesystems): Update.
7343
a1a8b1b9
VS
73442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 Support odc, newc and bigendian cpio formats.
7347
7348 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7349 * grub-core/Makefile.core.def (newc): New module.
7350 (odc): Likewise.
7351 (cpio_be): Likewise.
7352 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7353 (MAGIC): Likewise.
7354 (MAGIC2): Likewise.
7355 (head) [MODE_ODC]: Adapt for the format.
7356 (head) [MODE_NEWC]: Likewise.
7357 (head) [!MODE_*]: Write fields of interest as arrays.
7358 (MAGIC_USTAR): Removed.
7359 (read_number) [MODE_NEWC]: Change to hex.
7360 (read_number) [!MODE_*]: Parse binary arrays.
7361 (grub_cpio_find_file): Factor out the code for better structure and
7362 always use read_number.
7363 (grub_cpio_mount): Use MAGIC and MAGIC2.
7364 (grub_cpio_dir): Exit on first hook non-0 return.
7365 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7366 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7367 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7368 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7369 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7370 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7371 * grub-core/fs/newc.c: New file.
7372 * grub-core/fs/odc.c: Likewise.
7373 * grub-core/fs/cpio_be.c: Likewise.
7374
58eba9ee
VS
73752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 Fix handling of tar numbers occupying the whole field.
7378
7379 * grub-core/fs/cpio.c (read_number): New function.
7380 (grub_cpio_find_file): Use read_number instead of strtoull.
7381
a54a0e12
VS
73822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7385 occupying the whole field size.
7386
a6120aca
LA
73872011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7388
7389 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7390
a93964ce
VS
73912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7394
3ea1ca46
SG
73952011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7396
7397 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7398 TARGET_IMG_LDFLAGS.
7399
b87f7ef2
VS
74002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7403 (mountinfo_entry): Increase the field size to take escaping into
7404 account.
7405 (find_root_device_from_libzfs): Add one byte to size of strings for
7406 security.
7407
62092395
VS
74082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7411 an assert.
7412 * util/grub-setup.c (setup): Likewise.
7413
1f0b1a77
VS
74142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7417 _LzmaDecodeA.
7418
8eba9997
VS
74192011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * docs/grub.texi (Internationalisation): New section.
7422
dd0c91e9
VS
74232011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * docs/grub.texi (Loopback booting): New section.
7426
74272011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7428
7429 * util/grub-mkstandalone.in: Fix minor typo errors.
7430
198e150a
VS
74312011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7434
7435 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7436 net/icmp.c and net/icmp6.c.
7437 (http): New module.
7438 (priority_queue): Likewise.
7439 * grub-core/io/bufio.c: Rewritten.
7440 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7441 TYPE_WITH_CONFIGFILE_OPTION.
7442 (legacy_commands): Add bootp and dhcp.
7443 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7444 (grub_legacy_parse): Likewise.
7445 * grub-core/lib/priority_queue.c: New file.
7446 * grub-core/net/arp.c: Add missing license header.
7447 (arp_find_entry): Removed.
7448 (arp_find_entry): Likewise.
7449 (grub_net_arp_resolve): Rename to ...
7450 (grub_net_arp_send_request): ...this.
7451 (grub_net_arp_receive): New card argument.
7452 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7453 Set router and DNS server.
7454 (grub_net_configure_by_dhcp_ack): Handle routing information.
7455 (grub_cmd_bootp): Set checksum.
7456 (grub_bootp_init): Remove net_dhcp.
7457 * grub-core/net/dns.c: New file.
7458 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7459 completion.
7460 (get_card_packet): Handle allocation.
7461 (grub_efinet_findcards): Set mtu.
7462 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7463 (get_card_packet): Handle allocation.
7464 (emucard): Set mtu.
7465 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7466 (GRUB_MOD_INIT): Set mtu.
7467 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7468 mtu.
7469 (get_card_packet): Handle allocation.
7470 (grub_ofnet_findcards): Set mtu.
7471 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7472 assert.
7473 (grub_net_recv_ethernet_packet): Handle IPv6.
7474 * grub-core/net/http.c: New file.
7475 * grub-core/net/icmp.c: Likewise.
7476 * grub-core/net/icmp6.c: Likewise.
7477 * grub-core/net/ip.c (ip6addr): New type.
7478 (ip6hdr): Likewise.
7479 (reassemble): Likewise.
7480 (cmp): New function.
7481 (reassembles): New variable.
7482 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7483 (id): New variable.
7484 (send_fragmented): New function.
7485 (grub_net_send_ip_packet): Rename to ...
7486 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7487 Handle non-UDP.
7488 (grub_net_recv_ip_packets): Rename to ...
7489 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7490 (free_rsm): New function.
7491 (free_old_fragments): Likewise.
7492 (grub_net_recv_ip4_packets): New function.
7493 (grub_net_send_ip6_packet): Likewise.
7494 (grub_net_send_ip_packet): Likewise.
7495 (grub_net_recv_ip6_packets): Likewise.
7496 (grub_net_recv_ip_packets): Likewise.
7497 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7498 (LINK_LAYER_CACHE_SIZE): New const.
7499 (link_layer_find_entry): New function.
7500 (grub_net_link_layer_add_address): Likewise.
7501 (grub_net_link_layer_resolve_check): Likewise.
7502 (grub_net_link_layer_resolve): Likewise.
7503 (grub_net_ipv6_get_slaac): Likewise.
7504 (grub_net_ipv6_get_link_local): Likewise.
7505 (grub_cmd_ipv6_autoconf): Likewise.
7506 (parse_ip): Handle one number representation.
7507 (parse_ip6): New functoion.
7508 (match_net): Handle IPv6.
7509 (grub_net_resolve_address): Handle IPv6 and DNS.
7510 (grub_net_resolve_net_address): Handle IPv6.
7511 (route_cmp): New function.
7512 (grub_net_route_address): Find best route.
7513 (grub_net_addr_to_str): Handle IPv6.
7514 (grub_net_addr_cmp): New function.
7515 (grub_net_add_addr): Register local route.
7516 (print_net_address): Handle net address.
7517 (grub_net_poll_cards): Retransmit TCP.
7518 (grub_net_poll_cards_idle_real): Likewise.
7519 (have_ahead): New function.
7520 (grub_net_seek_real): Use underlying seek.
7521 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7522 * grub-core/net/tcp.c: New file.
7523 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7524 (cmp): New function.
7525 (ack): Likewise.
7526 (tftp_receive): Handle unordered input.
7527 (destroy_pq): New function.
7528 (tftp_close): Close pq.
7529 * grub-core/net/udp.c: Put missing license header.
7530 (grub_net_udp_socket): New function.
7531 (udp_socket_register): Likewise.
7532 (grub_net_udp_close): Likewise.
7533 (grub_net_recv_udp_packet): Check checksum.
7534 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7535 * include/grub/misc.h (grub_memchr): New function.
7536 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7537 (grub_net_card_driver): Return buf in recv.
7538 (grub_net_slaac_mac_list): New struct.
7539 (grub_network_level_protocol_id): Add ipv6.
7540 (grub_net_network_level_addr): Likewise.
7541 (grub_net_network_level_net_addr): Likewise.
7542 (grub_net_app_protocol): Add seek.
7543 (grub_net_socket): Removed.
7544 (grub_net_sockets): Likewise.
7545 (grub_net_socket_register): Likewise.
7546 (grub_net_socket_unregister): Likewise.
7547 (FOR_NET_SOCKETS): Likewise.
7548 (grub_net_add_addr): Add const.
7549 (GRUB_NET_BOOTP_*): New enum.
7550 (grub_net_addr_cmp): New proto.
7551 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7552 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7553 (grub_net_hwaddr_to_str): NEw proto.
7554 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7555 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7556 (grub_dns_init): New proto.
7557 (grub_dns_fini): Likewise.
7558 (grub_net_tcp_retransmit): Likewise.
7559 (grub_net_link_layer_add_address): Likewise.
7560 (grub_net_link_layer_resolve_check): Likewise.
7561 (grub_net_link_layer_resolve): Likewise.
7562 (grub_net_dns_lookup): Likewise.
7563 (grub_net_add_dns_server): Likewise.
7564 (grub_net_remove_dns_server): Likewise.
7565 (GRUB_NET_TRIES): New const.
7566 (GRUB_NET_INTERVAL): Likewise.
7567 * include/grub/net/arp.h: Mostly rewritten.
7568 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7569 * include/grub/net/ip.h: Mostly rewritten.
7570 * include/grub/net/netbuff.h: Indent.
7571 * include/grub/net/tcp.h: New file.
7572 * include/grub/net/udp.h: Mostly rewritten.
7573 * include/grub/priority_queue.h: New file.
7574 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7575 (grub_swap_bytes64_compile_time): Likewise.
7576 (grub_cpu_to_be16_compile_time): Likewise.
7577 (grub_cpu_to_be32_compile_time): Likewise.
7578 (grub_cpu_to_be64_compile_time): Likewise.
7579 (grub_be_to_cpu64_compile_time): Likewise.
7580
215c1800
VS
75812011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7584 UINT_TO_PTR with cast.
7585
c17e546c
VS
75862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7589 don't use them.
7590
ff6b18b6
VS
75912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7594 already there.
7595
70ffcc93
VS
75962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7599 confusing ipxe.
7600
e5f4d260
VS
76012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7604 Add missing const attribute.
7605 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7606 Likewise.
7607 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7608 Likewise.
7609
8e54b4b7
VS
76102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7613 misaligned access.
7614 (serpent_setkey): Likewise.
7615 (serpent_encrypt_internal): Likewise.
7616 (serpent_decrypt_internal): Likewise.
7617 (serpent_encrypt): Don't put an alignment-increasing cast.
7618 (serpent_decrypt): Likewise.
7619 (serpent_test): Likewise.
7620
813c0a2b
VS
76212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7624
f2b60fbd
VS
76252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7628
7629 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7630 grub_addr_t casts.
7631 (PTR_TO_UINT64): Likewise.
7632 (PTR_TO_UINT32): Likewise.
7633
5ef5c511
VS
76342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7637 because of stack.
7638 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7639 limit.
7640
c476e6df
VS
76412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7644 text_width > available width a bit more gracefully.
7645
384ad7cc
VS
76462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7649 current address calculation.
7650
96f8caf8
VS
76512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7654 stack.
7655 (encode_block): Likewise.
7656
276b7a8b
VS
76572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7660 certainety.
7661
e3fd394a
VS
76622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7665 non-RS part to avoid RS messing with GDT.
7666 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7667 Increase to suit in realmode routines.
7668
76692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/kern/i386/realmode.S: Increase alignment.
7672 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7673
ee9c2e7a
VS
76742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7677 be deterministic.
7678 (syndroms): Compute 0 syndrom.
7679 (rs_recover): Use 0 syndrom.
7680
7a7f7cc9
VS
76812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7684
a14b16d1
VS
76852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7688 brackets.
7689
9f59e9fc
VS
76902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7691
ca1b552c
VS
7692 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7693 account.
7694 (get_top_pad): Likewise.
7695 (get_right_pad): Likewise.
7696 (get_bottom_pad): Likewise.
7697
76982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7701
e739d698
VS
77022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7705 attribute as the structure isn't guaranteed to be properly aligned.
7706 (grub_efi_pci_device_path): Likewise.
7707 (grub_efi_pccard_device_path): Likewise.
7708 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7709 specify the size of `memory_type'.
7710 (grub_efi_vendor_device_path): Likewise.
7711 (grub_efi_controller_device_path): Likewise.
7712 (grub_efi_acpi_device_path): Likewise.
7713 (grub_efi_expanded_acpi_device_path): Likewise.
7714 (grub_efi_atapi_device_path): Likewise.
7715 (grub_efi_scsi_device_path): Likewise.
7716 (grub_efi_fibre_channel_device_path): Likewise.
7717 (grub_efi_1394_device_path): Likewise.
7718 (grub_efi_usb_device_path): Likewise.
7719 (grub_efi_usb_class_device_path): Likewise.
7720 (grub_efi_i2o_device_path): Likewise.
7721 (grub_efi_mac_address_device_path): Likewise.
7722 (grub_efi_ipv4_device_path): Likewise.
7723 (grub_efi_ipv6_device_path): Likewise.
7724 (grub_efi_infiniband_device_path): Likewise.
7725 (grub_efi_uart_device_path): Likewise.
7726 (grub_efi_vendor_messaging_device_path): Likewise.
7727 (grub_efi_hard_drive_device_path): Likewise.
7728 (grub_efi_cdrom_device_path): Likewise.
7729 (grub_efi_vendor_media_device_path): Likewise.
7730 (grub_efi_file_path_device_path): Likewise.
7731 (grub_efi_protocol_device_path): Likewise.
7732 (grub_efi_piwg_device_path): Likewise.
7733 (grub_efi_bios_device_path): Likewise.
7734
cb8f88ea
VS
77352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7738 (grub_ucs4_to_utf8_alloc): Likewise.
7739 (grub_ucs4_to_utf8): Likewise.
7740 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7741 (grub_ucs4_to_utf8_alloc): Likewise.
7742
309e5352
VS
77432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 AFFS never uses unicode.
7746
7747 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7748 (grub_latin1_to_utf8): New inline function.
7749 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7750
e7987e1b
VS
77512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7754 overflow.
7755
efc2616e
VS
77562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7759 (grub_squash_dirent_header): Likewise.
7760 (read_chunk): Don't double swap.
7761 (grub_squash_iterate_dir): Fix swap sizes.
7762
3c349f5a
VS
77632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7766
b453412d
VS
77672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7770 (grub_hfs_iterate_dir): Likewise.
7771
12e9d4d1
VS
77722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 Fix video on platforms where unaligned access is forbidden.
7775 Make several optimisations while on it.
7776
7777 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7778 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7779 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7780 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7781 Disable.
7782 (grub_video_fbblit_replace_16bit_1bit):
7783 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7784 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7785 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7786 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7787 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7788 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7789 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7790 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7791 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7792 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7793 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7794 (grub_video_fbblit_replace_index_RGB888): Likewise.
7795 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7796 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7797 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7798 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7799 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7800 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7801 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7802 Disable.
7803 (grub_video_fbblit_blend_XXX565_1bit):
7804 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7805 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7806 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7807 void *.
7808 * grub-core/video/fb/video_fb.c (common_blitter)
7809 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7810 (grub_video_fb_create_render_target_from_pointer)
7811 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7812 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7813 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7814 definition.
7815 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7816
ace96609
VS
78172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7820 HH22 and HM10 relocations.
7821
fd261d73
VS
78222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7825
e59b7857
VS
78262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7829 allocation succeeded.
7830
9b4baaa4
VS
78312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7834 argument a u8 pointer. All users updated.
7835 Handle unaligned buffers.
7836
dc713193
VS
78372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7840 add_part to workaround compiler bug.
7841
30dd48c2
VS
78422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7845
0c6087a8
VS
78462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7849 Reserve alignment invariants.
7850 (grub_multiboot_load): Likewise.
7851 (retrieve_video_parameters): Likewise.
7852 (grub_multiboot_make_mbi): Likewise.
7853
c2e77777
VS
78542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7857 incorrect pointer.
7858
b70b6d11
VS
78592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7862 (grub_pata_pio_write): Likewise.
7863
02a2bf83
VS
78642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 Add noreturn attributes and remove unreachable code.
7867
7868 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7869 code.
7870 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7871 code. Mark as noreturn.
7872 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7873 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7874 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7875 unreachable code.
7876 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7877 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7878 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7879 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7880 * include/grub/kernel.h (grub_main): Mark as noreturn.
7881 * include/grub/reader.h (grub_rescue_run): Likewise.
7882
2019d09e
VS
78832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7886 redundant declaration.
7887
d1c501ee
VS
78882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7891 redundant declaration.
7892 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7893
61664420
VS
78942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7897 to ensure alignment.
7898 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7899 alignment. Ensure tmp alignment.
7900 (grub_cmd_hdparm): Ensure buf alignment.
7901 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7902 to ensure alignment.
7903 (grub_ata_dumpinfo): Ensure text alignment.
7904 (grub_atapi_identify): Preserve alignment invariant.
7905 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7906
0d51ee20
VS
79072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7910 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7911 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7912 * include/grub/misc.h (grub_reboot)
7913 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7914 (grub_halt) [__mips__]: Likewise.
7915
753ef8c1
VS
79162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7919 Remove redundant declaration.
7920 (grub_mmap_get_post64): Likewise.
7921 (grub_mmap_get_upper): Likewise.
7922 (grub_mmap_get_lower): Likewise.
7923
85c85365
VS
79242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7927 uint32_t * to ensure alignment.
7928 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7929
a23f2cc4
VS
79302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7931
93018f64
VS
7932 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7933 uint16_t * to ensure alignment.
7934 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7935 alignment.
7936
79372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7940 to ensure alignment.
7941 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7942
58acccd6
VS
79432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7946 Handle unaligned pointers.
7947 (u32at): Likewise.
7948 (u64at): Likewise.
7949 (fixup): Use byte access instead of v16at.
7950 (find_attr): Fix imporper usage of v32at.
7951 (read_data): Likewise.
7952 (list_file): Handle byte-swapping and unaligned strings.
7953 (grub_ntfs_label): Likewise.
7954
9b05cad7
VS
79552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7958 as it's not necessarily aligned.
7959
b3950b84
VS
79602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7963 redundant declaration.
7964 (grub_serial_init): Likewise.
7965 (grub_terminfo_init): Likewise.
7966
fcd232b7
VS
79672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7970 function.
7971 (ZAP_HASH_IDX): Likewise.
7972 (ZAP_LEAF_HASH_SHIFT): Likewise.
7973 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7974 (LEAF_HASH): Likewise.
7975 (ZAP_LEAF_NUMCHUNKS): Likewise.
7976 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7977 alignment invariants. Return pointer. All users updated.
7978 (ZAP_LEAF_ENTRY): Make into inline function.
7979 (NBBY): Removed.
7980 (xor): LIkewise.
7981 (xor_out): Use grub_crypto_xor.
7982 (dnode_get_path): Use grub_get_unaligned.
7983 (nvlist_find_value): Likewise.
7984 (grub_zfs_nvlist_lookup_uint64): Likewise.
7985 (grub_zfs_nvlist_lookup_string): Likewise.
7986 (get_nvlist_size): Likewise.
7987 (grub_zfs_open): Likewise.
7988 (fill_fs_info): Likewise.
7989 (grub_zfs_dir): Likewise.
7990 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7991 alignment invariants.
7992 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7993 necessarily aligned.
7994
f138623a
VS
79952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7998
564840dc
VS
79992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8002 arithmetic to conserve alignment invariants.
8003
9b40df20
VS
80042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8007 redundant declaration.
8008 (grub_efiemu_mm_obtain_request): Likewise.
8009 (grub_efiemu_prepare): Likewise.
8010
d1c930f9
VS
80112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8014 to match types.
8015
4c5f3056
VS
80162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8019 case of aunaligned recptr.
8020 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8021 alignment.
8022 (grub_hfsplus_btree_search): Handle unaligned index.
8023
728cba91
VS
80242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8027 to get freetag and skip.
8028
eb561f31
VS
80292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8032 array.
8033 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8034 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8035
20993fbb
VS
80362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8039 name for checksum and fix allocation algorithm.
8040
1f313b94
VS
80412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * include/grub/types.h (grub_properly_aligned_t): New type.
8044 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8045 (grub_get_unaligned16): Add explicit casts.
8046 (grub_get_unaligned32): Likewise.
8047 (grub_get_unaligned64): Likewise.
8048 (grub_set_unaligned16): New function.
8049 (grub_set_unaligned32): Likewise.
8050
47ae27ec
VS
80512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8054
78c2cd1c
VS
80552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8058 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8059 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8060
53072f9b
VS
80612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8064 conditionals.
8065
055dc239
VS
80662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8069 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8070
496bd074
VS
80712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Unify and improve RAID and crypto xor.
8074
8075 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8076 changed to grub_crypto_xor
8077 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8078 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8079 Use bigger types when possible.
8080
ef6e4335
VS
80812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/disk/raid.c (scan_devices): Fix condition.
8084
5d048bf2
VS
80852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8088 Make name a const ptr.
8089
ee533335
VS
80902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8093 first argument a const pointer.
8094 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8095 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8096 proto.
8097 (grub_children_iterate): Likewise.
8098 (grub_machine_mmap_iterate): Remove redundant declaration.
8099
cc8f3668
VS
81002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8103 (grub_cmd_acpi) [!x86]: Disable EBDA.
8104
c5fc563a
VS
81052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Enable UTF8 in gnulib regexp.
8108
8109 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8110 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8111 (isupper): Use grub_isupper.
8112 (isascii): New inline function.
8113 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8114 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8115 * grub-core/normal/charset.c (grub_utf8_process): New function.
8116 (grub_utf8_to_utf16): Use grub_utf8_process.
8117 (grub_encode_utf8_character): New function.
8118 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8119 * include/grub/charset.h (grub_utf8_process): New declaration.
8120 (grub_encode_utf8_character): Likewise.
8121 * include/grub/misc.h (grub_islower): New inline function.
8122 (grub_isupper): Likewise.
8123 (grub_strchrsub): Moved down to fix the definitions.
8124
0af2346f
VS
81252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8128 specification.
8129
74dbd244
VS
81302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * include/grub/loader.h (grub_loader_register_preboot_hook):
8133 Use struct preboot * and not void * for handle. All users updated.
8134 (grub_loader_unregister_preboot_hook): Likewise.
8135
1bc8f60d
VS
81362011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8139 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8140 UTF-16-BE. All users updated.
8141 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8142 (grub_hfsplus_iterate_dir): Likewise.
8143 (grub_hfsplus_label): Likewise.
8144
48d6e456
VS
81452011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8148
bf3a3857
VS
81492011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Add missing const qualifiers.
8152
8153 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8154 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8155 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8156 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8157 (grub_lvm_check_flag): Likewise.
8158 * grub-core/efiemu/i386/coredetect.c
8159 (grub_efiemu_get_default_core_name): Likewise
8160 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8161 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8162 * grub-core/fs/ntfs.c (fixup): Likewise.
8163 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8164 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8165 (fzap_lookup): Likewise.
8166 (zap_lookup): Likewise.
8167 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8168 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8169 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8170 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8171 (grub_freebsd_add_meta_module): Likewise.
8172 (grub_cmd_freebsd_module): Likewise.
8173 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8174 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8175 (grub_xnu_writetree_get_size): Likewise.
8176 (grub_xnu_writetree_toheap_real): Likewise.
8177 (grub_xnu_find_key): Likewise.
8178 (grub_xnu_create_key): Likewise.
8179 (grub_xnu_create_value): Likewise.
8180 (grub_xnu_register_memory): Likewise.
8181 (grub_xnu_check_os_bundle_required): Likewise.
8182 (grub_xnu_scan_dir_for_kexts): Likewise.
8183 (grub_xnu_load_kext_from_dir): Likewise.
8184 * grub-core/normal/color.c (color_list): Likewise.
8185 * grub-core/normal/completion.c (current_word): Likewise.
8186 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8187 * grub-core/term/serial.c (grub_serial_find): Likewise.
8188 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8189 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8190 Likewise.
8191 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8192 (grub_freebsd_add_meta_module): Likewise.
8193 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8194 * include/grub/net.h (grub_net_card_driver): Likewise.
8195 (grub_net_card): Likewise.
8196 (grub_net_app_protocol): Likewise.
8197 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8198 * include/grub/serial.h (grub_serial_find): Likewise.
8199 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8200 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8201 (grub_xnu_create_value): Likewise.
8202 (grub_xnu_find_key): Likewise.
8203 (grub_xnu_scan_dir_for_kexts): Likewise.
8204 (grub_xnu_load_kext_from_dir): Likewise.
8205
8206 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8207 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8208 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8209 Moved from here ...
8210 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8211
112b4837
CW
82122011-11-28 Colin Watson <cjwatson@ubuntu.com>
8213
8214 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8215
49e891ac
VS
82162011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8219 (read_device): Fix size calculation.
8220
fd258e5c
RM
82212011-11-25 Robert Millan <rmh@gnu.org>
8222
8223 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8224 (find_root_device_from_libzfs): Add zpool output parser to be used
8225 as fallback when libzfs isn't available.
8226
78845dc2
SG
82272011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8228
8229 * po/Makefile.in.in: Add missing escape-continuation.
8230
adac5211
VS
82312011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8234
10b64f1c
VS
82352011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8238
bb416954
VS
82392011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8242
bdfe9eeb
VS
82432011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8246
581ffa8a
VS
82472011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/lib/adler32.c: Add missing license specification.
8250 * grub-core/lib/crc64.c: Likewise.
8251 * grub-core/loader/i386/pc/plan9.c: Likewise.
8252 * grub-core/partmap/plan.c: Likewise.
8253
2536cf64
LK
82542011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8255
8256 Add facility to debug GRUB with gdb under qemu.
8257
8258 * grub-core/gdb_grub.in: New file.
8259 * grub-core/gmodule.pl.in: Likewise.
8260 * grub-core/Makefile.core.def (gmodule.pl): New script.
8261 (gdb_grub): Likewise.
8262
bc108a4a
VS
82632011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * util/grub-mount.c (argp_parser): Accept relative pathes.
8266 * util/grub-fstest.c (argp_parser): Likewise.
8267
111c1778
VS
82682011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 Plan9 support.
8271
8272 * Makefile.util.def (libgrubmods): Add
8273 grub-core/partmap/plan.c.
8274 * docs/grub.texi: Notice Plan9 support.
8275 * grub-core/Makefile.core.def (plan9): New module.
8276 (part_plan): Likewise.
8277 * grub-core/loader/i386/pc/plan9.c: New file.
8278 * grub-core/partmap/plan.c: Likewise.
8279 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8280 define.
8281 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8282 * include/grub/mm.h (grub_extend_alloc): New inline function.
8283
c30be3b6
VS
82842011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Make Reed-Solomon faster by using power of generator representation of
8287 GF(256)*.
8288
8289 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8290 (gf_double_t): Likewise.
8291 (gf_invert): Removed.
8292 (gf_powx): New array.
8293 (gf_powx_inv): Likewise.
8294 (scratch): Move higher.
8295 (gf_reduce): Removed.
8296 (gf_mul): Use powx.
8297 (gf_invert): Likewise.
8298 (init_inverts): Replaced with ...
8299 (init_powx): ...this. All users updated.
8300 (pol_evaluate): Replace multiplications with additions.
8301 (rs_encode): Likewise.
8302 (gauss_eliminate): Call gf_invert.
8303 (grub_reed_solomon_add_redundancy): Call init_powx.
8304 (grub_reed_solomon_recover): Call init_powx unconditionally.
8305
fa5aeffc
VS
83062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8309
a346b81c
VS
83102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8313 disk->partiton for safety.
8314
d89ee414
VS
83152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8318 Fix a memory leak.
8319 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8320
91ee7b6d
VS
83212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8324
91e5a33d
VS
83252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8328
9edd7be2
VS
83292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 Fix spaces handling in proc/self/mountinfo.
8332
8333 * util/getroot.c (unescape): New function.
8334 (grub_find_root_device_from_mountinfo): Use unescape.
8335
ba102053
VS
83362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 Support ZFS embedding.
8339
8340 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8341 (grub_zfs_fs): Register grub_zfs_embed.
8342
aa94b870
VS
83432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 Fix MIPS compilation.
8346
8347 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8348 * include/grub/offsets.h: Rename decompressor fields from
8349 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8350 * util/grub-mkimage.c (image_targets): Use new names.
8351
5fbdac14
VS
83522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 Defer multiboot device parsing until we're in compressed part.
8355
8356 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8357 bsd_part. setdevice has fallen into disuse.
8358 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8359 (bsd_part): Likewise.
8360 (boot_dev): New variable.
8361 (multiboot_trampoline): Don't parse multiboot device.
8362 Pass multiboot device in %edx.
8363 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8364 grub_boot_device.
8365 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8366 Likewise.
8367 * grub-core/kern/i386/pc/startup.S: Save edx.
8368 (grub_boot_drive): Removed.
8369 (grub_install_dos_part): Likewise.
8370 (grub_install_bsd_part): Likewise.
8371 (grub_boot_device): New variable.
8372 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8373 (grub_install_bsd_part): Likewise.
8374 (grub_boot_drive): Likewise.
8375 (grub_boot_device): New variable.
8376 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8377 Removed.
8378 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8379 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8380 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8381 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8382 * util/grub-install.in: Remove redundant condition.
8383
691cbb58
VS
83842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 Fix bug introduced by previous commit.
8387
8388 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8389
60240b8b
VS
83902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 Use decompressors framework on i386-pc. It increases core size
8393 by 46 bytes but improves compatibility and maintainability.
8394
8395 * grub-core/Makefile.core.def (lzma_decompress): New image.
8396 (kernel): Add i386_pc_ldflags.
8397 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8398 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8399 to real_to_prot, prot_to_real and device info.
8400 * include/grub/offsets.h: Renamed decompressor offsets.
8401 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8402 (image_target_desc): Remove raw_size and rename decompressor fields.
8403 (compress_kernel): Handle lzma.
8404 (generate_image): Handle decompressors on i386-pc.
8405
e9d3421c
VS
84062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * configure.ac: Add -fno-asynchronous-unwind-tables.
8409
2b23074a
VS
84102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 Move assembly code to C by using intwrap. It increases core size
8413 by 88 bytes but improves compatibility and maintainability.
8414
8415 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8416 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8417 ... here. Translated to C.
8418 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8419 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8420 ... here. Translated to C.
8421 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8422 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8423 ... here. Translated to C.
8424 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8425 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8426 ... here. Translated to C.
8427 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8428 * grub-core/term/i386/pc/console.c (grub_console_cls):
8429 ... here. Translated to C.
8430 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8431 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8432 ... here. Translated to C.
8433 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8434 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8435 Translated to C.
8436 * grub-core/term/i386/pc/console.c (int10_9): New function.
8437 (grub_console_putchar): Likewise.
8438 * include/grub/i386/pc/console.h: Removed the not anymore shared
8439 functions.
8440
678f4b67
VS
84412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 Move grub_chainloader_real_boot out of the kernel.
8444
8445 * grub-core/Makefile.am: Remove machine/loader.h.
8446 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8447 Removed.
8448 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8449 variable.
8450 (grub_relocator16_keep_a20_enabled): Likewise.
8451 (grub_relocator16_boot): Fill new variables.
8452 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8453 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8454 relocator.
8455 (grub_chainloader_unload): Likewise.
8456 (grub_chainloader_cmd): Likewise.
8457 * include/grub/i386/pc/loader.h: Removed.
8458 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8459 and esi. All initialisers updated.
8460
4626edf6
VS
84612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
84622011-11-12 Colin Watson <cjwatson@ubuntu.com>
8463
8464 * Makefile.util.def (grub-mount): New util.
8465 * .bzrignore: Add grub-mount.
8466 * configure.ac: Check for fuse and enable grub-mount if available.
8467 * docs/man/grub-mount.h2m: New file.
8468 * util/grub-mount.c: Likewise.
8469
10f0117b
VS
84702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * grub-core/commands/efi/fixvideo.c: Gettextize.
8473 * grub-core/commands/hashsum.c: Likewise.
8474 * grub-core/commands/i386/cmostest.c: Likewise.
8475 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8476 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8477 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8478 * grub-core/commands/lsmmap.c: Likewise.
8479 * grub-core/commands/menuentry.c: Likewise.
8480 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8481 * grub-core/commands/setpci.c: Likewise.
8482 * grub-core/loader/i386/bsd.c: Likewise.
8483 * grub-core/loader/i386/linux.c: Likewise.
8484 * util/getroot.c: Likewise.
8485 * util/grub-editenv.c: Likewise.
8486 * util/grub-fstest.c: Likewise.
8487 * util/grub-mkfont.c: Likewise.
8488 * util/grub-mkimage.c: Likewise.
8489 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8490 * util/grub-pe2elf.c: Likewise.
8491 * util/grub-probe.c: Likewise.
8492 * util/grub-setup.c: Likewise.
8493 * util/ieee1275/ofpath.c: Likewise.
8494 * util/misc.c: Likewise.
8495 * util/raid.c: Likewise.
8496
566f779b
RM
84972011-11-11 Robert Millan <rmh@gnu.org>
8498
8499 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8500 __attribute__((unused)) from `os_dev', which *is* being used.
8501
b50787de
VS
85022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8505 forgotten define.
8506 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8507 GRUB_IA64_DL_GOT_ALIGN.
8508 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8509 GRUB_IA64_DL_TRAMP_ALIGN.
8510
119d11c8
VS
85112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 Replace grub_fatal with normal errors in i386 linux loader.
8514
8515 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8516 (allocate_pages): Check find_efi_mmap_size return value.
8517 (grub_e820_add_region): Return error.
8518 (grub_linux_boot): Check mmap return value.
8519
6e0632e2
VS
85202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/commands/acpihalt.c: Gettextized.
8523 * grub-core/commands/cacheinfo.c: Likewise.
8524 * grub-core/commands/cmp.c: Likewise.
8525 * grub-core/commands/efi/loadbios.c: Likewise.
8526 * grub-core/commands/gptsync.c: Likewise.
8527 * grub-core/commands/ieee1275/suspend.c: Likewise.
8528 * grub-core/commands/legacycfg.c: Likewise.
8529 * grub-core/commands/memrw.c: Likewise.
8530 * grub-core/commands/minicmd.c: Likewise.
8531 * grub-core/commands/parttool.c: Likewise.
8532 * grub-core/commands/time.c: Likewise.
8533 * grub-core/commands/videoinfo.c: Likewise.
8534 * grub-core/disk/geli.c: Likewise.
8535 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8536 * grub-core/disk/luks.c: Likewise.
8537 * grub-core/disk/lvm.c: Likewise.
8538 * grub-core/font/font_cmd.c: Likewise.
8539 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8540 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8541 * grub-core/gfxmenu/view.c: Likewise.
8542 * grub-core/kern/emu/hostdisk.c: Likewise.
8543 * grub-core/kern/emu/main.c: Likewise.
8544 * grub-core/kern/emu/misc.c: Likewise.
8545 * grub-core/kern/emu/mm.c: Likewise.
8546 * grub-core/kern/mips/arc/init.c: Likewise.
8547 * grub-core/kern/mips/loongson/init.c: Likewise.
8548 * grub-core/kern/partition.c: Likewise.
8549 * grub-core/lib/i386/halt.c: Likewise.
8550 * grub-core/lib/mips/arc/reboot.c: Likewise.
8551 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8552 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8553 * grub-core/loader/i386/xnu.c: Likewise.
8554 * grub-core/loader/multiboot.c: Likewise.
8555 * grub-core/net/bootp.c: Likewise.
8556 * grub-core/net/net.c: Likewise.
8557 * grub-core/normal/term.c: Likewise.
8558 * grub-core/partmap/bsdlabel.c: Likewise.
8559 * grub-core/parttool/msdospart.c: Likewise.
8560 * grub-core/term/gfxterm.c: Likewise.
8561 * grub-core/term/terminfo.c: Likewise.
8562 * grub-core/video/i386/pc/vbe.c: Likewise.
8563 * util/grub-menulst2cfg.c: Likewise.
8564 * util/grub-mkdevicemap.c: Likewise.
8565 * util/grub-mklayout.c: Likewise.
8566 * util/grub-mkrelpath.c: Likewise.
8567 * util/grub-script-check.c: Likewise.
8568 * util/ieee1275/grub-ofpathname.c: Likewise.
8569 * util/resolve.c: Likewise.
8570
073aa7a9
VS
85712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 Support %1$d syntax.
8574
8575 * tests/printf_unit_test.c: New file.
8576 * Makefile.util.def (printf_test): New test.
8577 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8578
c76b5417
VS
85792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8582 fix.
8583
df067ad1
VS
85842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8587 dprintf.
8588 * grub-core/font/font.c (grub_font_load): Likewise.
8589
5b289bc5
VS
85902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * util/grub-macho2img.c: Add comment concerning gettext.
8593 * grub-core/lib/legacy_parse.c: Likewise.
8594
c1860f87
VS
85952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8598 (grub_xvasprintf): Likewise.
8599
d35d0d37
VS
86002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 Add const keyword to grub_env_get and gettextize week days.
8603
8604 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8605 (grub_read_hook_datetime): Return const char *.
8606 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8607 updated.
8608 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8609 Mark for gettext.
8610 (grub_get_weekday_name): Return const char *. Call gettext.
8611 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8612 char * and len as the argument. All users updated.
8613 (grub_script_argv_split_append): Receive const char *.
8614 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8615 * include/grub/env.h (grub_env_get): Likewise.
8616 (grub_env_read_hook_t): Return const char *.
8617 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8618 (grub_script_argv_split_append): Likewise.
8619
9aed8a71
VS
86202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8623
067fdf00
VS
86242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8627 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8628
a8bd9d39
VS
86292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8632 Fix prototype.
8633
f7ce5baf
VS
86342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 Fix mips compilation.
8637
8638 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8639 normal decoder.
8640 (hashes): Use in embed decoder as well (for sizes).
8641 (dec_stream_header): Fix embed decompressor logic.
8642 (dec_stream_footer): Likewise.
8643
9bb182f3
VS
86442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8647 an error and not a fatal on unrecognised relocation types.
8648
63a9e6f6
VS
86492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8652 Issue error rather than printf on unknown arguments.
8653
4c458569
VS
86542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8657 Make buf a const.
8658
e2d22baf
VS
86592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8662 Fix module name.
8663
53dc8590
VS
86642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8667 leftover debug printf.
8668
6c189294
VS
86692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8672
f7688369
VS
86732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8676 A stylistic fix.
8677
11a775a3
VS
86782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8681
33f784e8
SL
86822011-11-10 Shea Levy <slevy@tieronedesign.com>
8683
8684 Allow all modules to perform serial IO
8685
8686 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8687 * include/grub/serial.h (grub_serial_port_configure): New inline
8688 function.
8689 (grub_serial_port_fetch): Likewise.
8690 (grub_serial_port_put): Likewise.
8691 (grub_serial_port_fini): Likewise.
8692 (grub_serial_find): New proto.
8693
f6276525
VS
86942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 Put symlink at the end of the node and fix a potential
8697 memory corruption.
8698
8699 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8700 Make symlink into an array.
8701 (set_rockridge): Set have_symlink and alloc_dirents.
8702 (grub_iso9660_read_symlink): Use new layout.
8703 (grub_iso9660_iterate_dir): Fix memory corruption.
8704 Use new layout.
8705 (grub_iso9660_dir): Set have_symlink.
8706 (grub_iso9660_open): Likewise.
8707
c3591189
VS
87082011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 Remove local keyword.
8711
8712 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8713 (version_test_gt): Likewise.
8714 (version_find_latest): Likewise.
8715 (gettext_printf): Likewise.
8716 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8717
cb544caa
VS
87182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8721
45bd824d
VS
87222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 Fix ZFS memory and resource leaks.
8725
8726 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8727 All users updated.
8728 Free type on exit.
8729 (fill_vdev_info): New parameter inserted. All users updated.
8730 (check_pool_label): Likewise.
8731 (scan_disk): Likewise.
8732 (scan_devices): Close non-inserted disks.
8733 (fzap_iterate): Free l.
8734 (unmount_device): Free children descripto memory.
8735
ad9a2f44
VS
87362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8739 argument (access out of bounds).
8740
6b68db81
VS
87412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8744 >= 6 drives.
8745
28840fda
VS
87462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8749 Fix declaration.
8750
8a5a3a5b
VS
87512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 Fix several memory leaks.
8754
8755 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8756 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8757 (grub_cpio_dir): Likewise.
8758 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8759 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8760 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8761 (grub_romfs_label): Likewise.
8762 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8763 (squash_unmount): New function.
8764 (grub_squash_dir): Fix memory leak.
8765 (grub_squash_open): Likewise.
8766 (grub_squash_read): Likewise.
8767 (grub_squash_mtime): Likewise.
8768 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8769 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8770 * util/grub-fstest.c (fstest): Likewise.
8771
57b01250
VS
87722011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8775 avoid accessing beyond the array.
8776
19e81ba7
VS
87772011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8780
52b656c0
VS
87812011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 Several AFFS fixes.
8784
8785 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8786 (GRUB_AFFS_FLAG_FFS): Removed.
8787 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8788 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8789 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8790 (grub_fshelp_node): Make block 32-bit.
8791 Add block_cache and last_block_cache.
8792 (grub_affs_read_block): Fill and use block cache.
8793 (grub_affs_read_file): Removed.
8794 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8795 boot block.
8796 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8797 safety.
8798 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8799 space.
8800 (grub_affs_close): Free block cache.
8801 (grub_affs_read): Use grub_fshelp_read_file directly.
8802
438a746a
VS
88032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8806 with no error set.
8807
49a45021
VS
88082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8811 used variable.
8812 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8813 Likewise.
8814
3ae17eb8
VS
88152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8818
8819 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8820 byteswap when needed.
8821
27610c38
VS
88222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 Fix FreeBSD compilation.
8825
8826 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8827 to avoid circular dependency.
8828 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8829 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8830 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8831
4a19b601
VS
88322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Fix ZFS crypto error types.
8835
8836 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8837 (grub_gcm_decrypt): Likewise.
8838 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8839 from PBKDF2.
8840
958ee221
VS
88412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 Illumos support.
8844
8845 * Makefile.util.def (10_illumos): New script.
8846 * configure.ac: Set COND_HOST_ILLUMOS.
8847 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8848 Support Illumos calls.
8849 (find_partition_start) [__sun__]: Likewise.
8850 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8851 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8852 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8853 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8854 device.
8855 * util/grub-probe.c (probe) [__sun__]: Do character check.
8856 * util/grub.d/10_illumos.in: New file.
8857
cac14fb6
VS
88582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 Support escaped commas in hostdisk.
8861
8862 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8863 (find_grub_drive): Use unescape_cmp.
8864 (make_device_name): Escape commas.
8865
78e08dc3
VS
88662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8869
9f421dd1
VS
88702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8873 variable.
8874
ed64e9e2
VS
88752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 Support trampoline jumps on powerpc.
8878
8879 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8880 __ia64__ path.
8881 (grub_dl_load_segments): Set mod->sz.
8882 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8883 segments.
8884 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8885 (jump): Likewise.
8886 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8887 function.
8888 (trampoline): New struct.
8889 (trampoline_template): New const.
8890 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8891 * include/grub/dl.h (grub_dl): Add sz element.
8892 [__powerpc__]: Follow __ia64__.
8893 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8894 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8895 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8896 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8897
3084ede4
VS
88982011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 ZFS crypto support.
8901
8902 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8903 * grub-core/Makefile.core.def (zfscrypt): New module.
8904 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8905 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8906 it. All users updated.
8907 (grub_zfs_decrypt): New var.
8908 (grub_zfs_load_key): Likewise.
8909 (zio_checksum_functions): Add SHA256+MAC.
8910 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8911 (zio_read): Handle encrypted blocks.
8912 (zap_verify): Remove incorrect check.
8913 (fzap_iterate): Handle non-standard fzap.
8914 (zap_iterate): Likewise.
8915 (zap_iterate_u64): New function.
8916 (dnode_get_fullpath): Load keys.
8917 * grub-core/fs/zfs/zfscrypt.c: New file.
8918 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8919 (grub_crypto_ecb_encrypt): Make input const.
8920 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8921 (grub_crypto_ecb_encrypt): Make input const.
8922 (GRUB_CIPHER_AES): New macro.
8923 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8924 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8925 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8926 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8927 prefix. All users updated.
8928 (grub_zfs_add_key): New proto.
8929 (grub_zfs_decrypt): Likewise.
8930 (grub_zfs_load_key): Likewise.
8931 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8932 * util/grub-fstest.c (options): Add -K option.
8933 (argp_parser): Likewise.
8934
b632b404
VS
89352011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 Support zle compression on ZFS.
8938
8939 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8940 (decomp_table): Add zle.
8941 * include/grub/zfs/zio.h (zio_compress): Add zle.
8942
c7ba4f69
VS
89432011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 Support BtrFS embedding.
8946
8947 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8948 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8949 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8950 * util/grub-setup.c (setup): Use fs embedding if available.
8951 Add additional sanity check.
8952
455377d9
VS
89532011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * util/grub-install.in: Fix condition for config_opt.
8956
c2fd16ca
VS
89572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 Support third redundancy strip on raidz3.
8960
8961 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8962 Return error on singularity. All users updated.
8963 (read_device): Don't stop on 3rd failure on raidz3.
8964
8622923b
VS
89652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 Support case-insensitive ZFS subvolumes.
8968
8969 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8970 All users updated.
8971 (zap_hash): Likewise.
8972 (name_cmp): New function.
8973 (zap_leaf_array_equal): New parameter case_insensitive.
8974 All users updated.
8975 (zap_leaf_lookup): Likewise.
8976 (fzap_lookup): Likewise.
8977 (zap_lookup): Likewise.
8978 (dnode_get_path): New parameter case_insensitive. Retrieve case
8979 sensitiviness of a volume. All users updated.
8980 (dnode_get_fullpath): New parameter case_insensitive.
8981 All users updated.
8982 (grub_zfs_dir): Set info.case_insensitiveness.
8983
95f2e860
VS
89842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 Support second redundancy strip on raidz(2,3).
8987
8988 * grub-core/fs/zfs/zfs.c (powx): New array.
8989 (powx_inv): Likewise.
8990 (poly): New const.
8991 (xor_out): New function.
8992 (gf_mul): Likewise.
8993 (recovery): Likewise.
8994 (read_device): Use second redundancy strip.
8995
11ee4389
VS
89962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 Use a power of generator representation of GF(256) multiplication group
8999 to save space time and complexity.
9000
9001 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9002 (raid6_table2): Likewise.
9003 (powx): New array.
9004 (powx_inv): Likewise.
9005 (poly): New const.
9006 (grub_raid_block_mul): Replace with ...
9007 (grub_raid_block_mulx): ...this.
9008 (grub_raid6_init_table): Rewritten.
9009 (grub_raid6_recover): Use power of generator representation.
9010
09e2763f
VS
90112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9014 for the right device.
9015
8bec9a28
VS
90162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9019 expected by grub-mkimage and it's more clear since there is no implicit
9020 padding.
9021
dbd3a32e
VS
90222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9025 disk.
9026 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9027
182c872a
PMH
90282011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9029
9030 * util/grub-mkrescue.in: Fix handling xorriso option.
9031
1e51cabd
VS
90322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9035 NULL.
9036
9cc3581d 90372011-11-03 crocket <crockabiscuit@gmail.com>
9038
9039 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9040
158dc1ea
VS
90412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 XZ CRC64 and SHA256 support.
9044
9045 * Makefile.util.def (libgrubmods): Add crc64.c.
9046 * grub-core/Makefile.core.def (crc64): New module.
9047 * grub-core/lib/crc64.c: New file.
9048 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9049 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9050 Fix the type.
9051 (MAX_HASH_SIZE): New define.
9052 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9053 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9054 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9055 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9056 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9057 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9058 Handle non-crc32 hashes.
9059 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9060 (dec_stream_header): Handle non-crc32 hashes.
9061 (dec_stream_footer): Likewise.
9062 (dec_block_header): Likewise.
9063 (dec_main): Likewise.
9064 (xz_dec_init): Likewise.
9065 (xz_dec_reset): Likewise.
9066 (xz_dec_end): Likewise.
9067 * util/import_gcry.py: Add CRC64 line.
9068
9d9b3d2f
VS
90692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9072 as well.
9073
7d0ac931
VS
90742011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 Make reiserfs label retrieval similar to other *_label functions.
9077
9078 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9079 (REISERFS_MAX_LABEL_LENGTH): Removed.
9080 (REISERFS_LABEL_OFFSET): Likewise.
9081 (grub_reiserfs_label): Rewritten.
9082
90832011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9086 field.
9087
cf5ba824
VS
90882011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9091
17744004
VS
90922011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9095 drive failure on both raidz and raidz2.
9096
aca5aefc
VS
90972011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 Fix RAIDZ(2) for >= 5 devices.
9100
9101 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9102 asize argument. All users updated.
9103
ce8ca56e
VS
91042011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 Fix RAIDZ(2).
9107
9108 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9109 (fill_vdev_info_real): Set ashift.
9110 (read_device): Rewrite RAIDZ part based on reverse engineering.
9111
7c01e783
VS
91122011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9115 don't report potentially unavialiable fields in debug output.
9116 (find_path): Fix double-free and memory leak.
9117
ce109e84
VS
91182011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 Read label on UFS1.
9121
9122 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9123 (grub_ufs_fs): Always set .label.
9124
87661123
VS
91252011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 Use shifts in UFS.
9128
9129 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9130 (grub_ufs_data): New field log2_blksz.
9131 (grub_ufs_read_file): Use shifts.
9132 (grub_ufs_mount): Check block size and logarithm it.
9133
46bc1dc2
VS
91342011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9137 long symlinks.
9138
19ee2987
VS
91392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 Handle symlinks and long names on tar and cpio.
9142
9143 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9144 (ATTR_FILE): Likewise.
9145 (ATTR_DIR): Likewise.
9146 (ATTR_LNK): Likewise.
9147 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9148 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9149 L and K entries.
9150 (grub_cpio_mount): Zero-fill data.
9151 (handle_symlink): New function.
46bc1dc2
VS
9152 (grub_cpio_dir): Handle symlinks.
9153 (grub_cpio_open): Likewise.
9154 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 9155
c83a08d8
VS
91562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Fix iso9660 filename limitations and fix memory leaks.
9159
9160 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9161 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9162
45cdd3ea
VS
91632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 Fix JFS file name length limitations.
9166
9167 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9168 (grub_jfs_diropen): Fix maximum filename length.
9169 (grub_jfs_getent): Fix filename length.
9170 (grub_jfs_lookup_symlink): Fix size checks.
9171
94ef05c2
VS
91722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9175 string.
9176
785ab8c7
VS
91772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9178
eb0b6b45
VS
9179 Leverage BFS implementation to read AFS.
9180
9181 * Makefile.util.def (libgrubmods): Add afs.c.
9182 * grub-core/Makefile.core.def (afs): New module
9183 * grub-core/fs/afs.c: New file.
9184 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9185
91862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 9189
c4a1628f
VS
91902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/fs/bfs.c: Run indent.
9193
5825b379
VS
91942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 BFS implementation based on the specification.
9197
9198 * grub-core/fs/bfs.c: New file.
9199 * Makefile.util.def (libgrubmods): Add bfs.c.
9200 * grub-core/Makefile.core.def (bfs): New module.
9201
42b2a706
VS
92022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/grub-fstest.c (cmd_cp): Clarify error message.
9205 (cmd_cmp): Likewise.
9206
61b99bfc
YB
92072011-10-30 Yves Blusseau <blusseau@zetam.org>
9208
9209 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9210 and befs_be.
9211
faba3d16
VS
92122011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 Remove afs and befs because of copyright problem.
9215
9216 * grub-core/fs/afs.c: Removed.
9217 * grub-core/fs/afs_be.c: Removed.
9218 * grub-core/fs/befs.c: Removed.
9219 * grub-core/fs/befs_be.c: Removed.
9220 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9221 * grub-core/Makefile.core.def (afs): Removed.
9222 (afs_be): Likewise.
9223 (befs): Likewise.
9224 (befs_be): Likewise.
9225
c39224b0
VS
92262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 Prefer rockridge over Joliet.
9229
9230 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9231 to ...
9232 (set_rockridge): ... here.
9233 (grub_iso9660_mount): Check rockridge on the primary label when
9234 discovering. Ignore Joliet if Rockridge is present.
9235
e551115a
VS
92362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 Use shifts in nilfs2.
9239
9240 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9241 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9242 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9243 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9244 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9245 (grub_nilfs2_entries_per_block): Replaced with ...
9246 (grub_nilfs2_log_entries_per_block_log): ... this.
9247 (grub_nilfs2_blocks_per_group): Replaced with ...
9248 (grub_nilfs2_blocks_per_group_log): ... this.
9249 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9250 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9251 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9252 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9253 (grub_nilfs2_palloc_entry_offset): Replaced ...
9254 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9255 (grub_nilfs2_dat_translate): Use shifts.
9256 (grub_nilfs2_read_inode): Likewise.
9257 (GRUB_MOD_INIT): Ensure that logs are correct.
9258
564dd58c
VS
92592011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Use shifts in minix filesystem.
9262
9263 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9264 (GRUB_MINIX_ZONE2SECT): Likewise.
9265 (grub_minix_data): Replace block_size with log_block_size.
9266 (grub_minix_read_file): Use shifts.
9267 (grub_minix_mount): Check block size and take a logarithm.
9268
ed9ba06d
VS
92692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 Use shifts in squash4.
9272
9273 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9274 (squash_mount): Check block size and take logarithm.
9275 (direct_read): Use shifts.
9276
ad03fe76
VS
92772011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 Correct befs block counting logic.
9280
9281 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9282 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9283 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9284 (grub_afs_read_inode): Use block_shift.
9285 (RANGE_SHIFT): New definition.
9286 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9287 unexpected conditions, use shifts and appropriate types.
9288 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9289
6563f63d
VS
92902011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/disk/raid.c (scan_devices): Check partition.
9293 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9294
5b1ae25f
VS
92952011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 Support BFS (befs) UUID.
9298
9299 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9300 (grub_afs_small_data_element_header): New struct.
9301 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9302 (grub_afs_read_attribute) [MODE_BFS]: New function.
9303 (grub_afs_iterate_dir): Allocate for complete inode.
9304 (grub_afs_mount): Likewise.
9305 (grub_afs_uuid) [MODE_BFS]: New function.
9306 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9307
f8d82408
VS
93082011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9311 (zfs_unmount): Fix memory leak.
9312
5773fb64
VS
93132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 Support NTFS reparse points.
9316
9317 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9318 (symlink_descriptor): New struct.
9319 (grub_ntfs_read_symlink): New function.
9320 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9321 (grub_ntfs_open): Likewise.
9322
91c3fdde
VS
93232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9326
3be82e10
VS
93272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 fstest xnu_uuid subcommand.
9330
9331 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9332 grub-core/commands/xnu_uuid.c.
9333 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9334 (fstest): Handle xnu_uuid.
9335 (options): Document xnu_uuid.
9336 (argp_parser): Parse xnu_uuid.
9337
8e32442e
VS
93382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9341 -l argument. Add newline at the end if printing.
9342 (GRUB_MOD_INIT): Document -l.
9343
52a05075
VS
93442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9347
1869edb5
VS
93482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 ZFS multi-device and version 33 support.
9351
9352 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9353 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9354 (grub_zfs_data): Add multidev-ice-related fields.
9355 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9356 (dva_get_offset): Make dva const.
9357 (zfs_fetch_nvlist): New function.
9358 (fill_vdev_info_real): Likewise.
9359 (fill_vdev_info): Likewise.
9360 (check_pool_label): Likewise.
9361 (scan_disk): Likewise.
9362 (scan_devices): Likewise.
9363 (read_device): Likewise.
9364 (read_dva): Likewise.
9365 (zio_read_gang): Use read_dva.
9366 (zio_read_data): Likewise.
9367 (zap_leaf_lookup): Add missing endian conversion.
9368 (zap_verify): Add missing endian conversion. All users updated.
9369 (fzap_lookup): Likewise.
9370 (fzap_iterate): Likewise.
9371 (dnode_get_path): Handle SA bonus.
9372 (nvlist_find_value): Make input const. All users updated.
9373 (unmount_device): New function.
9374 (zfs_unmount): Use unmount_device.
9375 (zfs_mount): Use scan_disk.
9376 (zfs_mtime): New function.
9377 (grub_zfs_open): Handle system attributes.
9378 (fill_fs_info): Likewise.
9379 (grub_zfs_dir): Likewise.
9380 (grub_zfs_fs): Add mtime.
9381 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9382 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9383 (SA_MTIME_OFFSET): Likewise.
9384 (SA_SYMLINK_OFFSET): Likewise.
9385 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9386 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9387 (fstest): Support zfsinfo.
9388 (argp_parser): Likewise.
9389
186b4028
VS
93902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9393 error.
9394
93952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9396
9397 ZFS fixes.
9398
9399 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9400 sharing the same block. Iterate over correct number of indices.
9401 (dnode_get_path): Handle symlinks correctly.
9402
c0584900
VS
94032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9406
67e2bd71
VS
94072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 Read label on HFS+.
9410
9411 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9412 (grub_hfsplus_btree_search): Fix types.
9413 (grub_hfsplus_label): Implement.
9414
e9cc6b7b
VS
94152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9418
19832ddb
VS
94192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9422
66b40850
VS
94232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 Fix symlink handling on iso9660.
9426
9427 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9428 All users updated.
9429 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9430 (grub_iso9660_read_symlink): Moved most of code ...
9431 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9432
db821363
VS
94332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9436 Use union to avoid breaking strict-aliasing rules.
9437
e1211949
VS
94382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 Support multi-extent iso files.
9441
9442 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9443 Add node.
9444 (grub_fshelp_node): Revamp. All users updated.
9445 (FLAG_*): New enum.
9446 (read_node): New function.
9447 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9448 All users updated.
9449 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9450 (get_node_size): New function.
9451 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9452 entries.
9453 Fix memory leak on . and ..
9454 (grub_iso9660_read): Use read_node.
9455 (grub_iso9660_close): Free node.
9456
d4888031
VS
94572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 Fix tar 4G limit and handle paths containing dot.
9460
9461 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9462 (canonicalize): New function.
9463 (grub_cpio_find_file): Use canonicalize. Store offs in
9464 grub_disk_addr_t.
9465 (grub_cpio_dir): Use grub_disk_addr_t.
9466 (grub_cpio_open): Likewise.
9467
9f12e664
VS
94682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9471
9472 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9473 unused flags.
9474 (grub_squash_inode): Add long_file and block_size.
9475 (grub_squash_cache_inode): New struct.
9476 (grub_squash_dirent): Make types into enum.
9477 (SQUASH_TYPE_LONG_REGULAR): New type.
9478 (grub_squash_frag_desc): Add field size.
9479 (SQUASH_BLOCK_FLAGS): New enum.
9480 (grub_squash_data): Use grub_squash_cache_inode.
9481 (grub_fshelp_node): Make ino_chunk 64-bit.
9482 (read_chunk): Minor argument change. All users updated.
9483 (squash_mount): Use correct le_to_cpu.
9484 (grub_squash_open): Handle LONG_REGULAR.
9485 (direct_read): New function.
9486 (grub_squash_read_data): Handle blocks correctly.
9487
9f326fba
VS
94882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9491
f4d9b64b
VS
94922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9495
5bbd28b8
VS
94962011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 Fix 2G limit on ZFS.
9499
9500 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9501 types.
9502 (uberblock_verify): Likewise.
9503 (dmu_read): Likewise.
9504 (grub_zfs_read): Likewise. Remove invalid cast.
9505
68c72069
VS
95062011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9509 (grub_jfs_blkno): Fix incorrect shift.
9510 (grub_jfs_read_file): Use more appropriate types.
9511
6e536dc8
VS
95122011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 Support triple indirect on minix2 and minix3.
9515
9516 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9517 Declare triple_indir_zone.
9518 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9519 indirect.
9520
e0864e7a
VS
95212011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 Minix FS fixes.
9524
9525 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9526 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9527 Rename ctime to mtime. All users updated.
9528 (grub_minix_get_file_block): Fix types and double indirect computations.
9529
89481cab
VS
95302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9533 if no label is found.
9534 (grub_fat_iterate_dir): Fix file size type.
9535 (grub_fat_iterate_dir): Likewise.
9536
f646e143
VS
95372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9540 save some space.
9541 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9542 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9543
534d769e
VS
95442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9547
e084ba18
VS
95482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * util/import_gcry.py: Accept space between # and include.
9551
3471ecdf
VS
95522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9555
124df5f6
VS
95562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9559
9560 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9561 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9562 yylex_strncpy.
9563 * grub-core/script/yylex.l: Add fine-grained #pragma.
9564
4defb8d5
VS
95652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9568 New inline function.
9569 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9570 Likewise.
9571 (memset) [GRUB_UTIL]: Likewise.
9572 (memcmp) [GRUB_UTIL]: Likewise.
9573
4e94ae65
VS
95742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9577 inline function rather than a define.
9578
18c575e5
VS
95792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * util/grub-setup.c: Add missing include.
9582
f8bc22a8
VS
95832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * util/ieee1275/grub-ofpathname.c: Add missing include.
9586
3ce69fc9
VS
95872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9590 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9591 Likewise.
9592
d1e293bb
VS
95932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9596 grub_memcmp usage.
9597
7a5c54a4
VS
95982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * util/grub-install.in: Add datarootdir as per automake manual
9601 suggestion.
9602 * util/grub-mknetdir.in: Likewise.
9603
96042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9605
9606 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9607 suggestion.
9608 * util/grub.d/10_kfreebsd.in: Likewise.
9609 * util/grub.d/10_linux.in: Likewise.
9610 * util/grub.d/10_netbsd.in: Likewise.
9611 * util/grub.d/10_windows.in: Likewise.
9612 * util/grub.d/20_linux_xen.in: Likewise.
9613
766f7d08
VS
96142011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Remove redundant grub_kernel_image_size.
9617
9618 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9619 _edata and _start.
9620 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9621 the small code. It moves it only by few bytes but simplifies the code.
9622 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9623 _start.
9624 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9625 (grub_kernel_image_size): Removed.
9626 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9627 (grub_kernel_image_size): Removed.
9628 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9629 compiled with Apple toolchain.
9630 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9631 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9632 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9633 (grub_total_module_size): Likewise.
9634 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9635 Removed.
9636 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9637 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9638 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9639 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9640 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9641 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9642 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9643 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9644 Removed.
9645 (grub_total_module_size): Removed.
9646 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9647 (image_targets): Likewise.
9648 Set .compressed_size to no field on sparc.
9649 (generate_image): Remove kernel_image_size handling.
9650
fcf1d672
SJ
96512011-10-19 Szymon Janc <szymon@janc.net.pl>
9652
9653 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9654 NULL pointer dereference.
9655
de9c615e
VS
96562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9659 done with a dedicated section.
9660
9661 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9662 Ensure the correct position of boot_path.
9663 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9664 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9665 other fields.
9666 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9667 * include/grub/boot.h: Removed. All references removed.
9668 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9669 Removed.
9670 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9671
e55599dc
VS
96722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9675 name.
9676
36dd20ad
VS
96772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9680
f8f72eb8
VS
96812011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9684 Don't add the bogus brackets.
9685
a374751b
VS
96862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 ExFAT support.
9689
9690 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9691 * grub-core/Makefile.core.def (exfat): New module.
9692 * grub-core/fs/exfat.c: New file.
9693 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9694 (GRUB_FAT_ATTR_*): Make into an enum.
9695 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9696 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9697 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9698 (GRUB_FAT_MAXFILE): Removed.
9699 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9700 (grub_current_fat_bpb_t): New type.
9701 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9702 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9703 (grub_fat_dir_node_t): New type.
9704 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9705 (fat_log2) [MODE_EXFAT]: Removed.
9706 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9707 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9708 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9709 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9710 (grub_fat_label) [MODE_EXFAT]: New function.
9711 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9712 reserved_first_sector to 0.
9713
544c2487
VS
97142011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 Move grub_reboot out of the kernel.
9717
9718 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9719 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9720 * grub-core/lib/efi/reboot.c: ... here.
9721 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9722 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9723 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9724 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9725 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9726 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9727 * grub-core/lib/ieee1275/reboot.c: ... here.
9728 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9729 * grub-core/lib/mips/arc/reboot.c: ... here.
9730 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9731 * grub-core/lib/mips/loongson/reboot.c: ...here.
9732 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9733 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9734 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9735 * include/grub/i386/reboot.h: New file.
9736 * include/grub/mips/loongson/ec.h: Fix includes.
9737 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9738 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9739 * grub-core/lib/i386/reboot.c: New file.
9740
a97501d2
VS
97412011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 Make grub_prefix into module to fix the arbitrary limit and save
9744 some space.
9745
9746 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9747 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9748 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9749 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9750 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9751 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9752 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9753 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9754 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9755 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9756 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9757 * include/grub/ia64/efi/kernel.h: Removed.
9758 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9759 (grub_prefix): Removed.
9760 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9761 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9762 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9763 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9764 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9765 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9766 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9767 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9768 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9769 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9770 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9771 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9772 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9773 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9774 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9775 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9776 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9777 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9778 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9779 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9780 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9781 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9782 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9783 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9784 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9785 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9786 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9787 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9788 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9789 from module.
9790 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9791 prefix_end.
9792 (image_targets): Likewise.
9793 (generate_image): Put prefix as a module.
9794
39705fad
VS
97952011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 Replace grub_module_iterate with FOR_MODULES.
9798
9799 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9800 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9801 (grub_efi_modules_addr): ...this.
9802 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9803 (grub_efi_init): Set grub_modbase.
9804 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9805 (grub_modbase): New variable.
9806 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9807 (grub_modbase): New variable.
9808 (grub_machine_init): Set grub_modbase.
9809 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9810 (grub_modbase): New variable.
9811 (grub_machine_init): Set grub_modbase.
9812 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9813 (grub_modbase): New variable.
9814 (grub_machine_init): Set grub_modbase.
9815 * grub-core/kern/main.c (grub_module_iterate): Remove.
9816 (grub_modules_get_end): Use grub_modbase.
9817 (grub_load_modules): Use FOR_MODULES.
9818 (grub_load_config): Likewise.
9819 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9820 (grub_modbase): New variable.
9821 (grub_machine_init): Set grub_modbase.
9822 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9823 (grub_modbase): New variable.
9824 (grub_machine_init): Set grub_modbase.
9825 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9826 Removed.
9827 (grub_modbase): New variable.
9828 (grub_machine_init): Set grub_modbase.
9829 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9830 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9831 (grub_module_iterate): Likewise.
9832 (grub_modbase): New variable declaration.
9833 (FOR_MODULES): New macro.
9834
2afb7f6c
VS
98352011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9838 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9839
366e34fa
VS
98402011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 Fix few obvious type discrepancies.
9843
9844 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9845 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9846 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9847 variable.
9848 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9849 and connected types.
9850 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9851 offset.
9852 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9853 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9854 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9855 and connected types.
9856
177b960e
VS
98572011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 Fix python 3.x incompatibilities.
9860
9861 * gentpl.py: Put brackets around print strings.
9862 * util/import_gcry.py: Open explicitly as utf-8.
9863 Use in instead of has_key.
9864
3b619ae1
VS
98652011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9868 (GRUB_XFS_INO_AGBITS): Make into inline function.
9869 (GRUB_XFS_INO_INOINAG): Likewise.
9870 (GRUB_XFS_INO_AG): Likewise.
9871 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9872 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9873 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9874 (GRUB_XFS_EXTENT_SIZE): Likewise.
9875 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9876 (GRUB_XFS_NEXT_DIRENT): Likewise.
9877 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9878 (grub_xfs_read_file): Fix offset type.
9879
8bcebcb8
RM
98802011-10-15 Robert Millan <rmh@gnu.org>
9881
9882 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9883
0017e5ef
RM
98842011-10-15 Robert Millan <rmh@gnu.org>
9885
9886 Fix build problem on FreeBSD and GNU/kFreeBSD.
9887
9888 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9889
d8919552
VS
98902011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9893
9894 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9895 types.
9896 (grub_hfsplus_btree_recoffset): Likewise.
9897 (grub_hfsplus_btree_recptr): Likewise.
9898 (grub_hfsplus_find_block): Likewise.
9899 (grub_hfsplus_btree_search): Likewise.
9900 (grub_hfsplus_read_block): Likewise.
9901 (grub_hfsplus_read_file): Likewise.
9902 (grub_hfsplus_mount): Likewise.
9903 (grub_hfsplus_btree_iterate_node): Likewise.
9904 (grub_hfsplus_btree_search): Likewise.
9905 (grub_hfsplus_iterate_dir): Likewise.
9906 (grub_hfsplus_read): A small code simplification.
9907
c81296b6
VS
99082011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * grub-core/kern/emu/hostdisk.c
9911 (convert_system_partition_to_system_disk): Don't assume that children
9912 of mapper nodes are mapper nodes.
9913
0eb8ffb1
VS
99142011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9917 * include/grub/misc.h (grub_isxdigit): New function.
9918 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9919 switched to grub_isxdigit.
9920 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9921 number starting with a letter.
9922
a98f4a08
RM
99232011-10-09 Robert Millan <rmh@gnu.org>
9924
9925 LVM support for FreeBSD and GNU/kFreeBSD.
9926
9927 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9928 GNU/kFreeBSD.
9929 (LVM_DEV_MAPPER_STRING): Move from here ...
9930 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9931 * util/getroot.c: Include `<grub/util/lvm.h>'.
9932 (grub_util_get_dev_abstraction): Enable
9933 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9934 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9935 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9936 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9937 support it.
9938 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9939 GNU/kFreeBSD.
9940 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9941 when LVM abstraction is required for ${GRUB_DEVICE}.
9942
050e8e90
SJ
99432011-10-06 Szymon Janc <szymon@janc.net.pl>
9944
9945 Add support for LZO compression in GRUB:
9946 - import of minilzo library,
9947 - LZO decompression for btrfs,
9948 - lzop files decompression.
9949
9950 * grub-core/io/lzopio.c: New file.
9951 * grub-core/lib/adler32.c: Likewise.
9952 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9953 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9954 * grub-core/lib/minilzo/minilzo.c: Likewise.
9955 * grub-core/lib/minilzo/minilzo.h: Likewise.
9956 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9957 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9958 grub-core/lib/minilzo/minilzo.c to common.
9959 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9960 cflags in cppflags.
9961 * grub-core/Makefile.core.def (btrfs): Likewise.
9962 * grub-core/Makefile.core.def (lzopio): New module.
9963 (adler32): Likewise.
9964 * grub-core/fs/btrfs.c: Include minilzo.h.
9965 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9966 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9967 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9968 (grub_btrfs_lzo_decompress): New function.
9969 (grub_btrfs_extent_read): Add support for LZO compression type.
9970 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9971 (GRUB_USHRT_MAX): Likewise.
9972 (GRUB_UINT_MAX): Likewise.
9973 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9974 (UINT_MAX): Likewise.
9975 (CHAR_BIT): Likewise.
9976 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9977 grub-core/lib/posix_wrap/limits.h
9978 (UCHAR_MAX): Likewise.
9979 * include/grub/file.h (grub_file_filter_id): New compression filter
9980 GRUB_FILE_FILTER_LZOPIO.
9981 * include/grub/file.h (grub_file_filter_id): Set
9982 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9983 * include/grub/types.h (grub_get_unaligned16): New function.
9984 (grub_get_unaligned32): Likewise.
9985 (grub_get_unaligned64): Likewise.
9986 * util/import_gcry.py (cryptolist): Add adler32.
9987
0eb8ffb1
VS
99882011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9991 in perspective decreases the complexity of build system and fixes
9992 compilation right now.
9993
ce79cc99 99942011-10-01 Ales Nesrsta <starous@volny.cz>
9995
9996 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9997 (fixed problem related to using UHCI with coreboot).
9998
8667a314
BC
99992011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10000
10001 * gentpl.py: Use Autogen macros so that the output template file
10002 (Makefile.tpl) size is reduced.
10003
fc5efcc0
MK
100042011-09-29 Mads Kiilerich <mads@kiilerich.com>
10005
10006 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10007 extra_dist.
10008
d1ab689d
ML
100092011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10010
10011 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10012 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10013
c05de032
ML
100142011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10015
10016 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10017 _fullpath.
10018
cca7ccd8
ML
100192011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10020
10021 Remove extra declaration of sleep for mingw32.
10022
10023 * util/misc.c (sleep) [__MINGW32__]: Removed.
10024 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10025
e0b0dc83
GS
100262011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10027
10028 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10029 type and packname.
10030 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10031 Resurrected.
10032 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10033 (grub_netbsd_btinfo_bootwedge): New struct.
10034 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10035 New function.
10036 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10037
91a1a164
TH
100382011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10039
10040 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10041 loader.
10042
2ded951e
AB
100432011-09-28 Andreas Born <futur.andy@googlemail.com>
10044
10045 Fix incorrect identifiers in bash-completion.
10046
10047 * util/bash-completion.d/grub-completion.bash.in
10048 (_grub_mkpasswd-pbkdf2): Rename to ...
10049 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10050 (_grub_script-check): Rename to ...
10051 (_grub_script_check): ... this. All users updated.
10052
69915030
VS
100532011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10056 Return 0 if disk isn't biosdisk.
10057
20fd15f9
GS
100582011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10059
10060 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10061 on NetBSD.
10062 * Makefile.util.def (grub-fstest): Likewise.
10063
1a7d7db9
GS
100642011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10065
10066 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10067 Get sector size from disk label.
10068
2221ab6c
CW
100692011-09-05 Colin Watson <cjwatson@ubuntu.com>
10070
10071 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10072 */README* as well as README*.
10073 Reported by: Axel Beckert.
10074
ca51c4a0
VS
100752011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10078 case of less than 256 MiB of RAM.
10079
ab80f326
VS
100802011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * grub-core/commands/wildcard.c (make_regex): Handle @.
10083
4155e697
VS
100842011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10087
ab178c08
SJ
100882011-08-21 Szymon Janc <szymon@janc.net.pl>
10089
10090 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10091 AC_LANG_CONFTEST macros.
10092
7dc3c686
SJ
100932011-08-20 Szymon Janc <szymon@janc.net.pl>
10094
10095 Add grub-fstest option to uncompress data for commands.
10096
10097 * util/grub-fstest.c (uncompress): New var.
10098 (options): New option -u.
10099
fe8d4a7b
SJ
101002011-08-20 Szymon Janc <szymon@janc.net.pl>
10101
10102 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10103 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10104
a5219af1
SJ
101052011-08-20 Szymon Janc <szymon@janc.net.pl>
10106
10107 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10108 file type was not recognized correctly (not gzip or corrupted).
10109
f87abff5
VS
101102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10113 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10114
d94497ea
VS
101152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10118 loongson.
10119 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10120 video_radeon_fuloong2e.
10121 * grub-core/video/radeon_fuloong2e.c: New file.
10122 * include/grub/video.h (grub_video_id_t): Add new ID
10123 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10124
0d1fd011
VS
101252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10128 define.
10129 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10130 that PRID matches the detected subplatform and reset the subplatform
10131 if it doesn't.
10132
84beb0ee
VS
101332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10136
1227c133
VS
101372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 Fix PCI iterating on functions >= 4.
10140
10141 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10142 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10143 Removed.
10144 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10145 (grub_pci_read): Fix bitmask.
10146 (grub_pci_read_word): Likewise.
10147 (grub_pci_read_byte): Likewise.
10148 (grub_pci_write): Likewise.
10149 (grub_pci_write_word): Likewise.
10150 (grub_pci_write_byte): Likewise.
10151
9594c689
VS
101522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10155 can still be specified in TARGET_CFLAGS)
10156
14a2562c
VS
101572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10160
10161 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10162 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10163 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10164 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10165 (FULOONG): Rename to ...
10166 (FULOONG2F): ... this. All users updated.
10167 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10168 (machtype_fuloong2f_str): ... this.
10169 (machtype_fuloong2e_str): New string.
10170 Check for machtype_fuloong2e_str.
10171 * grub-core/loader/mips/linux.c (loongson_machtypes)
10172 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10173 * grub-core/term/serial.c (loongson_defserial)
10174 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10175 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10176 loongson_defserial.
10177 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10178 Rename to ...
10179 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10180 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10181 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10182 to IMAGE_FULOONG2F_FLASH. All users updated.
10183 (image_targets): Rename images.
10184 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10185
b526cbb6
SJ
101862011-08-19 Szymon Janc <szymon@janc.net.pl>
10187
10188 Make enable of disk cache statistics code configurable.
10189
10190 * configure.ac: --enable-cache-stats added.
10191 * config.h.in (DISK_CACHE_STATS): New define.
10192 * grub-core/Makefile.core.def (cacheinfo): New command.
10193 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10194 * grub-core/commands/cacheinfo.c: New file.
10195 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10196 moved to cacheinfo.c.
10197 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10198 debug code.
10199 * include/grub/disk.h: Likewise.
10200
fb739ccd
SJ
102012011-08-19 Szymon Janc <szymon@janc.net.pl>
10202
10203 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10204 * grub-core/Makefile.am: Likewise.
10205
2bba8cfd
VS
102062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10209 non-zero pull.
10210
43526629
VS
102112011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10214 All users updated.
10215 (grub_jfs_lookup_symlink): Use correct starting inode.
10216
5c144cc8
VS
102172011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * util/grub-setup.c (main): Add missing gcry initialisation.
10220
b1257f65
VS
102212011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Don't accept text modes on EFI when booting Linux.
10224
10225 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10226 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10227
828bc390
ML
102282011-08-15 Mario Limonciello <mario_limonciello@dell.com>
102292011-08-15 Colin Watson <cjwatson@ubuntu.com>
10230
10231 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10232 use of "/path/.." as in grub-install for EFI as well as handling
10233 symlinks correctly.
10234 Fixes Debian bug #637768.
10235
5f60ccac
CW
102362011-08-15 Colin Watson <cjwatson@ubuntu.com>
10237
10238 * util/grub-probe.c: Remove duplicate #include.
10239
6dc212f9
RM
102402011-08-10 Robert Millan <rmh@gnu.org>
10241
10242 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10243
10244 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10245 function.
10246 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10247 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10248
66816d85
RM
102492011-08-03 Robert Millan <rmh@gnu.org>
10250
10251 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10252 la_array as packed.
10253 Reported by: Zachary Bedell
10254
20168fca
CW
102552011-07-26 Colin Watson <cjwatson@ubuntu.com>
10256
10257 * configure.ac: The Loongson port requires grub-mkfont due to its
10258 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10259 be built.
10260
303b6246
CW
102612011-07-26 Colin Watson <cjwatson@ubuntu.com>
10262
10263 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10264 processing arguments (otherwise help2man fails when GRUB has not yet
10265 been installed).
10266
6795300e
VS
102672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10268
41aa28ea
VS
10269 New script grub-mkstandalone.
10270
10271 * Makefile.util.def (grub-mkstandalone): New script.
10272 * docs/man/grub-mkstandalone.h2m: New file.
10273 * util/grub-mkstandalone.in: Likewise.
10274
102752011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 Support ATA disks with 4K sectors.
6795300e
VS
10278
10279 * include/grub/ata.h (grub_ata): New member log_sector_size.
10280 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10281 (grub_ata_identify): Read sector size.
10282 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10283
92227597
VS
102842011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * util/grub-install.in: Don't use uhci outside of x86.
10287
c77069f5
VS
102882011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * util/grub-mkrescue.in: Add missing quotes.
10291
102922011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
10293
10294 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10295 dereference.
10296
583168a2
VS
102972011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10300
6be1c01f
VS
103012011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * include/grub/video.h: add missing EXPORT_FUND on
10304 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10305
a1167439
VS
103062011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * include/grub/mips/kernel.h: Fix define conflict.
10309
bf66054f
VS
103102011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10313 all four ways.
10314
8fc4fa45
CW
103152011-07-21 Colin Watson <cjwatson@ubuntu.com>
10316
10317 Preferred resolution detection for VBE.
10318
10319 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10320 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10321 the Flat Panel extension, in line with the X.org VESA driver.
10322 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10323 New function.
10324 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10325 (grub_vbe_bios_read_edid): Likewise.
10326 (grub_vbe_get_preferred_mode): Likewise.
10327 (grub_video_vbe_setup): When the mode is "auto", try to get the
10328 preferred mode from VBE, and use the largest mode that is no larger
10329 than the preferred mode (some BIOSes expose a preferred mode that is
10330 not in their mode list!). If this fails, fall back to 640x480 as a
10331 safe conservative choice.
10332 (grub_video_vbe_get_edid): New function.
10333 (grub_video_vbe_adapter): Add get_edid.
10334 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10335 (struct grub_video_adapter): Add get_edid.
10336 (grub_video_edid_checksum): Add prototype.
10337 (grub_video_edid_preferred_mode): Likewise.
10338 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10339 structure.
10340
10341 * grub-core/commands/videoinfo.c (print_edid): New function.
10342 (grub_cmd_videoinfo): Print EDID if available.
10343
10344 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10345 is more appropriate on a wider range of platforms than 640x480.
10346 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10347 documentation.
10348
ca5572a9
VS
103492011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10352
e4bcf625
VS
103532011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * po/POTFILES.in: Regenerate.
10356
c4edd548
VS
103572011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10360 incorrect memory usage.
10361
16a2bab0
VS
103622011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * util/grub-install.in: Source grub-mkconfig_lib.
10365
2e418de6
VS
103662011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Remove getroot.c from core on emu platform.
10369
10370 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10371 kern/emu/raid.c.
10372 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10373 useless.
10374 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10375 * util/getroot.c (get_win32_path): ... here.
10376 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10377 * util/getroot.c (fini_libzfs): ... here.
10378 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10379 * util/getroot.c (grub_get_libzfs_handle): ... here.
10380 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10381 Moved from here...
10382 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10383 * grub-core/kern/emu/misc.c
10384 (grub_make_system_path_relative_to_its_root): Moved from here...
10385 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10386 * grub-core/kern/emu/getroot.c: Moved from here ...
10387 * util/getroot.c: ... here. All users updated.
10388 * grub-core/kern/emu/raid.c: Moved from here ...
10389 * util/raid.c: ... here. All users updated.
10390
def9832a
VS
103912011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * po/POTFILES.in: Regenerate.
10394
cd8fe79a
VS
103952011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 Fix compilation on GNU/Linux.
10398
10399 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10400 Disable geli.
10401 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10402 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10403 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10404
a251b719
VS
104052011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
104062011-07-07 Michael Gorven <michael@gorven.za.net>
104072011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10408
10409 LUKS and GELI support.
10410
10411 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10412 grub-core/disk/luks.c, grub-core/disk/geli.c,
10413 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10414 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10415 grub-core/lib/arg.c.
10416 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10417 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10418 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10419 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10420 (grub-bin2h): Add libgcry.a.
10421 (grub-mkimage): Likewise.
10422 (grub-mkrelpath): Likewise.
10423 (grub-script-check): Likewise.
10424 (grub-editenv): Likewise.
10425 (grub-mkpasswd-pbkdf2): Likewise.
10426 (grub-pe2elf): Likewise.
10427 (grub-fstest): Likewise.
10428 (grub-mkfont): Likewise.
10429 (grub-mkdevicemap): Likewise.
10430 (grub-probe): Likewise.
10431 (grub-ofpath): Likewise.
10432 (grub-mklayout): Likewise.
10433 (example_unit_test): Likewise.
10434 (grub-menulst2cfg): Likewise.
10435 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10436 * grub-core/Makefile.core.def (cryptodisk): New module.
10437 (luks): Likewise.
10438 (geli): Likewise.
10439 * grub-core/disk/AFSplitter.c: New file.
10440 * grub-core/disk/cryptodisk.c: Likewise.
10441 * grub-core/disk/geli.c: Likewise.
10442 * grub-core/disk/luks.c: Likewise.
10443 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10444 grub_util_is_lvm.
10445 (grub_util_get_dm_abstraction): New function.
10446 (grub_util_follow_gpart_up): Likewise.
10447 (grub_util_get_geom_abstraction): Likewise.
10448 (grub_util_get_dev_abstraction): Use new functions.
10449 (grub_util_pull_device): Pull GELI and LUKS.
10450 (grub_util_get_grub_dev): Handle LUKS and GELI.
10451 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10452 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10453 (follow_geom_up): Removed.
10454 (grub_util_fd_seek): New function.
10455 (open_device): Use grub_util_fd_seek.
10456 (nread): Rename to ..
10457 (grub_util_fd_read): ... this. All users updated.
10458 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10459 (grub_crypto_cbc_decrypt): Likewise.
10460 (grub_crypto_hmac_write): Likewise.
10461 (grub_crypto_hmac_buffer): Likewise.
10462 (grub_password_get): Extend to util.
10463 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10464 New member modname.
10465 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10466 * include/grub/cryptodisk.h: New file.
10467 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10468 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10469 LUKS and GELI.
10470 (grub_util_follow_gpart_up): New proto.
10471 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10472 (grub_util_fd_read): Likewise.
10473 (grub_cryptodisk_cheat_mount): Likewise.
10474 (grub_util_cryptodisk_print_uuid): Likewise.
10475 (grub_util_get_fd_sectors): Likewise.
10476 * util/grub-fstest.c (mount_crypt): New var.
10477 (fstest): Mount crypto if requested.
10478 (options): New option -C.
10479 (argp_parser): Parse -C.
10480 (main): Init and fini gcry.
10481 * util/grub-install.in: Support cryptodisk install.
10482 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10483 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10484 cryptodisk.
10485 (prepare_grub_to_access_device): Likewise.
10486 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10487 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10488 (probe_cryptodisk_uuid): New function.
10489 (probe_abstraction): Likewise.
10490 (probe): Use new functions.
10491 * util/import_gcry.py: Create Makefile.utilgcry.def.
10492 Add modname member.
10493
9bfdcbbc
VS
104942011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 Lazy device scanning.
10497
10498 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10499 (grub-setup): Remove util/raid.c.
10500 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10501 * grub-core/disk/lvm.c (scan_depth): New variable.
10502 (grub_lvm_iterate): Rescan if necessary.
10503 (find_lv): New function based on grub_lvm_open.
10504 (grub_lvm_open): Use find_lv. Rescan on error.
10505 (is_node_readable): New function.
10506 (is_lv_readable): Likewise.
10507 (grub_lvm_scan_device): Skip already found disks.
10508 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10509 Stop if searched device is found and readable.
10510 * grub-core/disk/raid.c (inscnt): New variable.
10511 (scan_depth): Likewise.
10512 (scan_devices): New function based on grub_raid_register. Abort if
10513 looked for device is found.
10514 (grub_raid_iterate): Rescan if needed.
10515 (find_array): NEw function based on -grub_raid_open.
10516 (grub_raid_open): Use find_array and rescan.
10517 (insert_array): Set became_readable_at.
10518 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10519 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10520 New function.
10521 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10522 (grub_util_pull_device): New function.
10523 (grub_util_get_grub_dev): Call grub_util_pull_device.
10524 * util/raid.c: Moved to ..
10525 * grub-core/kern/emu/raid.c: ... here.
10526 (grub_util_raid_getmembers): New parameter "bootable".
10527 All users updated. Support 1.x.
10528 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10529 All users updated.
10530 * include/grub/disk.h (grub_disk_pull_t): New enum.
10531 (grub_disk_dev): Change iterate prototype.
10532 All users updated.
10533 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10534 New proto.
10535 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10536 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10537 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10538 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10539 All users updated.
10540 * include/grub/util/raid.h: Removed.
10541
1c358e59
VS
105422011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * po/POTFILES.in: Regenerate.
10545
abee94ed
VS
105462011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Unify sparc init with other ieee1275.
10549
10550 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10551 instead of kern/sparc64/ieee1275/init.c.
10552 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10553 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10554 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10555 grub/machine/kernel.h.
10556 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10557 (grub_claim_heap) [__sparc__]: Use sparc version.
10558 (grub_machine_init): Moved args parsing to
10559 (grub_parse_cmdline): ...this.
10560 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10561 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10562 New definition.
10563 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10564
10565 Move BOOTP to separate file.
10566
10567 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10568 * grub-core/net/net.c: Move all BOOTP functions to
10569 * grub-core/net/bootp.c: ... here.
10570
10571 Use frame interface on PXE.
10572
10573 * grub-core/Makefile.core.def (pxecmd): Removed.
10574 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10575 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10576 * grub-core/i386/pc/pxe.c: Moved from here ...
10577 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10578 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10579 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10580
10581 EFI network support.
10582
10583 * grub-core/Makefile.core.def (efinet): New module.
10584 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10585 here...
10586 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10587 All users updated.
10588 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10589 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10590 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10591 * grub-core/net/drivers/efi/efinet.c: New file.
10592 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10593 (grub_efi_net_config): New extern var.
10594
10595 Various cleanups and bugfixes.
10596
10597 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10598 error.
10599 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10600 disk declared as partition.
10601 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10602 leak on failure.
10603 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10604 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10605 (grub_debug_zalloc): Likewise.
10606 (grub_debug_realloc): Likewise.
10607 (grub_debug_memalign): Likewise.
10608 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10609 Check that target is IPv4.
10610 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10611 local-mac-address as fallback.
10612 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10613 memory leak.
10614 * grub-core/net/ip.c (ipchksum): Rename to ...
10615 (grub_net_ip_chksum): ... this. All users updated.
10616 (grub_net_recv_ip_packets): Special handling for DHCP.
10617 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10618
10619 Unify prefix handling
10620
10621 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10622 (grub_machine_get_bootlocation): ... this.
10623 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10624 (grub_machine_get_bootlocation): ... this.
10625 (grub_prefix): New variable.
10626 (prefix): Removed.
10627 (root_dev): New variable.
10628 (dir): Likewise.
10629 (main): Use new variables.
10630 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10631 Revamped into ...
10632 (grub_machine_get_bootlocation): ... this.
10633 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10634 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10635 (grub_machine_get_bootlocation): ... this.
10636 (grub_machine_set_prefix): Removed.
10637 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10638 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10639 Revamped into ...
10640 (grub_machine_get_bootlocation): ... this.
10641 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10642 (grub_set_prefix_and_root): ... this. All users updated.
10643 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10644 Revamped into ...
10645 (grub_machine_get_bootlocation): ... this.
10646 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10647 (grub_machine_get_bootlocation): New proto.
10648 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10649
10650 Less intrusive and more reliable seek on network implementation.
10651
10652 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10653 (grub_file_seek): Don't call grub_file_net_seek.
10654 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10655 (grub_net_fs_read_real): .. this.
10656 (grub_net_seek_real): Use net->offset.
10657 (grub_net_fs_read): Seek if necessary.
10658
10659 Unify IEEE1275 netwotk config with the other platforms.
10660
10661 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10662 New variable.
10663 (grub_machine_get_bootlocation): Support network.
10664 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10665 Support type and device parsing.
10666 (grub_ieee1275_get_device_type): New function.
10667 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10668 into ...
10669 (grub_ieee1275_net_config_real): ... this.
10670 (grub_ofnet_probecards): Removed.
10671 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10672 * include/grub/ieee1275/ofnet.h: Removed.
10673 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10674 extern var.
10675 (grub_ieee1275_get_device_type): New function.
10676
10677 Unify network device closing across platforms and make more robust.
10678
10679 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10680 grub_grubnet_fini.
10681 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10682 already.
10683 * grub-core/net/net.c (grub_net_network_level_interface_register):
10684 Update num_ifaces.
10685 (grub_net_card_unregister): Close all interfaces.
10686 (receive_packets): Don't poll if no iterfaces are registered.
10687 Open if necessary.
10688 (grub_net_fini_hw): New function.
10689 (grub_net_restore_hw): Likewise.
10690 (fini_hnd): New variable.
10691 (GRUB_MOD_INIT): Register preboot hook.
10692 (GRUB_MOD_FINI): Run and unregister preboot hook.
10693
10694 Poll network cards when idle.
10695
10696 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10697 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10698 * grub-core/net/net.c (receive_packets): Save last poll time.
10699 (grub_net_poll_cards_idle_real): New function.
10700 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10701 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10702 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10703
10704 Rename ofnet interfaces.
10705
10706 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10707 (grub_ofnet_findcards): Use ofnet_%s names.
10708
10709 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10710
10711 Cleanup socket opening.
10712
10713 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10714 (grub_net_fs_close): Likewise.
10715 (grub_net_fs_read_real): Use eof member.
10716 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10717 (+grub_net_udp_close): New inline function.
10718
10719 * include/grub/net/tftp.h: Moved to the top of ...
10720 * grub-core/net/tftp.c: ... here.
10721 * include/grub/net/ip.h: Moved mostly to the top of ...
10722 * grub-core/net/ip.c: ... here.
10723 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10724 * grub-core/net/ethernet.c: ... here.
10725
10726 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10727
10728 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10729 FS name.
10730
10731 * include/grub/net/ip.h (ipv4_ini): Removed.
10732 (ipv4_fini): Likewise.
10733
10734 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10735 (grub_net_send_ip_packets): Likewise.
10736
cf1337aa
VS
107372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10740 grub_read_cmos prototype.
10741
93c06ff9
VS
107422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 VGA text support in qemu-mips
10745
10746 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10747 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10748 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10749 text.
10750 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10751 * grub-core/kern/vga_init.c: ... this.
10752 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10753 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10754 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10755 Adjust.
10756 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10757 GRUB_MACHINE_PCI_IO_BASE.
10758
748ccabe
VS
107592011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 MIPS qemu flash support.
10762
10763 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10764 magic.
10765 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10766 (grub_machine_init): Probe memory if its size isn't known.
10767 * util/grub-mkimage.c (image_targets): Add flash targets.
10768 (generate_image): Handle flash targets.
10769
d7345994
VS
107702011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 MIPS qemu at_keyboard support.
10773
10774 * gentpl.py (videoinkernel): Add qemu-mips.
10775 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10776 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10777 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10778 modules.
10779 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10780 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10781 * grub-core/term/serial.c (grub_serial_register)
10782 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10783
a07a81b3
VS
107842011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 CMOS support on sparc.
10787
10788 * gentpl.py (cmos): Add powerpc and sparc.
10789 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10790 powerpc and sparc.
10791 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10792 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10793 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10794 grub_set_datetime_cmos.
10795 * grub-core/lib/ieee1275/cmos.c: New file.
10796 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10797 (find_rtc): Set no_ieee1275_rtc on error.
10798 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10799 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10800 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10801 fail. Move value to argument. All users updated
10802 (grub_cmos_write): Likewise.
10803 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10804 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10805 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10806 grub_get_datetime_cmos and grub_set_datetime_cmos.
10807
77546584
GS
108082011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10809
10810 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10811 sourcing grub-mkconfig_lib.
10812 * util/update-grub_lib.in: Likewise.
10813 * util/grub.d/00_header.in: Likewise.
10814 * util/grub.d/10_hurd.in: Likewise.
10815 * util/grub.d/10_kfreebsd.in: Likewise.
10816 * util/grub.d/10_linux.in: Likewise.
10817 * util/grub.d/10_netbsd.in: Likewise.
10818 * util/grub.d/10_windows.in: Likewise.
10819 * util/grub.d/20_linux_xen.in: Likewise.
10820 * util/grub.d/30_os-prober.in: Likewise.
10821
54894791
CW
108222011-06-28 Colin Watson <cjwatson@ubuntu.com>
10823
10824 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10825 default_bg_color rather than black.
10826 (grub_gfxterm_fullscreen): Likewise.
10827 (grub_gfxterm_background_color_cmd): Save new background color in
10828 default_bg_color.
10829
8d5d8444
VS
108302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10833
5afeb5bd
VS
108342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10837 mismerge.
10838
ba7df45e
VS
108392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Chainloading on coreboot support.
10842
10843 * grub-core/Makefile.core.def (chain): Add coreboot.
10844 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10845
d0b526b2
VS
108462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10849 if it happens.
10850
5ff1d945
VS
108512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 Implement time command.
10854
10855 * grub-core/Makefile.core.def (time): New module.
10856 * grub-core/commands/time.c: New file.
10857 * grub-core/script/parser.y: Remove "time" keyword.
10858 * grub-core/script/yylex.l: Likewise.
10859
5ebaad7e
VS
108602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10863
bdea3798
VS
108642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10867 when handling leftovers.
10868
b28c5655
VS
108692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10872 so that help2man doesn't fail.
10873
b6f945dc
VS
108742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10877 type in pointers on sparc64.
10878 (get_card_packet): Likewise.
10879
f9b75e8a
CW
108802011-06-27 Colin Watson <cjwatson@ubuntu.com>
10881
10882 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10883 with `*'.
10884 (grub_cmd_videoinfo): Fetch current video mode.
10885
1e3d9b86
VS
108862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10889 because of underlying system restrictions.
10890
efff4b1c
VS
108912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10894 necessary.
10895
9fc9ce37
VS
108962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 Coreboot video support.
10899
10900 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10901 (vbe): Likewise.
10902 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10903 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10904 here ...
10905 * grub-core/kern/i386/int.S: ... here.
10906 * grub-core/video/i386/pc/vbe.c: Updated includes.
10907 * grub-core/video/i386/pc/vga.c: Likewise.
10908 * include/grub/i386/coreboot/memory.h
10909 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10910 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10911 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10912 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10913 Disable interrupts.
10914 * include/grub/i386/pc/vga.h: Removed. All users updated.
10915
41bec7fe
VS
109162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10919 definitions for dprintf.
10920 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10921
ca80309d
VS
109222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10925 prototype.
10926 (get_card_packet): Likewise.
10927
9e322ce8
YB
109282011-06-26 Yves Blusseau <blusseau@zetam.org>
10929
10930 Display the path of the file when file is not found
10931
10932 * grub-core/fs/fat.c: Display the filename when file is not found.
10933 * grub-core/fs/fshelp.c: Likewise.
10934 * grub-core/fs/hfs.c: Likewise.
10935 * grub-core/fs/jfs.c: Likewise.
10936 * grub-core/fs/minix.c: Likewise.
10937 * grub-core/fs/ufs.c: Likewise.
10938 * grub-core/fs/btrfs.c: Likewise.
10939 * grub-core/commands/i386/pc/play.c: Likewise.
10940
cbf597af
SJ
109412011-06-26 Szymon Janc <szymon@janc.net.pl>
10942
10943 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10944 pointer checks before calling grub_free().
10945 * grub-core/commands/wildcard.c (match_devices): Likewise.
10946 * grub-core/commands/wildcard.c (match_files): Likewise.
10947 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10948 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10949 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10950 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10951 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10952 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10953 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10954 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10955 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10956
6295b32f
P
109572011-06-25 Patrick <p55@mailinator.com>
10958
10959 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10960
77c0840b
VS
109612011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10964 (grub_pxe_send): Likewise.
10965 (GRUB_MOD_INIT): Fix types.
10966
40ea05de
SJ
109672011-06-24 Szymon Janc <szymon@janc.net.pl>
10968
10969 * grub-core/io/xzio.c: Fix code style issues
10970
90162423
MRA
109712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
109722011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10973
10974 Network infrastructure.
10975 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10976
10977 * include/grub/net/arp.h: New file.
90162423
MRA
10978 * include/grub/net/device.h: Likewise.
10979 * include/grub/net/ethernet.h: Likewise.
10980 * include/grub/net/ip.h: Likewise.
10981 * include/grub/net/netbuff.h: Likewise.
10982 * include/grub/net/tftp.h: Likewise.
10983 * include/grub/net/udp.h: Likewise.
10984 * include/grub/ieee1275/ofnet.h: Likewise.
10985 * include/grub/emu/export.h: Likewise.
10986 * include/grub/net.h: Likewise.
10987 * grub-core/net/arp.c: Likewise.
10988 * grub-core/net/ethernet.c: Likewise.
10989 * grub-core/net/ip.c: Likewise.
10990 * grub-core/net/udp.c: Likewise.
10991 * grub-core/net/tftp.c: Likewise.
10992 * grub-core/net/netbuff.c: Likewise.
10993 * grub-core/net/net.c: Likewise.
10994 * grub-core/net/drivers/emu/emunet.c: Likewise.
10995 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10996 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10997 export.h.
10998 * grub-core/Makefile.core.def (net): New module.
10999 (tftp): Likewise.
11000 (ofnet): Likewise.
11001 (emunet): Likewise.
11002 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11003 network protocols.
11004 * grub-core/kern/device.c (grub_net_open) : New variable.
11005 (grub_device_open): Handle network device.
11006 (grub_device_close): Likewise.
11007 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11008 (grub_grubnet_fini): Likewise.
11009 (grub_file_seek): Seek in network device.
11010 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11011 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11012 network root.
11013 (grub_machine_fini): Call grub_grubnet_fini.
11014 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11015 network.
11016 (grub_ieee1275_get_aliasdevname): New function.
11017 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11018 Add unofficial Solaris network info.
11019 (grub_multiboot_make_mbi): Likewise.
11020 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11021 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11022 * include/grub/device.h (grub_fs): Removed.
11023 * include/grub/err.h (grub_err_t): Add network-related values.
11024 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11025 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11026 (grub_ieee1275_get_aliasdevname): New proto.
11027 * include/grub/net.h: Rewritten.
423a1849 11028
031f22a0
VS
110292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11032 names.
11033
4388ca72
VS
110342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11037 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11038 it truncates the output.
11039 Reported by: Ximin Luo.
11040
98e2f506
VS
110412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11044
2a5e94d8
VS
110452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11048 partmap before abstraction.
11049
535c1910
AK
110502011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11051
11052 * util/grub-mkconfig_lib.in: Add missing quotes.
11053
bc09e1a2
VS
110542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11057 old method if mountinfo would return /dev/root and /dev/root doesn't
11058 exist.
11059
290766fb
VS
110602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 ZFS zlib support
11063
11064 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11065 (decomp_table): Add zlib entries.
11066 (zio_read): USe 8 bits for compression function rather than 3.
11067 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11068
110692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/disk/ahci.c: Add missing license statements.
11072 * grub-core/fs/romfs.c: Likewise.
11073 * grub-core/lib/ia64/setjmp.S: Likewise.
11074 * grub-core/loader/i386/pc/freedos.c: Likewise.
11075 * grub-core/loader/ia64/efi/linux.c: Likewise.
11076 * grub-core/video/colors.c: Likewise.
11077 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11078
5ab3f48a
VS
110792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 AHCI support.
11082
11083 * grub-core/Makefile.core.def (ata_pthru): Removed.
11084 (ahci): New module.
11085 (pata): Likewise.
11086 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11087 on unload.
11088 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11089 readwrite.
11090 (grub_hdparm_do_check_powermode_cmd): Likewise.
11091 (grub_hdparm_do_smart_cmd): Likewise.
11092 (grub_hdparm_set_val_cmd): Likewise.
11093 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11094 * grub-core/disk/ahci.c: New file.
11095 * grub-core/disk/ata.c: Factor out the low-level part into ...
11096 * grub-core/disk/pata.c: ... here.
11097 * grub-core/disk/ata_pthru.c: Contents moved to ...
11098 * grub-core/disk/pata.c: ... here.
11099 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11100 (grub_scsi_iterate): Use grub_scsi_names.
11101 (grub_scsi_open): Likewise.
11102 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11103 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11104 (grub_ata_regs_t): New struct.
11105 (grub_disk_ata_pass_through_parms): Likewise.
11106 (grub_ata_device): Renamed to ...
11107 (grub_ata): ... this.
11108 (grub_ata_dev): New struct.
11109 Removed all low-level inline functions.
11110 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11111 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11112 iterate hooks and open. All users updated.
11113 * util/grub-install.in: Handle AHCI disk module.
11114
c31dc5f5
SJ
111152011-06-23 Szymon Janc <szymon@janc.net.pl>
11116
11117 Add support for DRI and RSTn markers in JPEG files.
11118
11119 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11120 (JPEG_MARKER_RST0): Likewise.
11121 (JPEG_MARKER_RST1): Likewise.
11122 (JPEG_MARKER_RST2): Likewise.
11123 (JPEG_MARKER_RST3): Likewise.
11124 (JPEG_MARKER_RST4): Likewise.
11125 (JPEG_MARKER_RST5): Likewise.
11126 (JPEG_MARKER_RST6): Likewise.
11127 (JPEG_MARKER_RST7): Likewise.
11128 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11129 (grub_jpeg_decode_dri): New function.
11130 (grub_jpeg_decode_sos): Move image data related part into
11131 grub_jpeg_decode_data function.
11132 (grub_jpeg_decode_data): New function.
11133 (grub_jpeg_reset): New function.
11134 (grub_jpeg_decode_jpeg): Handle new markers.
11135
fe12fd5b
VS
111362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * util/ieee1275/ofpath.c (check_sas): Close fd.
11139 (main): Free of_path.
11140 Reported by: David Volgyes <dvolgyes>.
11141
03147f46
VS
111422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11145 Reported by: David Volgyes <dvolgyes>.
11146
cad3237f
VS
111472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11150 file after stat.
11151 Reported by: David Volgyes <dvolgyes>.
11152
13548d26
VS
111532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11156
11157 Reported by: David Volgyes <dvolgyes>.
11158
e061a1b5
VS
111592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11162 Prevent memory leak.
11163
1abe47dc
VS
111642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11167 (main): Close file.
e061a1b5 11168 Reported by: David Volgyes <dvolgyes>.
1abe47dc 11169
fbc62666
VS
111702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11173 to continue if allocation is failed.
11174
11175 Reported by: David Volgyes <dvolgyes>.
11176
e98c83e9
DV
111772011-06-23 David Volgyes <dvolgyes>
11178
11179 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11180 dereference.
11181
a199a8cd
VS
111822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Fix spurious warning.
11185
11186 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11187 (acorn_partition_map_find): Use .bin member.
11188
e2d1dba0
VS
111892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11192 /dev/root as a valid device.
11193
8a5d6919
JM
111942011-06-23 Jim Meyering <meyering@redhat.com>
11195
e2d1dba0
VS
11196 Avoid NULL deref in grub_device_open.
11197
8a5d6919
JM
11198 * grub-core/kern/device.c (grub_device_open): Don't dereference
11199 a NULL pointer upon failed grub_env_get.
11200
f7db6f4a
VS
112012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 Support non-512B sectors and agglomerate reads.
11204
11205 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11206 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11207 (disk_io_guid): Removed.
11208 (make_devices): Locate solely by BlockIO.
11209 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11210 (grub_efidisk_read): Use read_blocks.
11211 (grub_efidisk_write): Use write_blocks.
11212 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11213 log_sector_size.
11214 (get_safe_sectors): Handle non-512B sectors.
11215 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11216 sectors.
11217 (grub_biosdisk_write): Handle non-512B sectors.
11218 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11219 (grub_scsi_read): Remove special non-512B block handling (now handled
11220 one level up).
11221 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11222 and do sanity checks.
11223 (grub_disk_adjust_range): Handle non-512B sectors.
11224 (transform_sector): New function.
11225 (grub_disk_read_small): Likewise.
11226 (grub_disk_read): Rewritten.
11227 (grub_disk_write): Handle non-512B sectors.
11228 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11229 log_sector_size.
11230 (open_device): Use log_sector_size.
11231 (grub_util_biosdisk_read): Likewise.
11232 (grub_util_biosdisk_write): Likewise.
11233 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11234 non-512B sectors.
11235 (pc_partition_map_embed): Likewise.
11236 * include/grub/disk.h (grub_disk): New field log_sector_size.
11237 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11238 (GRUB_DISK_CACHE_BITS): Increased to 6.
11239 * util/grub-fstest.c (fstest): New command testload.
11240 (argp_parser): Likewise.
11241
881ac815
RM
112422011-06-16 Robert Millan <rmh@gnu.org>
11243
11244 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11245 `ata' driver on kernel of FreeBSD 9.
11246
11247 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11248 (get_ataraid_disk_name): New functions.
11249 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11250 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11251 get_ataraid_disk_name() and get_ada_disk_name().
11252
1e9aef7d
CW
112532011-06-13 Colin Watson <cjwatson@ubuntu.com>
11254
11255 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11256 input format.
11257
351c7c8a
CW
112582011-05-29 Colin Watson <cjwatson@ubuntu.com>
11259
11260 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11261 `ftp.gnu.org' for `alpha.gnu.org'.
11262
6b4e6430
CW
112632011-05-27 Colin Watson <cjwatson@ubuntu.com>
11264
11265 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11266 partitions under /dev/disk/by-id/.
11267
c64db050
CW
112682011-05-27 Colin Watson <cjwatson@ubuntu.com>
11269
11270 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11271 after ten consecutive open failures. Scanning all the way up to
11272 10000 is excessive and can cause serious performance problems in
11273 some configurations.
11274 Fixes Ubuntu bug #787461.
11275
245f4aba
VS
112762011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11279 opening new one.
11280
f767c929
VS
112812011-05-21 Colin Watson <cjwatson@ubuntu.com>
112822011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 Don't stat devices unless we have to.
11285
11286 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11287 dir == /dev/mapper.
11288 (grub_guess_root_device): Use already known os_dev if possible.
11289 * grub-core/kern/emu/hostdisk.c
11290 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11291 if device is known to be a dm one.
11292
f35fa3a6
CW
112932011-05-20 Colin Watson <cjwatson@ubuntu.com>
11294
11295 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11296 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11297 Reported by: Pawel Tecza.
11298
9a79fcf2
VS
112992011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11302 (lsefisystab): Likewise.
11303 (lssal): Likewise.
11304 (lsefimmap): Likewise.
11305 (hdparm): Enable on qemu-mips.
11306 (setjmp): Add ia64 nodist.
11307 (serial): Simplify tags.
11308
63e3eea9
CW
113092011-05-18 Colin Watson <cjwatson@ubuntu.com>
11310
11311 * Makefile.util.def (grub-ofpathname): Install manual page.
11312
09728256
CW
113132011-05-18 Colin Watson <cjwatson@ubuntu.com>
11314
11315 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11316
8b63a142
CW
113172011-05-18 Colin Watson <cjwatson@ubuntu.com>
11318
11319 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11320
e775d8ed
VS
113212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11324 into dprintf.
11325
bf947d36
VS
113262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 Use full 64-bit division.
11329
11330 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11331 (grub_divmod64): ... this.
11332 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11333 version.
11334
b84f26c5
CW
113352011-05-18 Colin Watson <cjwatson@ubuntu.com>
11336
11337 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11338 `source'.
11339
5626056f
CW
113402011-05-18 Colin Watson <cjwatson@ubuntu.com>
11341
11342 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11343 to avoid accidents when debugging with 'sh -x'.
11344 * grub-core/gensyminfo.sh.in: Likewise.
11345 * tests/example_scripted_test.in: Likewise.
11346 * tests/grub_cmd_regexp.in: Likewise.
11347 * tests/grub_script_blanklines.in: Likewise.
11348 * tests/grub_script_dollar.in: Likewise.
11349 * tests/grub_script_expansion.in: Likewise.
11350 * tests/grub_script_final_semicolon.in: Likewise.
11351 * tests/partmap_test.in: Likewise.
11352 * tests/util/grub-shell-tester.in: Likewise.
11353 * tests/util/grub-shell.in: Likewise.
11354
e2965f4a
CW
113552011-05-18 Colin Watson <cjwatson@ubuntu.com>
11356
11357 Move gfxmenu color handling to video, so that gfxterm can use it
11358 too.
11359
11360 * grub-core/gfxmenu/named_colors.c: Move to ...
11361 * grub-core/video/colors.c: ... here. Rename
11362 grub_gui_get_named_color to grub_video_get_named_color.
11363 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11364 * grub-core/video/colors.c (my_isxdigit): ... here.
11365 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11366 Move to ...
11367 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11368 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11369 to ...
11370 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11371
11372 * include/grub/gui.h (grub_gui_color_t): Move to ...
11373 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11374 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11375 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11376 * include/grub/gui.h (grub_gui_map_color): Move to ...
11377 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11378 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11379 to ...
11380 * include/grub/video.h (grub_video_get_named_color): ... here.
11381 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11382 * include/grub/video.h (grub_video_parse_color): ... here.
11383
11384 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11385 video/colors.c.
11386 (gfxmenu): Remove gfxmenu/named_colors.c.
11387 (video) [videomodules]: Add video/colors.c.
11388
11389 Add a background_color command.
11390
11391 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11392 function.
11393 (GRUB_MOD_INIT): Register background_color command.
11394 (GRUB_MOD_FINI): Unregister background_color command.
11395 (redraw_screen_rect): Allow blend/replace of text layer to be
11396 controlled independently from whether there is a background bitmap.
11397 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11398 changing bitmap.
11399
1e4b4390
VS
114002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11401
26618ff0
VS
11402 Patch BPB in ntldr and chainloader --bpb.
11403
1e4b4390
VS
11404 * grub-core/fs/fat.c: Include grub/fat.h.
11405 (grub_fat_bpb): Moved to ...
11406 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11407 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11408 grub/ntfs.h.
11409 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11410 Moved from here...
11411 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11412 here.
11413 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11414 New function.
11415 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11416 (GRUB_MOD_INIT): Show --bpb.
11417 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11418 * grub-core/normal/main.c (features): New variable.
11419 (GRUB_MOD_INIT): Set feature_* variables.
11420 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11421 proto.
11422 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11423
cf02731e
VS
114242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11427 for cleanness.
11428
e3a1073f
VS
114292011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 FreeDOS direct loading support.
11432
11433 * docs/grub.texi (Supported OS): Add FreeDOS.
11434 * grub-core/Makefile.core.def (freedos): New module.
11435 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11436 variable.
11437 (grub_relocator16_boot): Handle %ebx.
11438 * grub-core/lib/i386/relocator16.S: Likewise.
11439 * grub-core/loader/i386/pc/freedos.c: New file.
11440
05caa461
VS
114412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 Long Linux command line support.
11444
11445 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11446 (maximal_cmdline_size): New variable.
11447 (allocate_pages): Use maximal_cmdline_size.
11448 (grub_cmd_linux): Set and use maximal_cmdline_size.
11449 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11450 (allocate_pages): Use maximal_cmdline_size.
11451 (grub_cmd_linux): Set and use maximal_cmdline_size.
11452 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11453 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11454 and cmdline_size.
11455
a2491e23
VS
114562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
114572011-05-18 Colin Watson <cjwatson@ubuntu.com>
11458
11459 Improve devmapper support
11460
11461 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11462 (grub_util_is_lvm): New function.
11463 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11464 than lvm if not dmraid.
11465 Handle mapped md nodes.
11466 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11467 (grub_util_device_is_mapped): ... this. Make always available. All users
11468 updated.
11469 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11470 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11471 dmraid nodes.
11472 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11473
6ad6223e
VS
114742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11477
11478 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11479 * grub-core/modinfo.sh.in: New file.
11480 * grub-core/Makefile.core.def (modinfo.sh): New script.
11481 * util/grub-mknetdir.in: Use modinfo.sh.
11482 * util/grub-mkrescue.in: Likewise.
11483
543a8f6e
VS
114842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11487 Fix potential usage of Elf32 instead of Elf64 when compiling on
11488 32-bit architecture. Add endianness macros while on it.
11489
4959e111
VS
114902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Use mipsel- rather than mips- in directories involving mipsel ports to
11493 allow both endiannesses coexist.
11494
11495 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11496 mips. All conditions adjusted.
11497 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11498 variable.
11499 * util/grub-install.in: Adjust conditions to take renaming into account.
11500 * util/grub-mkimage.c (image_targets): Likewise. New target
11501 mips-qemu_mips-elf for bigendian mips.
11502
35341bbc
VS
115032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 Avoid unnecessary copying on MIPS.
11506
11507 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11508 early if src == dest.
11509 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11510 compression is none.
11511
b772baed
VS
115122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Reduce memory footprint on SGI by putting modules before the kernel
11515 as opposed to after.
11516
11517 * grub-core/Makefile.core.def (kernel): Increase linking address.
11518 (none_decompress): Likewise.
11519 (xz_decompress): Likewise.
11520 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11521 address.
11522 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11523 layout change.
11524 (grub_arch_modules_addr): New function.
11525 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11526 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11527 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11528 here.
11529 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11530 (grub_total_modules_size): ... this. Make global.
11531 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11532 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11533 New definition.
11534 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11535 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11536 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11537 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11538 * util/grub-mkimage.c (image_target_desc): New flag
11539 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11540 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11541 (generate_image): Handle images with modules before kernel.
11542
566a1917
VS
115432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 Prevent potential loss of memory map by overwrite on qemu-mips.
11546
11547 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11548 Save ram size in $s4.
11549 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11550 All users changed to grub_arch_memsize.
11551 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11552 Loongson.
11553 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11554 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11555 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11556 external variable.
11557
5d420cd9
CW
115582011-05-17 Colin Watson <cjwatson@ubuntu.com>
11559
11560 * .bzrignore: Remove grub-dumpbios.
11561
d064b830
CW
115622011-05-17 Colin Watson <cjwatson@ubuntu.com>
11563
11564 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11565 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11566 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11567 existing options which append).
11568 * docs/grub.texi (Simple configuration): Document new options.
11569 Reported by: Ian Jackson. Fixes Debian bug #617538.
11570
3ca2b466
CW
115712011-05-17 Colin Watson <cjwatson@ubuntu.com>
11572
11573 * util/grub-fstest.c (cmd_cat): New function.
11574 (fstest): Handle CMD_CAT.
11575 (options): Add cat.
11576 (argp_parser): Handle cat.
11577
24c9143a
CW
115782011-05-17 Colin Watson <cjwatson@ubuntu.com>
11579
11580 * Makefile.util.def (grub-bin2h): Don't install.
11581 * docs/man/grub-bin2h.h2m: Remove.
11582
90f7ac19
VS
115832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11586 place.
11587
8d4a5178
VS
115882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 Reenable qemu-mips port.
11591
11592 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11593 Fix small arc bug while on it.
11594 * gentpl.py: Handle qemu_mips.
11595 * grub-core/Makefile.am: Likewise.
11596 * grub-core/Makefile.core.def: Likewise.
11597 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11598 inappropriate includes.
11599 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11600 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11601 * grub-core/kern/main.c (grub_modules_get_end)
11602 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11603 * grub-core/kern/mips/qemu-mips: Moved to ..
11604 * grub-core/kern/mips/qemu_mips: ... this.
11605 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11606 (grub_machine_init): Call terminfo_init and serial_init.
11607 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11608 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11609 New variable.
11610 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11611 parameter passing.
11612 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11613 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11614 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11615 * include/grub/mips/qemu_mips/cmos.h: New file.
11616 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11617 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11618 Removed.
11619 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11620 Use correct mips-style address.
11621 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11622 (GRUB_TICKS_PER_SECOND): Removed.
11623 (grub_get_rtc): Likewise.
11624 (grub_cpu_idle): Likewise.
11625 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11626 New definition.
11627 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11628 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11629 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11630 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11631 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11632 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11633 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11634 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11635
400b9371
VS
116362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 SGI ARCS port.
11639
11640 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11641 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11642 platforms.
11643 * configure.ac: New target mips-arc.
11644 * gentpl.py: Likewise.
11645 * grub-core/Makefile.am: Likewise.
11646 * grub-core/Makefile.core.def: Likewise.
11647 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11648 (none_decompress): Likewise.
11649 (lsdev): New module.
11650 (datetime): Use lib/arc/datetime.c on ARC.
11651 (part_dvh): New module.
11652 * grub-core/commands/arc/lsdev.c: New file.
11653 * grub-core/disk/arc/arcdisk.c: Likewise.
11654 * grub-core/kern/mips/arc/init.c: Likewise.
11655 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11656 aligned addresses.
11657 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11658 support.
11659 (grub_arch_dl_relocate_symbols): Likewise.
11660 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11661 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11662 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11663 platforms.
11664 * grub-core/lib/arc/datetime.c: New file.
11665 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11666 pci.h on non-loongson.
11667 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11668 (grub_linux_boot): Set unused registers to 0.
11669 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11670 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11671 * grub-core/mmap/mips/uppermem.c: ...here.
11672 * grub-core/partmap/dvh.c: New file.
11673 * grub-core/term/arc/console.c: Likewise.
11674 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11675 (grub_terminfo_set_current): Add terminal "arc".
11676 (grub_terminfo_readkey): Support ARC sequences.
11677 * include/grub/arc/arc.h: New file.
11678 * include/grub/arc/console.h: Likewise.
11679 * include/grub/disk.h (grub_disk_dev_id): Add
11680 GRUB_DISK_DEVICE_ARCDISK_ID.
11681 * include/grub/mips/arc/kernel.h: New file.
11682 * include/grub/mips/arc/memory.h: Likewise.
11683 * include/grub/mips/arc/time.h: Likewise.
11684 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11685 * include/grub/mips/kernel.h (grub_halt): ... here.
11686 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11687 here...
11688 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11689 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11690 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11691 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11692 proto.
11693 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11694 from here ...
11695 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11696 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11697 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11698 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11699 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11700 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11701 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11702 (grub_phys_addr_t): Moved from here ...
11703 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11704 (grub_vtop): Moved from here ...
11705 * include/grub/mips/memory.h (grub_vtop): ... here.
11706 (grub_map_memory): Moved from here ...
11707 * include/grub/mips/memory.h (grub_map_memory): ... here.
11708 (grub_unmap_memory): Moved from here ...
11709 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11710 (grub_machine_mmap_iterate): Moved from here ...
11711 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11712 (grub_mmap_get_lower): Moved from here ...
11713 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11714 (grub_mmap_get_upper): Moved from here ...
11715 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11716 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11717 here ...
11718 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11719 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11720 here ...
11721 * include/grub/mips/time.h (grub_get_rtc): ... here.
11722 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11723 here ...
11724 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11725 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11726 here ...
11727 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11728 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11729 definition.
11730 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11731 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11732 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11733 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11734 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11735 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11736 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11737 (GRUB_MACHINE_LINK_ADDR): Likewise.
11738 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11739 to 6.
11740 * util/grub-install.in: Run dvhtool on ARC.
11741 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11742 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11743
c8ecc840
VS
117442011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11747 blocks.
11748
153a4b55
VS
117492011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11752 after enabling port.
11753
ff44d107
VS
117542011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 Skip incorrect USB devices.
11757
11758 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11759 configcnt == 0.
11760 * include/grub/usb.h (grub_usb_err_t): New enum value
11761 GRUB_USB_ERR_BADDEVICE.
11762
638dbe4f
VS
117632011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 Fuloong video init support.
11766
11767 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11768 well.
11769 (grub_vga_read_arx): New function.
11770 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11771 definition.
11772 (framebuffer): New members io, mmioptr and mmiobase.
11773 (read_sis_cmd): New function.
11774 (write_sis_cmd): Likewise.
11775 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11776 rather than 640x400.
11777 * grub-core/video/sis315_init.c: New file.
11778
c3fc520c
VS
117792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11782 non-loongson.
11783 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11784 to grub_dl_register_symbol.
11785
67b1e5c9
VS
117862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 Fix compilation errors.
11789
11790 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11791 potentially unused.
11792 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11793 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11794 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11795 to loongson machines.
11796
b756f75f
VS
117972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 Several FS mtime support.
11800
11801 * grub-core/fs/affs.c (grub_affs_time): New struct.
11802 (grub_affs_file): New field mtime.
11803 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11804 type. Removed 'size'. New field 'di'. All users updated.
11805 (grub_affs_mount): Simplify checsum checking.
11806 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11807 (grub_affs_dir): Handle mtime.
11808 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11809 (grub_cpio_dir): Likewise.
11810 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11811 (grub_hfs_filerec): New field mtime.
11812 (grub_hfs_dir): Handle mtime.
11813 (grub_hfs_mtime): New function.
11814 (grub_hfs_fs): Register grub_hfs_mtime.
11815 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11816 (grub_iso9660_dir): New field mtime.
11817 (grub_fshelp_node): New field dirent.
11818 (iso9660_to_unixtime): New function.
11819 (iso9660_to_unixtime2): Likewise.
11820 (grub_iso9660_read_symlink): Use node->dirent.
11821 (grub_iso9660_iterate_dir): Likewise.
11822 (grub_iso9660_dir): Set mtime.
11823 (grub_iso9660_mtime): New function.
11824 (grub_iso9660_fs): Register grub_iso9660_mtime.
11825 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11826 (grub_jfs_inode): New fields atime, ctime and mtime.
11827 (grub_jfs_dir): Set mtime.
11828 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11829 * grub-core/fs/ntfs.c (list_file): Set mtime.
11830 (grub_ntfs_dir): Likewise.
11831 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11832 (grub_reiserfs_iterate_dir): Set mtime.
11833 (grub_reiserfs_dir): Likewise.
11834 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11835 (grub_fshelp_node): Likewise.
11836 (grub_sfs_iterate_dir): Set mtime.
11837 (grub_sfs_dir): Likewise.
11838 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11839 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11840 (grub_xfs_inode): New fields atime, mtime, ctime.
11841 (grub_xfs_dir): Set mtime.
11842 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11843 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11844 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11845
11846 Support UDF symlinks.
11847
11848 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11849 (grub_ufs_read_symlink): New function. All users updated.
11850
11851 Check amiga partmap checksum.
11852
11853 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11854 (grub_amiga_partition): Likewise.
11855 (amiga_partition_map_checksum): New function.
11856 (amiga_partition_map_iterate): Check checksum.
11857
5470225d
VS
118582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 ROMFS support.
11861
11862 * Makefile.util.def (libgrubmods.a): Add romfs.
11863 * grub-core/Makefile.core.def (romfs): New module.
11864 * grub-core/fs/romfs.c: New file.
11865
d4680a35
VS
118662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 Squashfs v4 support.
11869
11870 * Makefile.util.def (libgrubmods.a): Add squash4.
11871 * grub-core/Makefile.core.def (squash4): New module.
11872 * grub-core/fs/squash4.c: New file.
11873 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11874 disk_input_start, disk_input.
11875 (get_byte): Handle disk_input.
11876 (grub_zlib_disk_read): New function.
11877 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11878
bcb18e74
FZ
118792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
118802011-05-15 Feiran Zheng <famcool@gmail.com>
11881
11882 * Makefile.util.def (libgrubmods.a): Add minix3.
11883 * grub-core/Makefile.core.def (minix3): New module.
11884 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11885 (GRUB_MINIX_BSIZE): Removed.
11886 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11887 (grub_minix_ino_t): New type.
11888 (grub_minix_le_to_cpu_ino): New macro.
11889 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11890 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11891 (grub_minix_data): New field block_size.
11892 (grub_minix_read_file): Handle 64-bit correctly.
11893 * grub-core/fs/minix3.c: New file.
11894
32297d5f
TG
118952011-05-15 Tristan Gingold <gingold@free.fr>
118962011-05-15 Robert Millan <rmh.grub@aybabtu.com>
118972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 IA64 support.
11900
11901 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11902 * configure.ac: Add ia64-efi target.
11903 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11904 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11905 * gentpl.py: Add ia64_efi platform.
11906 Rename x86_efi to efi and Add ia64-efi. All users updated.
11907 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11908 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11909 Remove kern/generic/rtc_get_time_ms.c on EFI.
11910 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11911 kern/ia64/dl_helper.c on ia64-efi.
11912 Add kern/emu/cache.c on emu.
11913 (linux): Use on loader/ia64/efi/linux.c on ia64.
11914 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11915 whether symbol is a function.
11916 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11917 (grub_symbol): New field 'isfunc'.
11918 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11919 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11920 (grub_dl_load_segments): Place all sections into the same region.
11921 [__ia64__]: Create trampolines and got.
11922 [GRUB_MACHINE_EMU]: Call mprotect.
11923 (grub_dl_resolve_symbols): Resolve symbol type as well.
11924 [__ia64__]: Create function descriptors.
11925 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11926 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11927 (grub_get_rtc): New function.
11928 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11929 * grub-core/kern/emu/cache.S: Renamed to ...
11930 * grub-core/kern/emu/cache_s.S: ... this.
11931 [__ia64__]: Add a nop.
11932 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11933 [__ia64__]: New function.
11934 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11935 * grub-core/kern/ia64/dl.c: New file.
11936 * grub-core/kern/ia64/dl_helper.c: Likewise.
11937 * grub-core/kern/ia64/efi/init.c: New file.
11938 * grub-core/kern/ia64/efi/startup.S: Likewise.
11939 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11940 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11941 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11942 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11943 * grub-core/loader/ia64/efi/linux.c: New file.
11944 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11945 (GRUB_MOD_DEP): Likewise.
11946 (grub_dl) [__ia64__]: New fields got and tramp.
11947 (grub_dl): New field 'base'.
11948 (grub_dl_register_symbol): New argument isfunc. All users updated.
11949 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11950 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11951 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11952 (grub_ia64_dl_get_tramp_got_size): New proto.
11953 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11954 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11955 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11956 * include/grub/efi/api.h: Skip call wrappers on ia64.
11957 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11958 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11959 * include/grub/elf.h (ELF_ST_INFO): New definition.
11960 * include/grub/ia64/efi/kernel.h: New file.
11961 * include/grub/ia64/efi/memory.h: Likewise.
11962 * include/grub/ia64/efi/time.h: Likewise.
11963 * include/grub/ia64/kernel.h: Likewise.
11964 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11965 * include/grub/ia64/time.h: New file.
11966 * include/grub/ia64/types.h: Likewise.
11967 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11968 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11969 New protos.
11970 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11971 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11972 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11973 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11974 All users updated.
11975 (EFI64_HEADER_SIZE): New definition. All users updated.
11976 (image_targets): Add ia64-efi.
11977 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11978 jumpers_addr. All users updated.
11979 Create function descriptors.
11980 (count_funcs): New function.
11981 (unaligned_uint32): New struct.
11982 (MASK20): New definition.
11983 (MASK19): Likewise.
11984 (MASKF21): Likewise.
11985 (add_value_to_slot_20b): New function.
11986 (add_value_to_slot_21_real): Likewise.
11987 (add_value_to_slot_21): Likewise.
11988 (ia64_kernel_trampoline): New struct.
11989 (nopm): New variable.
11990 (jump): Likewise.
11991 (make_trampoline): New function.
11992 (relocate_addresses): Handle ia64.
11993 (make_reloc_section): Likewise.
11994 (load_image): Likewise.
11995
983b414d
VS
119962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11999 warning. Move variables before code while on it.
12000
5d063cdc
VS
120012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Fuloong support.
12004
12005 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12006 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12007 * grub-core/boot/mips/loongson/fuloong.S: New file.
12008 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12009 Explicitly init CS5536.
12010 [FULOONG]: Don't use serial until CS5536 is available.
12011 Set GPIO based on dumps.
12012 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12013 [FULOONG]: Handle GPIO and memory controller differences.
12014 Parse machine type in $a2.
12015 * grub-core/boot/mips/startup_raw.S: Determine and save the
12016 architecture.
12017 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12018 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12019 init on architecture type.
12020 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12021 SIS315E. Don't init at_keyboard on fuloong.
12022 (grub_halt): Support Fuloong.
12023 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12024 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12025 (loongson_machtypes): New array.
12026 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12027 type.
12028 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12029 config. All users updated. Handle CS5536 serial.
12030 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12031 default port on machine type. Register serial as inactive.
12032 * grub-core/video/sis315pro.c: New file.
12033 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12034 definition.
12035 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12036 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12037 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12038 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12039 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12040 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12041 to ...
12042 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12043 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12044 definition.
12045 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12046 (grub_arch_machine): New extern var.
12047 * include/grub/mips/loongson/serial.h
12048 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12049 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12050 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12051 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12052 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12053 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12054 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12055 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12056 * include/grub/term.h (grub_term_register_input_inactive): New inline
12057 function.
12058 (grub_term_register_output_inactive): Likewise.
12059 * include/grub/video.h (grub_video_driver_id): New value
12060 GRUB_VIDEO_DRIVER_SIS315PRO.
12061 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12062 New field "names". All users updated.
12063 New field value IMAGE_FULOONG_FLASH.
12064 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12065
6ada82d1
JU
120662011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12067
12068 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12069 and add some clarification.
12070
90c571a4
VS
120712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12074 platforms if kernel is compressed.
12075
de04eecf
VS
120762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12079 unused modules since currently referrence counter isn't reliable and
12080 there isn't much memory to recover there anyway.
12081
57688121
VS
120822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12085 rather than resetting it to allow modules to reference themselves
12086 in init.
12087
3d2c7e35
VS
120882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12091 counter on dependencies since grub_dl_unref already handles this.
12092
b25db218
VS
120932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12096 on error if not already done.
12097
25a45338
VS
120982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 Fix few potential memory misusage.
12101
12102 * grub-core/font/font.c (load_font_index): Don't free char_index to
12103 avoid double free.
b25db218
VS
12104 (grub_font_load): Zero-fill font at alloc for safety.
12105 Close file on error.
12106 (free_font): Free bmp_idx.
25a45338 12107
0cac83df
VS
121082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 * docs/grub.texi (Installation): Fix several outdated claims.
12111
2217a143
VS
121122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 Handle module_license on windows.
12115
12116 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12117 sections shifted.
12118 (insert_string): Make argument const char * instead of char *.
12119 (write_section_data): Handle long section names.
12120 Handle module_license.
12121
d4de6b01
VS
121222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12125 handle class-free menuentries.
12126 (grub_normal_add_menu_entry): Add a check to be sure.
12127
4c2a3b43
VS
121282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12131 PgUp and PgDown.
12132
85c6210f
VS
121332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * configure.ac: Bump version to 1.99.
12136
36084912
VS
121372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 Give ATA device a bit more time on first try in order to allow disks
12140 to spin up.
12141
12142 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12143 if dev->present is 1. Reset dev->present on failure.
12144 (grub_ata_device_initialize): Set dev->present to 1.
12145 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12146 (grub_ata_device): New member 'present'.
12147
bda0e219
VS
121482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * util/grub-mkimage.c (generate_image): Update hash.
12151
19e1c41b
VS
121522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 Flush caches on DMA memory.
12155
12156 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12157 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12158 (grub_dma_free): Likewise.
12159 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12160
91bbcc0c
VS
121612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12164 to avoid asm treating ld and sd as macros.
12165
60ddfad3
VS
121662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12169 decompressor.
12170
a298aa04
VS
121712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12174 grub_decompress_core since later would fail if grub_decompress_core
12175 is too far.
12176
9b44feca
VS
121772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12180 R_MIPS_JALR since it's used by newer compiler.
12181
56dbe7b4
VS
121822011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12185
52856af2
VS
121862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12189 file_path to 0 for surety.
12190 (grub_chainloader_boot): Set exit_data to NULL.
12191 Unset the loader once done.
12192 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12193
9c9bfc6d
VS
121942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12197 unknown key into a dprintf.
12198
dd94a3df
VS
121992011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12202 on first non-existant partition.
12203
fa68d99c
VS
122042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12207 openning fails.
12208 Reported by: Mark Korenberg.
12209
157effb7
VS
122102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12213 overflow.
12214
ea75312f
VS
122152011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12218 before closing to ensure that it will be readable by grub-setup.
12219
072b5d31
VS
122202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12223 (devpath_1): Use MAKE_PIWG_PATH.
12224 (devpath_2): Likewise.
12225 (devpath_3): Likewise.
12226 (devpath_4): Likewise.
12227 (devpath_5): Likewise.
12228 (devpath_6): Likewise.
12229
12230 The appleldr.mod was checked that to be binary identical to previous
12231 version.
12232
7fae0051
Z
122332011-05-05 Zach <mikezackles>
12234
12235 Support 2010 Macbooks.
12236
12237 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12238 (devs): Add devpath_6.
12239
7c515bee
VS
122402011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12243 /dev/random. /dev/urandom is good enough for our purposes (salting).
12244
ed660bd8
VS
122452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12248
ee5614b7
VS
122492011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12252 hexadecimal.
12253
664889a6
VS
122542011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12257 and not 0 on failure.
12258
bd405bbc
CW
122592011-05-03 Colin Watson <cjwatson@ubuntu.com>
12260
12261 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12262 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12263 disk; otherwise grub_fs_probe will not fall back to the next
12264 filesystem.
12265 (grub_pxefs_open): Likewise, for consistency.
12266 Reported and tested by: Ezekiel Grave.
12267
4ebff753
CW
122682011-05-03 Colin Watson <cjwatson@ubuntu.com>
12269
12270 * tests/partmap_test.in: Don't hardcode path to parted.
12271 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12272
8f942553
CW
122732011-05-01 Colin Watson <cjwatson@ubuntu.com>
12274
12275 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12276 of `ls' to find out which devices are available.
12277
3c62402d
VS
122782011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12281 than source address for efi mmap buffer.
12282
723f63f2
VS
122832011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12286 wrong action on non-detecting the magic.
12287
68797f92
VS
122882011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12291 already supplied by another part of the module (fixes compilation on
12292 FreeBSD).
12293
6be8715d
VS
122942011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12297 match the one used by mdadm.
12298
e91dba5b
CW
122992011-04-21 Colin Watson <cjwatson@ubuntu.com>
12300
12301 * po/README: Add instructions for creating po/LINGUAS.
12302
c85140b3
CW
123032011-04-21 Colin Watson <cjwatson@ubuntu.com>
12304
12305 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12306 #551428.
12307
12308 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12309 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12310 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12311 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12312 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12313 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12314 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12315 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12316 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12317 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12318 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12319 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12320 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12321 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12322 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12323 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12324 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12325 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12326 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12327 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12328 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12329 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12330
92051871
CW
123312011-04-21 Colin Watson <cjwatson@ubuntu.com>
12332
12333 * grub-core/kern/emu/getroot.c
12334 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12335 test that was incorrectly reintroduced in r3214.
12336 Reported by: Ian Dall. Fixes Savannah bug #33133.
12337
b13f79a4
CW
123382011-04-21 Colin Watson <cjwatson@ubuntu.com>
12339
12340 Fix stack pointer handling in 16-bit relocator.
12341
12342 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12343 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12344 Fixes Ubuntu bug #683904.
12345
9b710a88
VS
123462011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * configure.ac: Bump version to 1.99~rc2.
12349
d97e7b59
VS
123502011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12353 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12354 * grub-core/lib/x86_64/setjmp.S: Likewise.
12355 * grub-core/lib/mips/setjmp.S: Likewise.
12356 * grub-core/lib/powerpc/setjmp.S: Likewise.
12357 * grub-core/lib/sparc64/setjmp.S: Likewise.
12358
0624551c
VS
123592011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12362 * grub-core/lib/efi/datetime.c: Likewise.
12363
e8f28d4c
VS
123642011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12367 New function.
12368 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12369 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12370 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12371
bba79a15
VS
123722011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12375 bitmap.
12376 (grub_gfxterm_term_init): Likewise.
12377
abc474ef
VS
123782011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 Take into account the decorations the computing menu entry width.
12381
12382 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12383 (grub_gfxmenu_create_box): Register get_border_width.
12384 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12385 if available.
12386 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12387 get_border_width.
12388
e74b3947
EP
123892011-04-18 Endres Puschner <code@e7p.de>
12390
12391 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12392 Don't skip first class.
12393
34faa595
VS
123942011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12397 chunks.
12398 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12399
93a777e3
VS
124002011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 Complete 64-bit division support.
12403
12404 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12405 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12406 * include/grub/misc.h (grub_divmod64): Rename to ...
12407 (grub_divmod64_full): ... this.
12408 (grub_divmod64): New inline function.
12409
a5102d94
VS
124102011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12413
f3fb7b36
VS
124142011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12417 performing the necessary test.
12418
9ac718b0
VS
124192011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12422 (kfreebsd.elf): Likewise.
12423 (pc-chainloader.elf): Likewise.
12424 (ntldr.elf): Likewise.
12425
50d2cc5a
VS
124262011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 Identify RAID by its UUID rather than (guessed) name.
12429
12430 * grub-core/disk/raid.c (ascii2hex): New function.
12431 (grub_raid_open): Accept mduuid/%s specification.
12432 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12433 (get_mdadm_uuid): ... this.
12434 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12435
e03f7bea
VS
124362011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12439 to negative size.
12440
e74c3112
CW
124412011-04-13 Colin Watson <cjwatson@ubuntu.com>
12442
12443 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12444 btrfs subvolume.
12445 * util/grub.d/20_linux_xen.in: Likewise.
12446
78fa584f
CW
124472011-04-13 Colin Watson <cjwatson@ubuntu.com>
12448
12449 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12450 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12451
12452 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12453 Build a list of relevant visible mounts using the mnt_id and
12454 parent_mnt_id fields, and then scan that list at the end.
12455
9d5f8162
CW
124562011-04-12 Colin Watson <cjwatson@ubuntu.com>
12457
12458 * docs/grub.texi (normal): New section.
12459 (normal_exit): New section.
12460 (Embedded configuration): Add reference to normal.
12461 (GRUB only offers a rescue shell): Likewise.
12462 * docs/grub-dev.texi (Error Handling): Fix typo.
12463
09a9d66f
CW
124642011-04-12 Colin Watson <cjwatson@ubuntu.com>
12465
12466 * NEWS: Drop obsolete entry about probe-only btrfs support.
12467
0c676933
CW
124682011-04-12 Colin Watson <cjwatson@ubuntu.com>
12469
12470 * util/import_gcry.py: Fix typo.
12471
ec9f5e0d
VS
124722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * NEWS: Add btrfs support.
12475
fe6b2cba
VS
124762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
124772011-04-11 Colin Watson <cjwatson@ubuntu.com>
12478
12479 BtrFS support. Written by me (Vladimir) with important bugfixes and
12480 even more important testing by Colin.
12481
12482 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12483 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12484 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12485 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12486 mem_input_off and mem_input. All users updated to accept in-RAM input.
12487 (gzio_seek): New function.
12488 (test_zlib_header): Likewise.
12489 (grub_gzio_read): Likewise.
12490 (grub_zlib_decompress): Likewise.
12491 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12492 Accept partial and non-virtual mounts.
12493 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12494 avoid receiving /dev/dm-X as device.
12495 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12496 Handle bind and partial mounts.
12497 * grub-core/lib/crc.c: New file.
12498 * include/grub/deflate.h: Likewise.
12499 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12500 proto.
12501 * include/grub/lib/crc.h: New file.
12502
e745cf0c
VS
125032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 Implement automatic module license checking according to new GNU
12506 guidelines.
12507
12508 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12509 (grub_dl_load_core): Use grub_dl_check_license.
12510 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12511 (GRUB_MOD_LICENSE): Likewise.
12512 (GRUB_MOD_DUAL_LICENSE): Likewise.
12513 All modules updated.
12514
2a9bc016
CW
125152011-04-11 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12518 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12519 loaders.
12520 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12521
8a3bc88e
VS
125222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12525
af869a4a
VS
125262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12529 failed.
12530
9ee8d94f
VS
125312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12534 parenthesis in the middle of the filename.
12535
b01abe3e
VS
125362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12539 rather than trying to put initrd way too high.
12540 Reported by: Ryan Lortie <desrt@desrt.ca>
12541
335bda1e
VS
125422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12545 improperly removed string.
12546
5ca1a64d
VS
125472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12550 is_disk.
12551 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12552 (open_device) Likewise.
12553 (grub_util_biosdisk_close): Likewise.
d8ce9995 12554 Reported by: Mark Korenberg.
5ca1a64d 12555
cbac5b1e
AK
125562011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12557
12558 * util/grub-mkconfig_lib.in: Add missing quotes.
12559
088cdb65
CW
125602011-04-10 Colin Watson <cjwatson@ubuntu.com>
12561
12562 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12563 is NULL.
12564
8b8a81fa
VS
125652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 Dynamically count the number of lines for the lower banner.
12568
12569 * grub-core/normal/menu_entry.c (per_term_screen): New member
12570 num_entries.
12571 (print_down): Use num_entries.
12572 (update_screen): Likewise.
12573 (grub_menu_entry_run): Set num_entries.
12574 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12575 num_entries.
12576 (grub_print_message_indented): Move real part to ...
12577 (grub_print_message_indented_real): ... here. Additional argument
12578 dry_run.
12579 (draw_border): Additional argument num_entries.
12580 (print_message): Additional argument dry_run.
12581 (print_entries): Receive menu viewer data.
12582 (grub_menu_init_page): New argment num_entries.
12583 (menu_text_set_chosen_entry): Use num_entries.
12584 (grub_menu_try_text): Likewise.
12585 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12586 All users updated.
12587 (grub_ucs4_count_lines): New function.
12588 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12589 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12590 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12591 (grub_term_border_height): Likewise.
12592 (grub_term_num_entries): Likewise.
12593
277f955b
VS
125942011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12597 Remove now unused string.
12598
536ce85a
CW
125992011-04-09 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12602 build system.
12603 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12604
12605 (Comment): Fix typo.
12606 (Getting started): General copy-editing.
12607 (Typical Development Experience): Likewise.
12608 (Error Handling): Likewise.
12609 (Video API): Likewise.
12610
2cf09e32
CW
126112011-04-09 Colin Watson <cjwatson@ubuntu.com>
12612
12613 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12614 throughout.
12615
1ec652f4
VS
126162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12619 directory.
12620
2c583728
CW
126212011-04-08 Colin Watson <cjwatson@ubuntu.com>
12622
12623 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12624 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12625 "development".
12626
d7a565e9
VS
126272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12630 grub_strcpy since the lines aren't necessarily 0-terminated.
12631
7c2e4909
VS
126322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12635 root on legacy.
12636
34c09785
VS
126372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12640 (GRUB_MOD_INIT): DEVICE isn't optional.
12641
6a6f8058
VS
126422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12645 word on new line if it's too long anyway. Fixes a hang.
12646
2e335e90
VS
126472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12650 const.
12651 * util/grub-setup.c (main): Reuse md device name if available.
12652 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12653 not GRUB name as argument.
12654 Based on patch by: Florian Wagner <fwagner>.
12655
10a7a867
VS
126562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12659 Place mbi on low memory for better compatibility.
12660
7a3d6cd9
VS
126612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12664
18dd6b47
VS
126652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
126662011-04-08 Colin Watson <cjwatson@ubuntu.com>
12667
12668 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12669 * conf/Makefile.common: Likewise.
18dd6b47 12670
3c0e3f14
VS
126712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12672
f7148863
VS
12673 * grub-core/normal/menu.c: Add missing include.
12674
126752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12678
6d1fa41f
MZ
126792011-04-08 Martin Zuther <mzuther@mzuther.de>
12680
12681 * util/grub-mkconfig.in: Ignore emacsen backup.
12682
478182a8
VS
126832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12686 on open.
12687 (grub_util_biosdisk_close): Likewise.
12688
72a89a54
VS
126892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12692 const attribute and use grub_isdigit.
12693
b5ebecfa
A
126942011-04-06 Andrey <dev_null@ukr.net>
12695
12696 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12697 gcc warning.
12698
7755f66e
VS
126992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12702 useful grub_dprintf's.
12703
461121ff
VS
127042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12707
2a961775
VS
127082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12711
adf594cc
VS
127122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 Output errors if theme loading failed.
12715
12716 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12717 grub_gfxterm_fullscreen on error paths to ...
12718 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12719 theme loading error.
12720
665900a3
VS
127212011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12724 space for older compilers.
12725 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12726
a562b479
VS
127272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12730 and report them as not RAID members since they are useless for GRUB.
12731 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12732
850e9373
VS
127332011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 Increase LVM implementation robustness in order not to crash on
12736 configurations like pvmove. Previously code assumed that in some places
12737 only lvs or only pvs are used whereas it seems that they are used
12738 interchangeably.
12739
12740 * grub-core/disk/lvm.c (read_node): New function.
12741 (read_lv): Use read_node.
12742 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12743 Match volumes only at the end when all lvs are found. Take both
12744 pvs (first) and lvs (second) into account.
12745 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12746 mirror_* into node_*. All users updated.
12747 (grub_lvm_stripe): Merge this ...
12748 (grub_lvm_mirror): ... and this ...
12749 (grub_lvm_node): ... into this. All users updated.
12750
6f332153
VS
127512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12754 of function to allow further scanning for LVMs.
12755
829ea451
VS
127562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12759 on failed seek as it breaks open fd reusage.
12760
09ceb9a5
VS
127612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * util/grub-install.in: Add a recommendation to use --recheck before
12764 reporting bugs.
12765
67e11623
VS
127662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12769 are obtained.
12770
caee5efd
VS
127712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 GRUB developper manual based on existing Internals section and
12774 contributions by the various authors with active copyright assignment.
12775
12776 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12777 * docs/font_char_metrics.png: New file.
12778 * docs/font_char_metrics.txt: Likewise.
12779 * docs/grub-dev.texi: Likewise.
12780 * docs/grub.texi (Internals): Move from here ...
12781 * docs/grub-dev.texi: ... here.
12782
2cccc747
CW
127832011-04-01 Colin Watson <cjwatson@ubuntu.com>
12784
12785 Store the loopback device as data on loopback grub_disk structures,
12786 rather than the file it points to. This fixes use of freed memory
12787 if an existing loopback device is replaced.
12788
12789 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12790 disk->data, not dev->file.
12791 (grub_loopback_read): Adjust file assignment to match.
12792 Fixes Ubuntu bug #742967.
12793
186ae367
CW
127942011-04-01 Colin Watson <cjwatson@ubuntu.com>
12795
12796 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12797 when replacing an existing device.
12798
cfed2ad0
VS
127992011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12802 memory corruptions.
12803
12804 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12805 unsigned.
12806 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12807 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12808 (grub_jfs_read_inode): Likewise.
12809 (grub_jfs_opendir): Likewise. Remove now useless casts.
12810 (grub_jfs_getent): Likewise.
12811 Make ino a grub_uint32_t rather than int.
12812 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12813 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12814 division and module with bit operations.
12815 (grub_jfs_find_file): Make ino a grub_uint32_t.
12816 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12817
05d2ed32
CW
128182011-04-01 Colin Watson <cjwatson@ubuntu.com>
12819
12820 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12821 warning. (This was in fact always initialised before use, but GCC
12822 wasn't smart enough to prove that.)
12823 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12824
91dc6073
VS
128252011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12828 stack alignment.
12829 (efi_wrap_1): Likewise.
12830 (efi_wrap_2): Likewise.
12831 (efi_wrap_3): Likewise.
12832 (efi_wrap_4): Likewise.
12833 (efi_wrap_5): Likewise.
12834 (efi_wrap_6): Likewise.
12835 (efi_wrap_10): Likewise.
12836 Based on information by: Red Hat/Peter Jones.
12837
a8afc1d1
CW
128382011-03-31 Colin Watson <cjwatson@ubuntu.com>
12839
12840 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12841 set-but-not-used variable.
12842
a826cc7d
CW
128432011-03-31 Colin Watson <cjwatson@ubuntu.com>
12844
12845 * docs/grub.texi (Simple configuration): Be more explicit about
12846 GRUB_DEFAULT, and add an example.
12847 Reported by: Leslie Rhorer.
12848
875b67ba
CW
128492011-03-30 Colin Watson <cjwatson@ubuntu.com>
12850
12851 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12852 shell".
12853
fd7cd914
AS
128542011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12855
12856 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12857 * util/grub.d/20_linux_xen.in: Likewise.
12858
090b1b6a
VS
128592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * util/grub.d/10_linux.in: Try alternative config filenames where
12862 we parse config file.
12863 * util/grub.d/20_linux_xen.in: Likewise.
12864
baad885c
AS
128652011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12866
12867 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12868 * util/grub.d/20_linux_xen.in: Likewise.
12869
241e41f5
VS
128702011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * grub-core/disk/raid.c (insert_array): Add few potentially
12873 useful grub_util_info.
12874 (grub_raid_register): Likewise.
12875
56445fb2
VS
128762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12879 Preserve partition number in mdadm code path.
12880
c871b1c6
VS
128812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12884 few potentially useful grub_util_info.
12885
5e631b4f
CW
128862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12889
2d5d0333
CW
128902011-03-30 Colin Watson <cjwatson@ubuntu.com>
12891
12892 * docs/grub.texi (default): Use @example rather than nested
12893 itemized lists to avoid breaking gendocs.
12894
3d7ed04e
CW
128952011-03-30 Colin Watson <cjwatson@ubuntu.com>
12896
12897 * docs/grub.texi (Future): Update.
12898
abf04200 128992011-03-30 Colin Watson <cjwatson@ubuntu.com>
12900
12901 * docs/grub.texi (Environment): New chapter.
12902 (Changes from GRUB Legacy): Link to "Environment block" section for
12903 details of limitations.
12904 (Simple configuration): Likewise. Link to documentation of gfxmode
12905 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12906 respectively.
12907 (Shell-like scripting): Note that normal variables are stored in the
12908 environment.
12909 (gettext): Link to documentation of lang and locale_dir.
12910 (list_env): New section.
12911 (load_env): New section.
12912 (save_env): New section.
12913
12914 (Reporting bugs): Fix typo.
12915
e1ad0edd
VS
129162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12919 the example.
12920
5d803174
VS
129212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * grub-core/term/at_keyboard.c (set_scancodes)
12924 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12925
2a2da1d0
CW
129262011-03-30 Colin Watson <cjwatson@ubuntu.com>
12927
12928 * docs/grub.texi (Menu-specific commands): Remove some semantics
12929 that were true in GRUB Legacy but not in GRUB 2.
12930 (submenu): New section.
12931 (false): New section.
12932 (read): New section.
12933 (true): New section.
12934
a7527639
CW
129352011-03-30 Colin Watson <cjwatson@ubuntu.com>
12936
12937 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12938
129392011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12940
12941 * docs/grub.texi (Simple configuration): Explain some of the
12942 current limitations of grub-mkconfig.
8a748df2 12943 Reported by: Leslie Rhorer.
e30af029 12944
fc858482
VS
129452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 Old macs search for boot.efi rather than for bootia32.efi.
12948
12949 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12950 * util/grub-mkrescue.in: Likewise.
12951 Suggested by: Peter Jones.
12952
e1eb511d
VS
129532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12956
70e75364
VS
129572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12960 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12961 (grub_lvm_mirror): New struct.
12962 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12963 (grub_lvm_iterate): Iterate only visible volumes.
12964 (grub_lvm_read): Factor out to ..
12965 (read_lv): ... this. Support mirrors.
12966 (grub_lvm_read): New wrapper function.
12967 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12968 stripped or mirrored.
12969
fc18f6a3
VS
129702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12973
5c650f4c
CW
129742011-03-29 Colin Watson <cjwatson@ubuntu.com>
12975
12976 * docs/grub.texi (loopback): New section.
12977
61d7156b
CW
129782011-03-29 Colin Watson <cjwatson@ubuntu.com>
12979
12980 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12981 removed -p option.
12982
994b8264
CW
129832011-03-29 Colin Watson <cjwatson@ubuntu.com>
12984
12985 * docs/grub.texi (BIOS installation): New section, partly based on
12986 previous text in other sections.
12987 (Installing GRUB using grub-install): Replace BIOS discussion with a
12988 cross-reference.
12989 (Images): Likewise.
12990
9e4d19e0
VS
129912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12994 [HAVE_DIOCGDINFO]: Add safety checks.
12995
a307c0b2
VS
129962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12999 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13000
b4db4f39
CW
130012011-03-29 Colin Watson <cjwatson@ubuntu.com>
13002
13003 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13004 real_sb->size is zero (e.g. RAID-0), get the disk size from
13005 real_sb->data_size instead.
13006 Fixes Ubuntu bug #743136.
13007
35e5f84c
VS
130082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13011 printf clauses for printing size and start.
13012
d2e29d81
VS
130132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13016 Reported and tested by: Timothy Nikkel.
13017
ed5587af
VS
130182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13021 (dirty_region_add_real): ... this.
13022 (dirty_region_add): Don't discard margin refresh when performing
13023 scheduled repaint.
13024
a1dc717c
VS
130252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * grub-core/lib/relocator.c (allocate_regstart)
13028 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13029 terminals are capabple of malloc-free operation.
13030 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13031 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13032
9f3677d3
VS
130332011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13034
13035 * util/grub-setup.c: Copy the partition table zone if floppy support
13036 is disabled, even if no partition table is found.
13037
13038 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13039 during POST if an invalid partition table is contained in the PBR
13040 of the active partition when GRUB is installed to a partition.
13041
24148725
CW
130422011-03-28 Colin Watson <cjwatson@debian.org>
13043
13044 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13045 comment.
13046
f329eda7
CW
130472011-03-28 Colin Watson <cjwatson@debian.org>
13048
13049 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13050 to be specific about what kind of RAID device we're scanning for.
13051
c482ad98
SG
130522011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13053
13054 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13055 return freed string.
13056
5ee04984
VS
130572011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13060
f4727da9
VS
130612011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 Use libgeom on FreeBSD to detect partitions.
13064
13065 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13066 (grub-mkrelpath): Likewise.
13067 (grub-script-check): Likewise.
13068 (grub-editenv): Likewise.
13069 (grub-mkpasswd-pbkdf2): Likewise.
13070 (grub-fstest): Likewise.
13071 (grub-mkfont): Likewise.
13072 (grub-mkdevicemap): Likewise.
13073 (grub-probe): Likewise.
13074 (grub-setup): Likewise.
13075 (grub-ofpathname): Likewise.
13076 (grub-mklayout): Likewise.
13077 (example_unit_test): Likewise.
13078 (grub-menulst2cfg): Likewise.
13079 * grub-core/Makefile.core.def (grub-emu): Likewise.
13080 (grub-emu-lite): Likewise.
13081 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13082 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13083 define HAVE_DIOCGDINFO.
13084 (follow_geom_up) [FreeBSD]: New function.
13085 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13086 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13087 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13088 unconditionally of HAVE_DIOCGDINFO.
13089
82fe6c75
VS
130902011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 Fix FreeBSD compilation problem.
13093
13094 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13095 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13096
4c6c9431
CW
130972011-03-24 Colin Watson <cjwatson@ubuntu.com>
13098
13099 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13100 Switch back to page zero before loading a kernel, since some kernel
13101 drivers expect that.
13102 Thanks to: Felix Kuehling.
13103
c7064d94
VS
131042011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13107 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13108 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13109
3f71cded
VS
131102011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13113 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13114
ef6de21a
VS
131152011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13118 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13119 malloc is disabled.
13120
8bc66a2c
VS
131212011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13124 for modules headers when counting the needed allocation size.
13125
5657722c
VS
131262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13129 if no ASCII character is found to prevent crash.
13130
41a85f55
AK
131312011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13132
13133 * grub-core/video/bitmap.c (match_extension): Ignore case.
13134
59e1e5f1
VS
131352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13138
bd4d051a
VS
131392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * grub-core/script/parser.y: Declare "time" as valid argument.
13142
bae7fcc1
PJ
131432011-03-23 Peter Jones <pjones@redhat.com>
13144
13145 Fix incorrect assert failure reporting.
13146
13147 * grub-core/tests/example_functional_test.c (example_test): Add
13148 a failure comment.
13149 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13150 (failure_start): ...this. Check that malloc succeeded.
13151 Don't call xvasprintf. Return failure struct.
13152 (failure_append_vtext): New function.
13153 (failure_append_text): Likewise.
13154 (add_failure): Likewise.
13155 (grub_test_assert_helper): Likewise.
13156 * include/grub/test.h (grub_test_assert_helper): New declaration.
13157 (grub_test_assert): Macro rewritten.
13158
537dc9be
VS
131592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13162
fa3e01bf
VS
131632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13166
b1d28404
VS
131672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13170 into GRUB-style one.
13171
2e3e2e09
VS
131722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13175 error and not grub_errno.
13176 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13177
ed57e557
VS
131782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13181 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13182
d1611f01
VS
131832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/efiemu/i386/pc/cfgtables.c
13186 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13187 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13188 (grub_xnu_unlock): Likewise.
13189 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13190
7d4e39d6
VS
131912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13194 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13195 * grub-core/commands/hashsum.c (aliases): Likewise.
13196 * grub-core/commands/setpci.c (pci_registers): Likewise.
13197 * grub-core/disk/usbms.c (attach_hook): Likewise.
13198 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13199 (zio_checksum_table): Likewise.
13200 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13201 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13202 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13203 * grub-core/lib/relocator.c (leftovers): Likewise.
13204 (extra_blocks): Likewise.
13205 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13206 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13207 (modules_last): Likewise.
13208 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13209 (devices): Likewise.
13210 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13211 (modules_last): Likewise.
13212 * grub-core/normal/auth.c (users): Likewise.
13213 * grub-core/normal/context.c (initial_menu): Likewise.
13214 (current_menu): Likewise.
13215 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13216 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13217 (grub_serial_terminfo_input_template): Likewise.
13218 (grub_serial_terminfo_output_template): Likewise.
13219 (grub_serial_terminfo_input): Likewise.
13220 (grub_serial_terminfo_output): Likewise.
13221 (registered): Likewise.
13222 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13223
40fc4659
VS
132242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13227 grub_video_mode_type_t.
13228 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13229 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13230 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13231
2da48d28
VS
132322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * util/grub-install.in: Correct the x86-64 name as x86_64.
13235
9b43bf39
CW
132362011-03-11 Colin Watson <cjwatson@ubuntu.com>
13237
13238 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13239 initial chunk read from the kernel always includes GRUB's multiboot
13240 header, which is now outside the first sector.
13241
be1a7ce0
CW
132422011-03-09 Colin Watson <cjwatson@ubuntu.com>
13243
13244 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13245 cached mmap_size, so that this works correctly when called multiple
13246 times.
13247 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13248
83a3c48d
CW
132492011-03-09 Colin Watson <cjwatson@ubuntu.com>
13250
13251 * docs/grub.texi (Simple configuration): Tidy up formatting.
13252
57d75699
SJ
132532011-03-07 Szymon Janc <szymon@janc.net.pl>
13254
13255 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13256 Set-but-not-used variable removed.
13257
028501a0
VS
132582011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 Workaround yet another IEEE1275 bug.
13261
13262 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13263 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13264 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13265 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13266 is set.
13267 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13268 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13269
d998657d
VS
132702011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13273 error.
13274
fee7cdd4
CW
132752011-02-11 Colin Watson <cjwatson@ubuntu.com>
13276
13277 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13278 empty, since in that case we can only generate either nothing or a
13279 syntactically invalid configuration file.
13280 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13281
97286eb5
CW
132822011-02-09 Colin Watson <cjwatson@ubuntu.com>
13283
13284 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13285 (Making a GRUB bootable CD-ROM): Likewise.
13286 (Invoking grub-mkrescue): New section.
13287 Reported by: Yann Dirson. Fixes Debian bug #612585.
13288
22b28eb3
CW
132892011-02-09 Colin Watson <cjwatson@ubuntu.com>
13290
13291 * util/grub-install.in: Remove unnecessary brackets from tr
13292 arguments.
13293 * util/grub.d/10_hurd.in: Likewise.
13294 * util/grub.d/10_kfreebsd.in: Likewise.
13295 * util/grub.d/10_linux.in: Likewise.
13296 * util/grub.d/20_linux_xen.in: Likewise.
13297 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13298
7e735e43
CW
132992011-02-08 Colin Watson <cjwatson@ubuntu.com>
13300
13301 * include/grub/file.h (not_easly_seekable): Rename to ...
13302 (not_easily_seekable): ... this. Update all users.
13303
800f1881
CW
133042011-01-28 Colin Watson <cjwatson@ubuntu.com>
13305
13306 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13307 grub-mkrescue.
13308
3281d3d6
VS
133092011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * util/grub-mkimage.c (generate_image): Refuse to create the images
13312 bigger than the actual flash (512K) in Loongson machines. 512K is also
13313 the biggest chip supported by them.
13314
3533413c
VS
133152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13318
73ae4f4f
VS
133192011-01-22 Anthony DeRobertis <anthony@derobert.net>
13320
13321 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13322 super_offset field.
13323
37f4f608
VS
133242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * util/grub-install.in: Ignore install device on platforms
13327 where it doesn't make sense. Always use UUIDs except on pc, efi and
13328 sparc64.
13329 Reported by: Daniel Kahn Gillmor.
13330
03a4ccb5
VS
133312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13334
ffc8f4d8
VS
133352011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13338 (iterate_real): Don't rely on partition being non-NULL.
13339
80f23be7
VS
133402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13343 supported platforms. Put a compile time assert for this rather than
13344 generate a warning with 32-bit shift.
13345
5d4f4dd5
VS
133462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13349 logical expression more readable.
13350
e489601a
VS
133512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13354 even if some elements have a name.
13355 Reported by: Alexander GQ Gerasiov.
13356
96e0a6ea
CW
133572011-01-22 Colin Watson <cjwatson@ubuntu.com>
13358
13359 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13360 path unreadable if `grub-probe -t abstraction' fails, for example if
13361 memberlist fails on an LVM volume group.
13362 Reported by: Darius Jahandarie.
13363
81431e2b
CW
133642011-01-22 Colin Watson <cjwatson@ubuntu.com>
13365
13366 * docs/grub.texi (Simple configuration): Document
13367 GRUB_PRELOAD_MODULES.
13368
5e79d66a
CW
133692011-01-17 Colin Watson <cjwatson@ubuntu.com>
13370
13371 * .bzrignore: Remove nonexistent grub-pbkdf2.
13372
646ada34
VS
133732011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * configure.ac: Bump version to 1.99~rc1.
13376
04360337
VS
133772011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13380 for safety.
13381
46c9db88
VS
133822011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13385 module.
13386
133872011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13388
13389 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13390
4fbf1852
VS
133912011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13394 diskdevid.
13395
f1632d4d
VS
133962011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 Fix compilation on cygwin.
13399
13400 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13401 -R .drectve on cygwin.
13402 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13403 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13404 (COND_CYGWIN): New condition.
13405 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13406 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13407 not @TARGET_OBJ2ELF@.
13408 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13409 type to determine whether aux is to be used.
13410
0b5e127b
VS
134112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13414 realpath'ed device string.
13415 Handle floppy (somewhat).
13416 Issue error in unknown case rather than garbage.
13417 Reported by: Axel Beckert.
13418
173b71e9
VS
134192011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * util/grub.d/00_header.in (load_video): Handle the case when no video
13422 drivers available.
13423 Thanks to: Axel Beckert.
13424
f8f479db
VS
134252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13428 variable. Fixes problem on big endian platforms.
13429
8fc0a245
VS
134302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13433 It doesn't work well there.
13434
b8494fbe
VS
134352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13438 warning.
13439 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13440 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13441 counter.
13442
b44a558c
VS
134432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 Use alias->path rather than buggy "canon".
13446
13447 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13448 (ofdisk_hash_add): New argument curcan. All users updated.
13449
51fa856c
CW
134502011-01-11 Colin Watson <cjwatson@ubuntu.com>
13451
13452 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13453
9da068a5
VS
134542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13457 loadmask before doing any calculations. Use correct type for offset.
13458 (grub_linux_load64): Likewise.
13459
86205c94
CW
134602011-01-11 Colin Watson <cjwatson@ubuntu.com>
13461
13462 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13463 with NULL.
13464 (console_grub_equivalences_unshift): Likewise.
13465 Reported by: Daniel Dehennin.
13466
4531a206
VS
134672011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13470 (set_env_limn_ro): Likewise.
13471 (GRUB_MOD_INIT): Likewise.
13472 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13473 ARRAY_SIZE while on it.
13474 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13475 * grub-core/normal/context.c (grub_env_export): Move from here ...
13476 * grub-core/kern/env.c (grub_env_export): ... here.
13477 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13478 prefix.
13479 * grub-core/kern/main.c (grub_main): Export root and prefix.
13480 * include/grub/env.h (grub_env_export): Export.
13481 Reported by: Seth Goldberg.
13482
45146057
VS
134832011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13486 Take into account space used by ELF sections and multiboot palette.
13487 Reported by: Grégoire Sutre.
13488
f093110b
VS
134892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * BUGS: New file.
13492
3395fe52
VS
134932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 Pass more appropriate video id to Linux.
13496
13497 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13498 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13499 fill have_vga.
13500 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13501 shift params->lfb_size.
13502 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13503
c2fa6cbb
VS
135042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13507
b3ff6ff0
VS
135082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13511 separator and pass bootpath/devid even if only one of them is available.
13512 Reported by: Seth Goldberg.
13513
ae67942e
VS
135142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13517 implementations bug on them.
13518
13519 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13520 memory.
13521 (filter_memory_map): Likewise.
13522
d570097a
VS
135232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13526 Reported by: nebuchadnezzar.
13527
a508e776
VS
135282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13531 Reported by: nebuchadnezzar.
13532
dcb883b1
VS
135332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 Submenu default support.
13536
13537 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13538 auto_boot. All users updated.
13539 Declared static.
13540 Handle chosen and default with submenus.
13541 (grub_menu_execute_with_fallback): Declared static.
13542 Don't notify failure if autobooted. Upper level does it.
13543 (menuentry_eq): New function.
13544 (get_entry_number): Use menuentry_eq.
13545 (show_menu): New parameter "autobooted". All users updated.
13546 (grub_show_menu): Likewise.
13547 * include/grub/normal.h (grub_show_menu): Likewise.
13548 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13549 (grub_menu_execute_with_fallback): Likewise.
13550
6fef99b4
VS
135512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * util/grub-mklayout.c (usage): Update help text.
13554
47a77af5
VS
135552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13558
ce6bb3ee
VS
135592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * util/grub-menulst2cfg.c (main): Trim the line.
13562
db87be2a
VS
135632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13566 (grub_machine_init): Don't check amount of low memory as reportedly
13567 INT 12h can be broken and if low memory is too low we wouldn't have
13568 gotten into grub_machine_init anyway.
13569
c49849cc
VS
135702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13573 (grub_machine_mmap_iterate): Take low memory into account
13574
b1969b30
VS
135752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13578 badfs.
13579 Reported by: TiCPU.
13580
cf0eaf13
VS
135812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13584 members errors.
13585
1f060f39
GS
135862011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13587
13588 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13589 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13590
a21e5672
GS
135912011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13592
13593 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13594 openbsd and netbsd types being in part_bsd module.
13595
c88172fa
VS
135962011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13599 (_FILE_OFFSET_BITS): Likewise.
13600 Reported by: Seth Goldberg.
13601
53798c4b
GS
136022011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13603
13604 * configure.ac: Check for libdevmapper header.
13605
e7121b69
VS
136062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13609 avoid aliasing.
13610 (fzap_lookup): Likewise.
13611 (dnode_get): Likewise.
13612 (make_mdn): Likewise.
13613 (zfs_mount): Likewise.
13614 (fzap_iterate): Use temporary pointer to avoid aliasing.
13615 (grub_zfs_read): Likewise.
13616 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13617 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13618 pointers to avoid aliasing.
13619 (grub_cmd_xnu_kernel64): Likewise.
13620 (grub_xnu_load_driver): Likewise.
13621
fc836af9
VS
136222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13625 aliasing warning.
13626 (grub_cmd_terminal_output): Likewise.
13627 Reported and tested by: Grégoire Sutre.
13628
f9f37648
VS
136292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13632 warning.
13633 Reported and tested by: Grégoire Sutre.
13634
ec1dfd63
VS
136352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * configure.ac: Do CPU substitution even if it's specified explicitly.
13638 Reported and tested by: Alain Greppin.
13639
9462775a
VS
136402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13643 Reported and tested by: Alain Greppin.
13644
0fd48e35
VS
136452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 Satisfy some bison versions need for inttypes.h.
13648
13649 * grub-core/lib/posix_wrap/inttypes.h: New file.
13650 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13651 (int16_t): Likewise.
13652 (int32_t): Likewise.
13653 (int64_t): Likewise.
13654 Reported and tested by: Alain Greppin.
13655
43f1bc83
VS
136562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13659 Silence spurious warning.
13660 Reported and tested by: Alain Greppin.
13661
64d1f041
SJ
136622011-01-07 Szymon Janc <szymon@janc.net.pl>
13663
13664 * docs/grub.texi (Support automatic decompression): Update with xz
13665 decompression support.
13666
25953e10
SJ
136672011-01-07 Szymon Janc <szymon@janc.net.pl>
13668
13669 Improve loaders' kernel command line handling.
13670
13671 * grub-core/lib/cmdline.c: New file.
13672 * include/grub/lib/cmdline.h: Likewise.
13673 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13674 grub_create_loader_cmdline to create kernel command line.
13675 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13676 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13677 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13678 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13679 (linux): Add lib/cmdline.c on common.
13680
e72d259f
VS
136812011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13684 inopos might be unaligned.
13685
c0cf26da
VS
136862011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13689 endian transformations.
13690 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13691 Based on report by: Doug Nazar.
13692
0ca09e6c
DN
136932011-01-07 Doug Nazar <nazard.michi@gmail.com>
13694
13695 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13696 array->members[i].start_sector.
13697 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13698
014b6806
VS
136992011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13702 Reported and tested by: Grégoire Sutre.
13703
415502c2
CW
137042011-01-06 Colin Watson <cjwatson@ubuntu.com>
13705
13706 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13707 avoid causing test failures by clearing the screen.
13708
71b6a2b7
CW
137092011-01-06 Colin Watson <cjwatson@ubuntu.com>
13710
13711 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13712 Fix prefix check to handle the case where dir ends with a slash
13713 (most significantly, "/" itself).
13714 Reported by: Michael Vogt.
13715
b3f8d28a
VS
137162011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 Run terminfo_cls on initing terminfo output to clear the screen and
13719 move the cursor to (0,0).
13720
13721 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13722 Call grub_terminfo_output_init.
13723 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13724 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13725 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13726
4c3e4f37
VS
137272011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13730 only when needed.
13731
488f71f1
VS
137322011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13735 CTRL.
13736
18a38098
VS
137372011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 The E820 type 5 is BADRAM, not EXEC_CODE.
13740
13741 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13742 (GRUB_E820_BADRAM): New define.
13743 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13744 into reserved. Propagate BADRAM.
13745 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13746 (GRUB_E820_BADRAM): New define.
13747
9eae2084
VS
137482011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13751 Ignore the memory post-4G.
13752 (grub_relocator_firmware_alloc_region): Additional debug statement.
13753
ebc71d28
VS
137542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13757 names.
13758 Reported by: David Pravec.
13759
446fa400
VS
137602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13763 BIOSes.
13764
a0159f37
VS
137652011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13768 Prevent overflow.
13769 (grub_reed_solomon_recover): Likewise.
13770
e5146ca1
VS
137712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13774
137752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13776
13777 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13778 variable.
13779
5b1bdf12
CW
137802011-01-04 Colin Watson <cjwatson@ubuntu.com>
13781
13782 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13783 descriptions of extract_legacy_entries_source and
13784 extract_legacy_entries_configfile.
13785 Reported by: Seung Soo, Ha.
13786
99d925aa
CW
137872011-01-03 Colin Watson <cjwatson@ubuntu.com>
13788
13789 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13790 on devices that do not implement function 0.
13791
4af0504b
DV
137922011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13793
13794 * grub-core/fs/hfsplus.c: Make parent unsigned.
13795 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13796 overflows.
13797 (grub_hfsplus_cmp_extkey): Likewise
13798
469ee10a
VS
137992011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * util/grub-install.in: Correctly use bootloader_id and not
13802 GRUB_DISTRIBUTOR on efibootmgr line.
13803
323a8e9c
VS
138042011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13807
1b394975
IC
138082010-12-31 Ian Campbell <ijc@hellion.org.uk>
13809
13810 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13811 Xen and reorder menu item wording to make it clearer that this entry
13812 will launch Xen. Print separate messages when loading Xen and
13813 Linux.
13814
275bff5f
VS
138152010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13818 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13819 loop in case of incorrect amiga partmap.
13820
307806cb
VS
138212010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13824 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13825 Reported by:EHeM.
13826
b12b923e
VS
138272010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13830 spurious warning.
13831 Reported by: crocket
13832
14b48a19
VS
138332010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13836 Preload EFIemu.
13837 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13838
693db2df
VS
138392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13842 is loaded
13843 (grub_cmd_xnu_kextdir): Likewise.
13844 (grub_cmd_xnu_splash): Likewise.
13845
c7638645
VS
138462010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Avoid using Reed-Solomon with 0 redundancy.
13849
13850 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13851 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13852 or 0 redundancy.
13853 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13854 (grub_reed_solomon_recover): Likewise.
13855
25dd4780
VS
138562010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 Don't use disk subsystem in freebsd_boot.
13859
13860 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13861 (freebsd_biosdev): Likewise.
13862 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13863 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13864
0b2db943
VS
138652010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 Handling of files of unknown size is currently limited. They can't be
13868 used e.g. for initrd or modules. Moreover gzip handling of not
13869 easily seekable files is buggy. Disable unknown file size for now. May
13870 be inefficient but works.
13871
13872 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13873 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13874
5c408d0f
MP
138752010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13876
13877 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13878 floppy probe.
13879
190a011a
JD
138802010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13881
13882 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13883
022d01b8
SL
138842010-12-25 Shea Levy <shlevy>
13885
13886 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13887
c4855fdc
VS
138882010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13891 Windows Server 2008.
13892 Reported by: Devin Giddings.
13893
0354b867
VS
138942010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13897 writing an error message because of async power management.
13898 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13899 (grub_reboot): Likewise.
13900
ab66c69f
JU
139012010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13902
13903 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13904 keep unit tests from failing when they shouldn't.
13905
1426ef35
CW
139062010-12-21 Colin Watson <cjwatson@ubuntu.com>
13907
13908 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13909 previous patch increased the size of the RS code by 20 bytes (at
13910 least with gcc-4.4), so increase this by 20 bytes to match.
13911 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13912
20641b6b
CW
139132010-12-21 Colin Watson <cjwatson@ubuntu.com>
13914
13915 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13916 scratch area. Make sure to initialise chosen in standalone mode as
13917 well as non-standalone.
13918 Reported by: Robert Hooker and Andy Whitcroft.
13919 Tested by: Andy Whitcroft.
13920
d060ad60
CW
139212010-12-21 Colin Watson <cjwatson@ubuntu.com>
13922
13923 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13924 constructing a new unescaped string and passing it to grub_xputs in
13925 one go, rather than passing characters to grub_printf one at a time.
13926
b889cfad
CW
139272010-12-21 Colin Watson <cjwatson@ubuntu.com>
13928
13929 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13930 initialising utf16.
13931
4e01b6c8
CW
139322010-12-21 Colin Watson <cjwatson@ubuntu.com>
13933
13934 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13935 comment. Add an extra layer of quotation, requiring the output of
13936 this function to be used in a printf format string.
13937 (gettext_printf): New function.
13938 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13939 Extract translatable strings from here-documents and use a temporary
13940 variable instead, so that xgettext can find them.
13941 * util/grub.d/10_kfreebsd.in: Likewise.
13942 * util/grub.d/10_linux.in: Likewise.
13943 * util/grub.d/20_linux_xen.in: Likewise.
13944
13945 * po/grub.d.sed: New file.
13946 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13947 arguments. Set c-format flags on all strings extracted from
13948 util/grub.d/ (xgettext refuses to include these itself for strings
13949 it extracted from a shell file, but these really are c-format).
13950
5318fe98
VS
139512010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13954 Avoid next pointing to nowhere.
13955
6c85b743
VS
139562010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13959 rather than assuming than rootblock is exactly in the middle.
13960 (grub_affs_label): Likewise.
13961
a2a08a35
VS
139622010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13965 reserved_first_sector to 0.
13966 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13967 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13968 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13969
7059d1ec
VS
139702010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 Fix handling of UTF-16 UDF labels.
13973
13974 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13975 (read_string): .. here.
13976 (grub_udf_label): Use read_string.
13977
30aff4cb
BC
139782010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13979
13980 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13981 editor under argument scope.
13982 Reported by: Jordan Uggla
13983
5cf86f4b
VS
139842010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13987
32570200
CW
139882010-12-18 Colin Watson <cjwatson@ubuntu.com>
13989
13990 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13991 line, and other keys scroll an entire page (previous handling was
13992 for \r and \n to scroll a page and other keys to scroll two lines).
13993
e1dffcf2
VS
139942010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13997 Set ptrdest to correct get_physical_target_address rather than
13998 incorrect get_virtual_current_address.
13999
b04298cf 140002010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14001
14002 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14003 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14004
5367ecd3
CW
140052010-12-10 Colin Watson <cjwatson@ubuntu.com>
14006
14007 * .bzrignore: Ignore grub-core/rs_decoder.S.
14008
1fb430f8
CW
140092010-12-10 Colin Watson <cjwatson@ubuntu.com>
14010
14011 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14012 .mo/.mo.gz opening sequence to ...
14013 (grub_mofile_open_lang): ... here.
14014 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14015 * util/grub.d/00_header.in (grub_lang): Include country part of
14016 locale.
14017 Reported by: Mario Limonciello.
14018
a94a6671
RM
140192010-12-09 Robert Millan <rmh@gnu.org>
14020
14021 * NEWS: Document addition of ZFS support.
14022
24b7938b
CW
140232010-12-04 Colin Watson <cjwatson@ubuntu.com>
14024
14025 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14026 rather than `/ 2', as the latter requires -Wa,--divide which would
14027 require bumping our minimum binutils version.
14028
bddc3ef6
BC
140292010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14030
14031 * util/grub-script-check.c (main): Print script line number on
14032 error.
14033
bf78d5b2
RM
140342010-12-01 Robert Millan <rmh@gnu.org>
14035
14036 * grub-core/fs/zfs/zfs.c: New file.
14037 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14038 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14039 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14040 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14041
14042 * include/grub/zfs/dmu.h: Likewise.
14043 * include/grub/zfs/dmu_objset.h: Likewise.
14044 * include/grub/zfs/dnode.h: Likewise.
14045 * include/grub/zfs/dsl_dataset.h: Likewise.
14046 * include/grub/zfs/dsl_dir.h: Likewise.
14047 * include/grub/zfs/sa_impl.h: Likewise.
14048 * include/grub/zfs/spa.h: Likewise.
14049 * include/grub/zfs/uberblock_impl.h: Likewise.
14050 * include/grub/zfs/vdev_impl.h: Likewise.
14051 * include/grub/zfs/zap_impl.h: Likewise.
14052 * include/grub/zfs/zap_leaf.h: Likewise.
14053 * include/grub/zfs/zfs.h: Likewise.
14054 * include/grub/zfs/zfs_acl.h: Likewise.
14055 * include/grub/zfs/zfs_znode.h: Likewise.
14056 * include/grub/zfs/zil.h: Likewise.
14057 * include/grub/zfs/zio.h: Likewise.
14058 * include/grub/zfs/zio_checksum.h: Likewise.
14059
14060 * Makefile.util.def: Build ZFS into libgrubmods.
14061 * grub-core/Makefile.core.def: Build zfs.mod.
14062
3f0f3831
SJ
140632010-11-30 Szymon Janc <szymon@janc.net.pl>
14064
14065 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14066 variable.
14067 * grub-core/commands/wildcard.c (match_files): Likewise.
14068
3a4253b2
RM
140692010-11-30 Robert Millan <rmh@gnu.org>
14070
14071 * grub-core/loader/i386/bsd.c
14072 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14073 whether kernel is loaded using grub_loader_is_loaded(), rather
14074 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14075 certain error conditions.
14076
8c317b27
RM
140772010-11-30 Robert Millan <rmh@gnu.org>
14078
c5c9cd3e
RM
14079 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14080 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 14081
49d3ab46
VS
140822010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 Avoid using tricks for initialising endian variables.
14085
14086 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14087 Make const.
14088 (GRUB_MOD_INIT): Don't byte-swap.
14089 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14090 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14091 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14092 (grub_swap_bytes32_compile_time): Likewise.
14093 (grub_cpu_to_le32_compile_time): Likewise.
14094 (grub_cpu_to_le16_compile_time): Likewise.
14095
f420a804
VS
140962010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * util/grub-setup.c (setup): Stop recommending --force. People who
14099 understand the dangers of blocklists are able to find this option
14100 anyway and the ones who don't shouldn't use it anyway.
14101
4e7db17b
RM
141022010-11-26 Robert Millan <rmh@gnu.org>
14103
14104 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14105 Update all users.
14106
9be57a0d
CW
141072010-11-26 Colin Watson <cjwatson@ubuntu.com>
14108
14109 Fix LVM-on-RAID probing.
14110
14111 * util/grub-probe.c (probe): Remember which disk was detected as
14112 RAID (perhaps an LVM physical volume). Use that disk's raidname
14113 rather than that of the top-level disk.
14114
2c7859b3 141152010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 14116
d7647bb6
BC
14117 Fix cmdline argument quotes for setparams command of menuentry
14118 definitions.
7e623b0d
BC
14119
14120 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14121 quotes for arguments.
f866fe80 14122 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 14123 grub_strchrsub function instead.
f866fe80 14124
7955bea0 14125 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 14126
74f72a64
CW
141272010-11-24 Colin Watson <cjwatson@ubuntu.com>
14128
14129 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14130 effort by skipping "." and ".." entries up-front.
14131 Suggested by: Michael Lazarev.
14132
5a407278
CW
141332010-11-24 Colin Watson <cjwatson@ubuntu.com>
14134
14135 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14136 ldflags to ldadd, to fix link line ordering.
14137 (none_decompress): Likewise.
14138
3030d8ec
CW
141392010-11-24 Colin Watson <cjwatson@ubuntu.com>
14140
14141 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14142 platforms.
14143 (grub-emu-lite): Remove kern/emu/cache.S.
14144
b7fbac12
CW
141452010-11-23 Colin Watson <cjwatson@ubuntu.com>
14146
14147 * util/deviceiter.c (compare_devices): If the by-id link for a
14148 device couldn't be resolved, fall back to sorting by the by-id link
14149 rather than segfaulting.
14150 Reported and tested by: Daniel Mierswa.
14151
5225f328
CW
141522010-11-23 Colin Watson <cjwatson@ubuntu.com>
14153
14154 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14155 ldflags, to fix link line ordering.
14156
038b3ce8
CW
141572010-11-23 Colin Watson <cjwatson@ubuntu.com>
14158
14159 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14160 linkers are picky about this.
14161
bf16e98e
CW
141622010-11-23 Colin Watson <cjwatson@ubuntu.com>
14163
14164 * grub-core/Makefile.am (command.lst): Adjust sed expression
14165 ordering so that extended and priority commands aren't treated as
14166 ordinary commands.
14167
7242bab6
CW
141682010-11-23 Colin Watson <cjwatson@ubuntu.com>
14169
14170 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14171 Remove byte-swapping function calls, which are not valid in
14172 structure initialisers.
14173 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14174 non-const.
14175 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14176 grub_gpt_partition_type_bios_boot.
14177
14e8b279
CW
141782010-11-22 Colin Watson <cjwatson@ubuntu.com>
14179
14180 Fix test program build on GNU/kFreeBSD.
14181
14182 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14183 $(LIBNVPAIR)' library dependencies.
14184
e6f63338 141852010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
14186
14187 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14188
cf8ffc38
CW
141892010-11-22 Colin Watson <cjwatson@ubuntu.com>
14190
14191 * util/grub-install.in: Remove excessive quoting that broke
14192 installations to RAID devices.
14193
7f8b0fd7
VS
141942010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14197 bootloader version instead of 0.
14198
dfd240b1
VS
141992010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14202 warning.
14203
7b61e609
VS
142042010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14207 retrieve the metadat sector if size isn't known.
14208 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14209
9dfe92d0
RM
142102010-11-18 Robert Millan <rmh@gnu.org>
14211
14212 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14213 with grub_memcmp().
14214
41cc919e
VS
142152010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14218 arrow.
14219 Reported by: Jordan Uggla.
14220
1afcc914
VS
142212010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 Make better UTF compliant.
14224
14225 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14226 sequences as incorrect.
14227 (grub_is_valid_utf8): Likewise.
14228 (grub_utf8_to_ucs4): Likewise.
14229 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14230 (grub_ucs4_to_utf8_alloc): Likewise.
14231 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14232
f1808884
VS
142332010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 Make legacy_source behave like source.
14236
14237 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14238 grub_show_menu.
14239 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14240
24ec575b
CW
142412010-11-16 Colin Watson <cjwatson@debian.org>
14242
14243 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14244 (-Wunused implies -Wunused-parameter, but not vice versa).
14245
72b7c7aa
CW
142462010-11-16 Colin Watson <cjwatson@ubuntu.com>
14247
14248 * configure.ac: Make error messages less confusing by testing for
14249 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14250 accepted, but produces a diagnostic if something else is wrong).
14251
e98937aa
VS
142522010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14255 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14256 (now unused).
14257 (grub_keyboard_controller_init)
14258 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14259 read the initial state since controller isn't inited yet.
14260
f6bbabc3
VS
142612010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14264 allocate_regbeg may need to create new chunk header.
14265
22e7dbb2
VS
142662010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 Fix quoting in legacy parser.
14269
14270 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14271 single quotes.
14272 (grub_legacy_parse): Likewise.
14273 Reported by: Jordan Uggla.
14274 Tested by: Jordan Uggla.
14275
03f80960
VS
142762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 Don't add -lgcc on i386 and x86_64.
14279
14280 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14281 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14282 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14283
779dc15b
VS
142842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14285
14286 * configure.ac: Add -Wno-trampolines when supported.
14287
d20a3b37
MV
142882010-11-14 Modestas Vainius <modax@debian.org>
14289
14290 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14291 fakeraid.
14292
e5360933
GC
142932010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14294
14295 Add generic logical block size support for UDF.
14296
14297 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14298 (GRUB_UDF_BLKSZ): Removed.
14299 (struct grub_udf_data): New field "lbshift" to hold the logical block
14300 size of the file system in log2 format. All users updated.
14301 (sblocklist): Change type to unsigned.
14302 (grub_udf_mount): Change type of "sblklist" to unsigned.
14303 Move AVDP search before VRS recognition, because the latter requires
14304 knowledge of the logical block size, which is detected during the
14305 former.
14306 Detect and validate logical block size during AVDP search, adding
14307 support for block sizes 512, 1024 and 4096.
14308 Make VRS recognition independent of block size.
14309
cb0229c5
GC
143102010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14311
14312 Properly handle deleted files on UDF.
14313
14314 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14315 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14316 set.
14317
406858a8
GC
143182010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14319
14320 Support reading files larger than 2 GiB.
14321
14322 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14323 "offset" to grub_off_t.
14324 (grub_udf_read_file): Likewise for parameter "pos".
14325
130da6a7
VS
143262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14329 unavailable.
14330 (Simple configuration): Refer to Changes from GRUB Legacy about
14331 save_env availability.
14332
65e93f6b
VS
143332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 * util/grub-install.in: Ignore empty partition table detection
14336 instead of trying to include part_ module.
14337
1fd08bf1
VS
143382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14341 LVM on RAID support.
14342
de1a024f
VS
143432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 Properly define WORDS_BIGENDIAN in wrapped environments.
14346
14347 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14348 definition.
14349 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14350
14351 Reported by: Manoel Rebelo Abranches.
14352 Tested by: Manoel Rebelo Abranches.
14353
bc5dd0b9
VS
143542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * util/grub-mkconfig.in: Fix quoting.
14357
58c184be
VS
143582010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 Support big ext2 files.
14361
14362 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14363 (grub_ext2_read_block): Support triple indirect blocks.
14364 (grub_ext2_read_file): Use 64-bit types and read size_high.
14365 (grub_ext2_open): Read size_high.
14366 Reported by: Ximin Luo.
14367 Tested by: Manoel Rebelo Abranches.
14368
5f0c02b3
VS
143692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * util/grub-install.in: Handle filenames containing spaces.
14372 Reported by: Jordan Uggla.
14373 Tested by: Jordan Uggla.
14374
4417aae6
VS
143752010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * util/grub-mkconfig.in (grub_script_check): New variable.
14378 Use grub_script_check instead of grub-script-check.
14379 Reported by: Barry Jackson.
14380
7625a68e
VS
143812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * docs/grub.texi (menu): Correct the order.
14384 Reported by: D. Hugh Redelmeier.
14385
10001ac5
VS
143862010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14389 jump.
14390
9c4cf53b
MRA
143912010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14392
10001ac5
VS
14393 * include/grub/elfload.h (grub_elf32_size): New parameter.
14394 All users updated.
9c4cf53b
MRA
14395 Return maximum segments alignment.
14396 (grub_elf64_size): Likewise.
14397 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14398 Return maximum segments alignment.
14399 (grub_elf64_size): Likewise.
14400 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14401 (grub_linux_claimmap_iterate): New function. Uses the
14402 "available" property in the "memory" node for memory allocation
14403 for kernel in the PowerPC loader.
9c4cf53b
MRA
14404 (grub_linux_load32): Correctly find linux entry point offset.
14405 (grub_linux_load64): Likewise.
14406
d2bf06bf
RM
144072010-11-07 Robert Millan <rmh@gnu.org>
14408
14409 On mips-yeeloong, build with -march=loongson2f when this flag is
14410 available (GCC >= 4.4).
14411 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14412 `-march=mips3'.
14413 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14414 or otherwise add -march=mips3.
14415
898c99a2
BC
144162010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14417
87220a68
BC
14418 Suppress shell expansion on echo '*' and echo "*" like cases.
14419 Reported by: Jordan Uggla.
898c99a2
BC
14420
14421 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14422 string arguments before shell expansion.
14423 * tests/grub_cmd_echo.in: New testcases.
14424
4f9b406a
RM
144252010-11-07 Robert Millan <rmh@gnu.org>
14426
14427 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14428 transition.
14429
80c6d25e
VS
144302010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * grub-core/kern/emu/hostdisk.c
14433 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14434
4a1a0153
VS
144352010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14438 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14439 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14440
34706ddc
VS
144412010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14444
6972dea9
VS
144452010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * util/grub-install.in: Replace useless recomendation to pass
14448 --modules with a recomendation to report a bug.
14449
9c693bd6
VS
144502010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 Properly register serial terminfo.
14453 Reported by: Jordan Uggla
14454
14455 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14456 const.
14457 (grub_serial_terminfo_output_template): Likewise.
14458 (grub_cmd_serial): Register "serial" with terminfo.
14459 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14460 grub_serial_terminfo_output.
14461
6c9e4c0c
RM
144622010-11-05 Robert Millan <rmh@gnu.org>
14463
14464 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14465 needed).
14466
b9b3839f
RM
144672010-11-05 Robert Millan <rmh@gnu.org>
14468
14469 On Yeeloong, pass machine type information to Linux.
14470
14471 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14472 (LOONGSON_MACHTYPE): New macro, set to
14473 "machtype=lemote-yeeloong-2f-8.9inches".
14474 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14475 additional argument to Linux.
14476
1a3aaff4
RM
144772010-11-04 Robert Millan <rmh@gnu.org>
14478
14479 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14480 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14481 (its SATA disks are detected as slaveless IDE master drives on
14482 kFreeBSD).
14483 Reported by Carsten Aulbert.
14484
a75f4f62
CW
144852010-11-02 Colin Watson <cjwatson@ubuntu.com>
14486
14487 * util/bin2h.c (main): Fix spelling error in generated output.
14488
33b4b0c6
GS
144892010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14490
14491 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14492
2b36fbf4
VS
144932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14496 vga= option is supplied.
14497
74aaf558
VS
144982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14501 * util/grub.d/10_kfreebsd.in: Likewise.
14502 * util/grub.d/10_linux.in: Likewise.
14503 * util/grub.d/20_linux_xen.in: Likewise.
14504
6428dec3
VS
145052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14508 argument as an argument to no-argument option.
14509
f8729d98
VS
145102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * util/grub.d/10_linux.in: Add missing load_video with explicit
14513 GRUB_GFXPAYLOAD_LINUX.
14514
89d68fa6
VS
145152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14518
3a1197cd
VS
145192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14522 elements with invlid index.
14523 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14524 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14525 members.
14526 * include/grub/raid.h (grub_raid_member): New struct.
14527 (grub_raid_array): Transform devices and start_sector into usage of
14528 grub_raid_member. All users updated
14529 (allocated_devs): New member.
14530
71574288
VS
145312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14534 is modified
14535
8d40ec65
BC
145362010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14537
14538 NetBSD build fix for getline function conflict from gnulib.
14539
14540 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14541 components that depend on gnulib headers.
14542 (libgrubmods.a): Renamed from earlier libgrub.a.
14543 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14544
95b9257e
VS
145452010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14548 install rather than creating a broken install.
14549
26c53dc6
VS
145502010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 * util/grub-setup.c (argp): Remove misleading example of installing to
14553 a partition.
14554
4171b3c5
VS
145552010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * util/grub-setup.c (setup): Clarify the error message.
14558
18568d18
VS
145592010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14562
4f6a2e21
VS
145632010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 * grub-core/kern/emu/misc.c
14566 (grub_make_system_path_relative_to_its_root)
14567 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14568
145692010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14570
14571 * grub-core/kern/emu/misc.c
14572 (grub_make_system_path_relative_to_its_root): Revert r2882.
14573
e138c458
VS
145742010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14577 useless field head. All users updated.
14578 (free_subchunk): Correct handling of IN_REGION subchunk.
14579
0cbcdf0e
CW
145802010-10-22 Colin Watson <cjwatson@ubuntu.com>
14581
14582 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14583 (Supported kernels): Likewise.
14584
b65ea155
GS
145852010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14586
14587 Make mktemp invocations portable.
14588
14589 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14590 exit if mktemp fails.
14591 * tests/grub_script_blockarg.in: Likewise.
14592 * tests/partmap_test.in: Likewise.
14593 * tests/util/grub-shell-tester.in: Likewise.
14594 * tests/util/grub-shell.in: Likewise.
14595 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14596 * Makefile.am: Likewise, and chain shell commands with `&&'
14597 instead of ';'.
14598 * util/grub-mkrescue.in: Use the same explicit template as above, and
14599 exit if mktemp fails.
14600
05f43cdd
BC
146012010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14602
14603 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14604 Linux kernel, reported by Dennis Schridde.
14605
800e6a9b
SJ
146062010-10-17 Szymon Janc <szymon@janc.net.pl>
14607
14608 * grub-core/normal/auth.c (grub_auth_check_authentication):
14609 Set-but-not-used variable removed.
14610
d82df574
VS
146112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14614 32-bit linux protocol.
14615
7bced458
VS
146162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14619 cursor shape for sanity.
14620
5b027690
VS
146212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * docs/grub.texi (Installation): Document buggy BIOS install.
14624
ba5f65cf
VS
146252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * docs/grub.texi (Installation): Indent.
14628
fdf2ec9c
VS
146292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * util/grub-setup.c (setup): New parameter allow_floppy.
14632 (arguments): New member allow_floppy.
14633 (argp_parser): Handle --allow-floppy.
14634 (main): Pass allow_floppy.
14635 * util/grub-install.in: New option --allow-floppy passed though to
14636 grub-setup.
14637
861dfd4c
VS
146382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * util/grub-install.in: Handle partitionless disks.
14641
f77a8c24
VS
146422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * util/grub-setup.c (setup): Don't clean blocklists before readability
14645 verfification.
14646
27d9ee32
VS
146472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * docs/grub.texi (Installation): Document embedding zone. Remove
14650 obsolete grub-install example.
14651
6bdda8f8
SJ
146522010-10-16 Szymon Janc <szymon@janc.net.pl>
14653
14654 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14655 Set-but-not-used variable ifdef'ed.
14656 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14657 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14658 variable removed.
14659 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14660 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14661 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14662 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14663 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14664 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14665 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14666 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14667 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14668 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14669 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14670 Likewise.
14671
e19b016b
VS
146722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14673
14674 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14675 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14676 enum value.
14677
6c8d3002
VS
146782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14681 synonym to _S5_. Needed for some DSDTs.
14682
c32b51c9
VS
146832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 Userspace ACPI parser debugging.
14686
14687 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14688 headers and add relevant defines. Don't include standard headers.
14689 (main) [GRUB_DSDT_TEST]: New function.
14690 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14691 Don't declare functions.
14692
fbfbeb39
VS
146932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 Remove dead grub_efi_mm_fini.
14696
14697 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14698 (ALLOCATED_PAGES_SIZE): Likewise.
14699 (MAX_ALLOCATED_PAGES): Likewise.
14700 (allocated_pages): Likewise.
14701 (grub_efi_allocate_pages): Don't record allocated pages.
14702 (grub_efi_free_pages): Likewise.
14703 (grub_efi_mm_init): Likewise.
14704 (grub_efi_mm_fini): Removed.
14705
65f7ed7c
VS
147062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14709 (grub_efi_mm_init): Take into account the memory map size increase.
14710
24977b44
VS
147112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14714 (serial_hw_put): Wait based on real time rather than port reads. Don't
14715 roken ports.
14716 * include/grub/serial.h (grub_serial_port): New field broken.
14717
1eb01cd2
RM
147182010-10-16 Robert Millan <rmh@gnu.org>
14719
14720 * grub-core/kern/emu/misc.c
14721 (grub_make_system_path_relative_to_its_root): Fix premature return
14722 when processing non-root ZFS filesystems.
5f8b440b 14723 Reported by Sergio Talens-Oliag.
1eb01cd2 14724
2d5fed60
RM
147252010-10-15 Robert Millan <rmh@gnu.org>
14726
14727 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14728 guarantee compressed ones are processed first.
14729
d0f4c1ea
VS
147302010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14733 grub_efiemu_autocore.
14734
d87c681f
VS
147352010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14738 rather than 0x1b.
14739 (grub_console_getkey): Use correct jae opcode rather than ja.
14740
219b3564
RM
147412010-10-12 Robert Millan <rmh@gnu.org>
14742
14743 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14744 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14745 variable. All references updated.
14746
14747 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14748
20c6bb7e
VS
147492010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 Correctly distinguish mdraid flavours.
14752
14753 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14754 (insert_array): New argument raid.
14755 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14756 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14757 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14758
74baff84
VS
147592010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14762 handling of special keys.
14763
3ef068df 147642010-10-02 Aleš Nesrsta <starous@volny.cz>
14765
c7980ad9
VS
14766 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14767 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14768
a9455194 147692010-10-02 Aleš Nesrsta <starous@volny.cz>
14770
c7980ad9
VS
14771 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14772 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14773 users updated.
a9455194 14774 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14775 Use right endpoint when querying descriptor.
a9455194 14776
441cfe65
VS
147772010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 Clear out 0x80 color bit on EFI.
14780 Tested by: decoder
14781 Reported by: decoder and meta tech.
14782
14783 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14784 (grub_console_setcolorstate): Clear out 0x80 bit.
14785 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14786 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14787 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14788
bf26bcc4
VS
147892010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14792 Set to "auto".
14793
6e3c515d
VS
147942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14797 mo_file after freeing.
14798
e6d983ba
VS
147992010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14802
74ccb5b5
VS
148032010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14806 flags.
14807
17821956
VS
148082010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14811 usage.
14812
ee74fa48
VS
148132010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14816
14817 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14818 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14819 and terminfo.h when needed.
14820 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14821 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14822 (terminfo): Enable only on terminfokernel.
14823 (extcmd): Likewise.
14824 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14825 * include/grub/lib/arg.h: Likewise.
14826 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14827 incorrect usage of ->.
14828
aa438e68
VS
148292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14832 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14833
57994012
VS
148342010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 Fix coreboot compilation.
14837
14838 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14839 Take VBE info into account even if only text is supported.
14840 (fill_vbe_info): Take into account the case when only VGA text
14841 is supported.
14842 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14843 on coreboot, multiboot and qemu.
14844
2a406611
VS
148452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14848 debug messages.
14849 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14850
d33613fc
VS
148512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14854 parameters.
14855
44a1b432
VS
148562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14859 if they were BSD-style.
14860
edde54e6
VS
148612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/boot/i386/pc/lnxboot.S: Replace
14864 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14865 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14866
b65830fa
VS
148672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Write embedding zone using Reed-Solomon.
14870
14871 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14872 * grub-core/Makefile.am (rs_decoder.S): New target.
14873 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14874 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14875 (multiboot): Move to RS part.
14876 (post_reed_solomon): New label.
14877 (grub_boot_drive): Move to non-RS part since it's modified in memory
14878 on boot.
14879 Include rs_decoder.S.
14880 * grub-core/lib/reed_solomon.c: New file.
14881 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14882 New definition.
14883 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14884 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14885 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14886 * include/grub/partition.h (grub_partition_map): Change prototype of
14887 embed to allow returning additional sectors.
14888 * include/grub/reed_solomon.h: New file.
14889 * util/grub-setup.c (setup): Handle Reed-Solomon.
14890
0b4b227f
CW
148912010-09-28 Colin Watson <cjwatson@ubuntu.com>
14892
14893 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14894 i386 and x86-64 definedness tests.
14895
f772623b
YB
148962010-09-27 Yves Blusseau <blusseau@zetam.org>
14897
14898 Fix generation of kernel_syms.lst
14899
14900 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14901 ASM_PREFIX
14902
8e57a6ca
RM
149032010-09-26 Robert Millan <rmh@gnu.org>
14904
14905 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14906
14907 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14908 the pool is an array of devices, iterate through it and return the
14909 first device that passes a stat() test (instead of blindly returning
14910 the first one).
14911
f9130836
RM
149122010-09-26 Robert Millan <rmh@gnu.org>
14913
14914 Build fixes for GNU/kFreeBSD.
14915
14916 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14917 to programs that require ZFS conversion.
14918 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14919 kernels that don't have FLOPPY_MAJOR.
14920
96510faf
BC
149212010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14922
14923 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14924
449333eb
BC
149252010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14926
14927 Fix grub-emu build.
14928
14929 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14930 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14931 mdraid09 and mdraid1x.
14932
e1fd1939
CW
149332010-09-24 Colin Watson <cjwatson@ubuntu.com>
14934
14935 Re-enable grub-extras.
14936
14937 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14938 avoid confusing Automake. Run autogen only twice, once for the top
14939 level and once for grub-core. Add Makefile.util.def and
14940 Makefile.core.def from extra modules to the appropriate autogen
14941 invocations. If Makefile.common exists in an extra module, include
14942 it in both Makefile.util.am and grub-core/Makefile.core.am;
14943 similarly, include any Makefile.util.common file in Makefile.util.am
14944 and any Makefile.core.common file in grub-core/Makefile.core.am.
14945 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14946 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14947 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14948 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14949
14950 * gentpl.py (gvar_add): Turn GVARS into a set.
14951 (global_variable_initializers): Sort global variables on output.
14952 (vars_init): New function.
14953 (first_time): Likewise.
14954 (library): Ensure that non-global variable initialisations are
14955 emitted before the first time we emit code for a library block.
14956 Append to variables rather than setting them. Only emit
14957 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14958 each conditional path.
14959 (program): installdir() emits an Autogen macro, so must be passed to
14960 var_add rather than gvar_add.
14961 (data): Likewise.
14962 (script): Likewise.
14963 (rules): New function, centralising handling for different target
14964 types. Set up Guile association lists for first_time and vars_init,
14965 and send most output to a diversion so that variable initialisations
14966 can be emitted first.
14967 (module_rules): Use new rules function.
14968 (kernel_rules): Likewise.
14969 (image_rules): Likewise.
14970 (library_rules): Likewise.
14971 (program_rules): Likewise.
14972 (script_rules): Likewise.
14973 (data_rules): Likewise.
14974
14975 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14976
14977 * .bzrignore: Add contrib and grub-core/contrib. Remove
14978 grub-core/Makefile.gcry.am.
14979
1d12cf29
YB
149802010-09-24 Yves Blusseau <blusseau@zetam.org>
14981
14982 * grub-core/lib/LzFind.c: Add missing include.
14983 * grub-core/lib/LzmaEnc.c: Likewise.
14984 * grub-core/script/lexer.c: Likewise.
14985 * grub-core/script/yylex.l: Likewise.
14986 * util/grub-macho2img.c: Likewise.
14987 * util/grub-menulst2cfg.c: Likewise.
14988 * util/grub-mklayout.c: Likewise.
14989 * util/grub-mkpasswd-pbkdf2.c
14990 * util/grub-mkrelpath.c: Likewise.
14991 * util/resolve.c: Likewise.
14992
dd363028
BC
149932010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14994
14995 * Makefile.util.def (example_unit_test): Add
14996 grub-core/gnulib/libgnu.a.
14997
f5a109e2
GS
149982010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14999
15000 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15001
6d0fa83c
VS
150022010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Support xz compression on yeeloong.
15005
15006 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15007 * configure.ac: Check for LZMA.
15008 * grub-core/Makefile.core.def (xz_decompress): New target.
15009 (none_decompress): Likewise.
15010 * grub-core/boot/decompressor/minilib.c: New file.
15011 * grub-core/boot/decompressor/none.c: Likewise.
15012 * grub-core/boot/decompressor/xz.c: Likewise.
15013 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15014 * grub-core/kern/mips/cache_flush.S: Likewise.
15015 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15016 * grub-core/kern/mips/startup.S: Move first stage to ...
15017 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15018 nomacro.
15019 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15020 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15021 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15022 Allocate statically.
15023 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15024 Allocate statically or use scratch. Don't check CRC32.
15025 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15026 Allocate statically. Don't check CRC32.
15027 * include/grub/decompressor.h: New file.
15028 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15029 Removed.
15030 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15031 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15032 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15033 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15034 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15035 * util/grub-mkimage.c (grub_compression_t): New type.
15036 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15037 (image_target_desc): New field default_compression.
15038 (image_targets): Adjust yeeloong targets.
15039 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15040 (compress_kernel): New parameter comp.
15041 (generate_image): Likewise. Handle new compression case.
15042 (options): New option --compression
15043 (help): Likewise.
15044 (main): Handle new option.
15045
1b655af6
GS
150462010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15047
15048 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15049
8f03f0b5
CW
150502010-09-22 Colin Watson <cjwatson@ubuntu.com>
15051
15052 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15053 typo in __i386__ conditional.
15054
7835dfd3
VS
150552010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15058 include.
15059
e255597e
VS
150602010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15061
6d0fa83c 15062 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
15063
15064 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15065 new tags as supported.
15066 (acpiv2_size): New function.
15067 (grub_multiboot_get_mbi_size): Take new tags into account.
15068 (grub_multiboot_make_mbi): Add new tags.
15069 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 15070
6cc14051 150712010-09-21 Aleš Nesrsta <starous@volny.cz>
15072
15073 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15074 Added missing configuration of USB device.
15075
df7769d8
CW
150762010-09-21 Colin Watson <cjwatson@ubuntu.com>
15077
15078 * grub-core/normal/menu_entry.c (run): Make sure we always return
15079 a value.
15080
b031012d
CW
150812010-09-21 Colin Watson <cjwatson@ubuntu.com>
15082
15083 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15084 NumberOfPages is UINT64 according to the UEFI specification, not
15085 UINTN. Fix printf format.
15086
174de8f3
CW
150872010-09-21 Colin Watson <cjwatson@ubuntu.com>
15088
15089 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15090 `err' to grub_usb_err_t.
15091 Reported and tested by: KESHAV P.R.
15092
d7dbe923
CW
150932010-09-21 Colin Watson <cjwatson@ubuntu.com>
15094
15095 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15096 tpart non-const, so that we can assign to it. (Since this is a
15097 typedef, the constness refers to the pointer rather than what it
15098 points to.)
15099
8d5e2af3
CW
151002010-09-21 Colin Watson <cjwatson@ubuntu.com>
15101
15102 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15103 $(top_srcdir)/grub-core/gnulib as well as
15104 $(top_builddir)/grub-core/gnulib.
15105 Reported by: KESHAV P.R.
15106
5c527783
CW
151072010-09-21 Colin Watson <cjwatson@ubuntu.com>
15108
15109 * util/grub-install.in: Fix the bootloader ID option to be
15110 consistently --bootloader-id, not --bootloader_id.
15111 Reported by: KESHAV P.R.
15112
d309a16e
CW
151132010-09-21 Colin Watson <cjwatson@ubuntu.com>
15114
15115 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15116 check hash checksum." consistently translatable.
15117
b830cd16
YB
151182010-09-21 Yves Blusseau <blusseau@zetam.org>
15119
15120 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15121 $(top_builddir).
15122
c4fe27a8
CW
151232010-09-21 Colin Watson <cjwatson@ubuntu.com>
15124
15125 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15126 (GRUB_MOD_INIT): Register sha1sum command.
15127 (GRUB_MOD_FINI): Unregister sha1sum command.
15128
a4c1d277
YB
151292010-09-21 Yves Blusseau <blusseau@zetam.org>
15130
15131 Keep boot and grub directory names in sync with utils scripts
15132
15133 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15134 * config.h.in: Add previous macros.
15135 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15136 * util/grub-install.in: Use $bootdir and $grubdir variables.
15137
4eff79d2
CW
151382010-09-21 Colin Watson <cjwatson@ubuntu.com>
15139
15140 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15141 convert partition names to disk names if the new `convert' parameter
15142 is set.
15143 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15144 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15145 disk in its own right. This can happen with Xen disk images.
15146
934d7e44
YB
151472010-09-21 Yves Blusseau <blusseau@zetam.org>
15148
15149 * util/grub-editenv.c: Update strings to avoid warnings when generating
15150 grub.pot file.
15151 * util/grub-setup.c: Likewise.
934d7e44 15152
df3367cc
VS
151532010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * configure.ac: Change version to 1.99~beta0.
15156
77a94e98
VS
151572010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15160 Add BADRAM.
15161 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15162 Likewise.
15163 * include/multiboot.h: Resynced with specification.
15164 * include/multiboot2.h: Likewise.
15165
269004c1
CW
151662010-09-21 Colin Watson <cjwatson@ubuntu.com>
15167
15168 Fix po directory handling.
15169
15170 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15171 * grub-core/gnulib/Makefile.am: Import gettext module.
15172 * m4/gnulib-cache.m4: Likewise.
15173 * m4/gnulib-comp.m4: Likewise.
15174 * m4/gettext.m4: New file, from gnulib.
15175 * m4/glibc2.m4: Likewise.
15176 * m4/iconv.m4: Likewise.
15177 * m4/intdiv0.m4: Likewise.
15178 * m4/intl.m4: Likewise.
15179 * m4/intldir.m4: Likewise.
15180 * m4/intlmacosx.m4: Likewise.
15181 * m4/intmax.m4: Likewise.
15182 * m4/inttypes-pri.m4: Likewise.
15183 * m4/lcmessage.m4: Likewise.
15184 * m4/lib-ld.m4: Likewise.
15185 * m4/lib-link.m4: Likewise.
15186 * m4/lib-prefix.m4: Likewise.
15187 * m4/lock.m4: Likewise.
15188 * m4/nls.m4: Likewise.
15189 * m4/po.m4: Likewise.
15190 * m4/printf-posix.m4: Likewise.
15191 * m4/progtest.m4: Likewise.
15192 * m4/threadlib.m4: Likewise.
15193 * m4/uintmax_t.m4: Likewise.
15194 * m4/visibility.m4: Likewise.
15195 * po/Makefile.am: Remove.
15196 * po/Makefile.in.in: New file, from gettext.
15197 ($(DOMAIN).pot-update): Support POTFILES-shell.
15198 * po/Makevars: New file.
15199 * po/POTFILES-shell: Rename to ...
15200 * po/POTFILES-shell.in: ... this. Update.
15201 * po/POTFILES: Rename to ...
15202 * po/POTFILES.in: ... this. Update.
15203 * po/Rules-quot: New file, from gettext.
15204 * po/boldquot.sed: Likewise.
15205 * po/en@boldquot.header: Likewise.
15206 * po/en@quot.header: Likewise.
15207 * po/insert-header.sin: Likewise.
15208 * po/quot.sed: Likewise.
15209 * po/remove-potcdate.sin: Likewise.
15210
3e0fa5d0
VS
152112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15214
ade9bd66
VS
152152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * util/grub.d/20_linux_xen.in: Use submenus.
15218
fc55cc4c
VS
152192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 Support submenus.
15222
15223 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15224 parameter submenu. All users updated.
15225 * grub-core/normal/main.c (free_menu): Rename to ...
15226 (grub_normal_free_menu): ... this. Made global.
15227 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15228 if requested.
15229 * grub-core/normal/menu_entry.c (screen): New field submenu.
15230 (make_screen): Set submenu.
15231 (run): Open new context if requested.
15232 * include/grub/menu.h (grub_menu_entry): New field submenu.
15233 * include/grub/normal.h (grub_normal_free_menu): New proto.
15234
600cedf7
VS
152352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 Menu entries extractor.
15238
15239 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15240 variants.
15241 (GRUB_MOD_INIT): Register new variants.
15242 (GRUB_MOD_FINI): Unregister new variants.
15243 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15244 into grub_cmd_legacy_source.
15245 (grub_cmd_legacy_source): Implement extractor variants.
15246 (GRUB_MOD_INIT): Register new variants.
15247 (GRUB_MOD_FINI): Unregister new variants.
15248 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15249 as an extractor.
15250 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15251 search as an extractor.
15252 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15253 test as an extractor.
15254 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15255 as an extractor.
15256 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15257 (grub_env_new_context): New function.
15258 (grub_env_context_open): Likewise.
15259 (grub_env_extractor_open): Likewise.
15260 (grub_env_extractor_close): Likewise.
15261 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15262 grub_extractor_level.
15263 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15264 * include/grub/env.h (grub_env_extractor_open): New proto.
15265 (grub_env_extractor_close): Likewise.
15266 * include/grub/normal.h (grub_extractor_level): New external variable.
15267
7bda3a87
VS
152682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 Make cutmem accept a region specification.
15271 Suggested by: Samuel Thibault
15272
15273 * grub-core/mmap/mmap.c (parsemem): New function.
15274 (grub_cmd_cutmem): Handle new arguments.
15275
2ea57f88
VS
152762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 New command cutmem.
15279
15280 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15281 (GRUB_MOD_INIT): Register new command.
15282 (GRUB_MOD_FINI): Unregister new command.
15283
74342e31
VS
152842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 Support some annoying BSD and Minix subpartitions.
15287
15288 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15289 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15290 Properly handle concatenation.
15291 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15292 * grub-core/normal/completion.c (iterate_partition): Likewise.
15293 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15294 contain partition. All users updated.
15295 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15296 struct.
15297 (grub_openbsdlabel_partition_map): Likewise.
15298 (bsdlabel_partition_map_iterate): Rename to ..
15299 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15300 (bsdlabel_partition_map_iterate): New function.
15301 (netopenbsdlabel_partition_map_iterate): Likewise.
15302 (netbsdlabel_partition_map_iterate): Likewise.
15303 (openbsdlabel_partition_map_iterate): Likewise.
15304 (GRUB_MOD_INIT): Register new partmaps.
15305 (GRUB_MOD_FINI): Unregister new partmaps.
15306 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15307 (grub_partition_msdos_iterate): ... this. All users updated.
15308 Don't support embedding other than in a minix partition.
15309 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15310 proto.
15311 * include/grub/partition.h (grub_partition): New field msdostype.
15312 * util/grub-install.in: Handle openbsd and netbsd types being in
15313 part_bsd module.
15314
1e8d555b
VS
153152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15318
15319 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15320 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15321 (mdraid09): ... this.
15322 (mdraid1x): New module.
15323 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15324 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15325
899d8af4
VS
153262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15329 vsprintf.
15330
40901acd
CW
153312010-09-20 Colin Watson <cjwatson@ubuntu.com>
15332
15333 * grub-core/commands/efi/lsefimmap.c: Correct header.
15334 * NEWS: Update.
15335
dfe3b247
CW
153362010-09-20 Colin Watson <cjwatson@ubuntu.com>
15337
15338 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15339 as printf format strings; the translations might contain '%' which
15340 could cause a crash.
15341 (main): Likewise.
15342 * util/grub-fstest.c (argp_parser): Likewise.
15343 * util/grub-setup.c (argp_parser): Likewise.
15344 (main): Likewise.
15345
3286a4b4
VS
153462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 Use argp in grub-fstest.
15349
15350 * util/grub-fstest.c: Don't include getopt.h.
15351 Include argp.h.
15352 (root): New variable.
15353 (args_count): Likewise.
15354 (nparm): Likewise.
15355 (num_disks): Likewise.
15356 (images): Likewise.
15357 (cmd): Likewise.
15358 (debug_str): Likewise.
15359 (args): Likewise.
15360 (options): Transformed to argp.
15361 (usage): Removed.
15362 (main): Split argument parsing into ...
15363 (argp_parser): ... this. Changed to argp format.
15364 (argp): New variable.
15365 (main): Use argp_parse.
15366
3dccbe4b
TG
153672010-09-20 Tristan Gingold <gingold@free.fr>
153682010-09-20 Robert Millan <rmh.grub@aybabtu.com>
153692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * grub-core/commands/efi/lsefimmap.c: New file.
15372 * grub-core/Makefile.core.def (lsefimmap): New module.
15373 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15374
38c259a7
VS
153752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Pause the execution (10s max) if any errors are displayed so the user
15378 has a chance to see them.
15379
15380 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15381 (grub_print_error): Increment grub_err_printed_errors.
15382 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15383 execution if any errors were displayed.
15384 (show_menu): Remove old code for pause.
15385 * grub-core/normal/menu_entry.c (run): Likewise.
15386 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15387 users updated.
15388 (grub_normal_get_char_counter): Likewise.
15389 * include/grub/err.h (grub_err_printed_errors): New external variable.
15390 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15391
f218b09c
VS
153922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 Support multiboot VBE info.
15395
15396 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15397 Take VBE info into account.
15398 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15399 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15400 Call fill_vbe_info when appropriate.
15401 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15402 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15403 as supported.
15404 (grub_multiboot_get_mbi_size): Take new tags into account.
15405 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15406 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15407 Call fill_vbe_tag when appropriate.
15408 (grub_multiboot_make_mbi): Properly align tags.
15409 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15410 function.
15411 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15412 proto.
15413 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15414
a9cc5438
VS
154152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 Suport manual terminal geometry specification.
15418
15419 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15420 Save state in grub_ofconsole_terminfo_output.
15421 (grub_ofconsole_term): Use grub_terminfo_getwh.
15422 (grub_ofconsole_getwh): Removed.
15423 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15424 (grub_serial_term): Use grub_terminfo_getwh.
15425 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15426 (options): New struct.
15427 (OPTION_*): New enum.
15428 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15429 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15430 width and height.
15431 (grub_terminfo_getwh): New proto.
15432 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15433
1a8fed20
VS
154342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 Handle legacy "terminal" command.
15437
15438 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15439 and FLAG_TERMINAL.
15440 (legacy_commands): Add terminal and title.
15441 (grub_legacy_parse): Handle terminal. Simplify title handling.
15442
41e9c57d
VS
154432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15446 parameters overflow.
15447
61c874c5
CW
154482010-09-20 Colin Watson <cjwatson@ubuntu.com>
15449
15450 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15451 widthspec.h.
15452
15453 * docs/grub.texi (Shell-like scripting): Document `!'.
15454 (Network): Simplify using new i386-pc-pxe format. Mention
15455 grub-mknetdir.
15456
15457 * NEWS: Update.
15458
943682b4
CW
154592010-09-20 Colin Watson <cjwatson@ubuntu.com>
15460
15461 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15462 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15463 when needed.
15464
6d3d698d
CW
154652010-09-20 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * grub-core/commands/efi/lsefisystab.c: Correct header.
15468 * grub-core/commands/efi/lssal.c: Likewise.
15469 * grub-core/commands/testload.c: Likewise.
15470
c982589f
CW
154712010-09-20 Colin Watson <cjwatson@ubuntu.com>
15472
15473 * util/grub-mkrescue.in: Add explicit root argument to --set to
15474 prevent the UUID being interpreted as an argument to --set (matches
15475 previous change to prepare_grub_to_access_device).
15476
a63c31b6
CW
154772010-09-20 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15480 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15481 the verbosity of later #ifs.
15482 (find_partition_start): Define this function on FreeBSD too.
15483 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15484 function.
15485 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15486 on FreeBSD.
15487
6439b8ee
YB
154882010-09-20 Yves Blusseau <blusseau@zetam.org>
15489
15490 * util/grub-editenv.c: Use argp instead of getopt.
15491
c5930ec8
YB
154922010-09-20 Yves Blusseau <blusseau@zetam.org>
15493
15494 * util/grub-setup.c: Use argp instead of getopt.
15495
15c69261
YB
154962010-09-20 Yves Blusseau <blusseau@zetam.org>
15497
15498 Use gnulib-tool to create gnulib source files.
15499
15500 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15501 grub-core/gnulib directories
15502 * .bzignore: Add **/.deps and autogenerated gnulib files
15503 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15504 of gnulib macros, add grub-core/gnulib/Makefile
15505 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15506 include m4 directory to aclocal.
15507 * Makefile.util.def: Remove direct compilation of gnulib source files
15508 and use the new grub-core/gnulib/libgnu.a.
15509 * build-aux/config.rpath: move config.rpath from top directory to
15510 build-aux
15511 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15512 in gnulib headers
15513 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15514 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15515 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15516 header.
15517 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15518 string.
15519
e511c9f5
YB
155202010-09-20 Yves Blusseau <blusseau@zetam.org>
15521
15522 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15523 grub-core/genmod.sh and grub-core/gensyminfo.sh
15524
c2dede05
BC
155252010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15526
15527 Add a test for echo command options.
15528
15529 * tests/grub_cmd_echo.in: New test.
15530 * Makefile.util.def: Rules for new test.
15531
c55f5018
SJ
155322010-09-20 Szymon Janc <szymon@janc.net.pl>
15533
15534 Remove crc.mod and move crc command to hashsum.mod.
15535 Remove lib/crc.c - users updated to use gcrypt implementation.
15536
15537 * grub-core/commands/crc.c: Removed.
15538 * grub-core/Makefile.core.def (crc): Module removed.
15539 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15540 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15541 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15542 * grub-core/lib/crc.c: Removed.
15543 * include/grub/lib/crc.h: Removed.
15544 * Makefile.util.def (crc): Remove lib/crc.c
15545 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15546 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15547 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15548 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15549 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15550 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15551
e0337366
VS
155522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15555
742f9232
VS
155562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Split config.h for util and core.
15559
15560 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15561 (ADDR32): Likewise.
15562 (DATA32): Likewise.
15563 (BSS_START_SYMBOL): Likewise.
15564 (END_SYMBOL): Likewise.
15565 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15566 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15567 * config.h.in: New file.
15568 * configure.ac: Use config-util.h as config define file.
15569 Rename MACHINE into GRUB_MACHINE. All users updated.
15570 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15571 updated.
15572 (NESTED_FUNC_ATTR): Likewise.
15573 Substitue new variables.
15574 (COND_HAVE_ASM_USCORE): New conditional.
15575 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15576 (kernel_syms.lst): Use ASM_PREFIX.
15577 * grub-core/kern/emu/console.c: Include config-util.h.
15578 * grub-core/kern/emu/misc.c: Likewise.
15579 * grub-core/kern/emu/mm.c: Likewise.
15580 * include/grub/emu/misc.h: Likewise.
15581 * include/grub/libgcc.h: Likewise.
15582
39feb0e8
VS
155832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15586 constants usage.
15587 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15588 Fix GRUB_TERM_KEY_* constants usage.
15589 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15590
9af6dac3
VS
155912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15594 print pointer.
15595 * grub-core/bus/usb/uhci.c: Remove empty define.
15596 (grub_uhci_check_transfer): Add missing cast.
15597 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15598 print pointer.
15599 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15600 PRIuGRUB_SIZE.
15601 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15602
d6d94820
VS
156032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 * grub-core/Makefile.core.def (legacycfg): Add
15606 lib/i386/pc/vesa_modes_table.c on emu.
15607
3572f2b6
BC
156082010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15609
15610 Reduce number of temporary files generated by build system.
15611
15612 * grub-core/gencmdlist.sh: Removed.
15613 * grub-core/genfslist.sh: Removed.
15614 * grub-core/genhandlerlist.sh: Removed.
15615 * grub-core/genmodsrc.sh: Removed.
15616 * grub-core/genpartmaplist.sh: Removed.
15617 * grub-core/genparttoollist.sh: Removed.
15618 * grub-core/gentermiinallist.sh: Removed.
15619 * grub-core/genvideolist.sh: Removed.
15620
15621 * grub-core/genmod.sh.in: New file.
15622 * grub-core/gensyminfo.sh.in: New file.
15623
15624 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15625 * conf/Makefile.extra-dist: Update with new files.
15626 * gentpl.py: Remove rules related to unnecessary temporary files.
15627 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15628 and und-* files.
15629 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15630 genmod.sh scripts.
15631 * grub-core/bus/usb/uhci.c: Remove empty #define.
15632 * grub-core/genmoddep.awk: Updated with new syminfo format.
15633 * util/bash-completion.d/Makefile.am: Add config.log to
15634 CLEANFILES.
15635
c836b030
YB
156362010-09-19 Yves Blusseau <blusseau@zetam.org>
15637
15638 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15639
2f4e8053
BC
156402010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15641
15642 * util/grub-mkconfig.in: Check the config script for syntax errors
15643 before saving.
15644
75831c34
CW
156452010-09-19 Colin Watson <cjwatson@ubuntu.com>
156462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15649 platforms.
15650 * util/grub-install.in: Add EFI and IEEE1275 support.
15651 * util/i386/efi/grub-install.in: Removed.
15652 * util/ieee1275/grub-install.in: Likewise.
15653
eaf41b25
VS
156542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15657 (grub_cmd_cmosclean): Likewise.
15658 (GRUB_MOD_INIT): Register command cmosclean.
15659 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15660 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15661
1a9130dd
CPE
156622010-09-18 Carles Pina i Estany <carles@pina.cat>
156632010-09-18 Aleš Nesrsta <starous@volny.cz>
156642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 Add keyboard layouts support.
15667
15668 * Makefile.util.def (grub-mklayout): New file.
15669 (grub-kbdcomp): New script.
15670 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15671 Add keyboard_layouts.h.
15672 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15673 commands/boot.c on yeeloong.
15674 (keylayouts): New module.
15675 * grub-core/bus/usb/ohci.c
15676 * grub-core/bus/usb/uhci.c
15677 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15678 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15679 (attach_root_port): Likewise.
15680 (poll_nonroot_hub): Likewise.
15681 (grub_usb_poll_devices): Likewise.
15682 (detach_device): Close transfer.
15683 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15684 function.
15685 (grub_usb_bulk_setup_readwrite): Likewise.
15686 (grub_usb_bulk_finish_readwrite): Likewise.
15687 * grub-core/commands/keylayouts.c: New file.
15688 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15689 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15690 aliases.
15691 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15692 support scancode 2.
15693 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15694 * include/grub/keyboard_layouts.h: New file.
15695 * util/grub-mklayout.c: New file.
15696 * util/grub-kbdcomp.in: Likewise.
15697
a1d84a5e
VS
156982010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 Unify memory types.
15701
15702 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15703 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15704 types.
15705 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15706 (grub_upper_mem): Likewise.
15707 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15708 * include/grub/memory.h (grub_memory_type_t): New enum.
15709 All users updated.
15710
9696382e
VS
157112010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * grub-core/Makefile.core.def (lsapm): New module.
15714 * grub-core/commands/i386/pc/lsapm.c: New file.
15715 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15716 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15717 Likewise.
15718 * include/grub/i386/pc/apm.h: New file.
15719 * include/multiboot.h (multiboot_apm_info): New struct.
15720
157212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 GRUB-legacy configuration file support.
15724
15725 * Makefile.util.def (grub-menulst2cfg): New util.
15726 * docs/man/grub-menulst2cfg.h2m: New file.
15727 * grub-core/Makefile.core.def (legacycfg): New module.
15728 * grub-core/commands/legacycfg.c: New file.
15729 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15730 (grub_normal_add_menu_entry): ... this.
15731 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15732 (grub_normal_set_password): ...this.
15733 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15734 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15735 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15736 * grub-core/lib/legacy_parse.c: New file.
15737 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15738 * include/grub/i386/pc/vesa_modes_table.h: New file.
15739 * include/grub/legacy_parse.h: Likewise.
15740 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15741 * util/grub-menulst2cfg.c: New file.
15742
bf8d1338
CW
157432010-09-17 Colin Watson <cjwatson@ubuntu.com>
15744
15745 * grub-core/kern/emu/hostdisk.c
15746 (convert_system_partition_to_system_disk): Initialise node.
15747
9c0bad2e
CW
157482010-09-17 Colin Watson <cjwatson@ubuntu.com>
15749
15750 * grub-core/kern/emu/hostdisk.c
15751 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15752 leak.
15753 Reported and based on patch by: Modestas Vainius.
15754
a939d135
CW
157552010-09-17 Colin Watson <cjwatson@ubuntu.com>
15756
15757 Fix DM-RAID probing with recent versions of device-mapper udev
15758 rules.
15759
15760 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15761 canonicalise device paths under /dev/mapper/.
15762 (convert_system_partition_to_system_disk): Compare the
15763 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15764 path, since device nodes under /dev/mapper/ are often symlinks.
15765
0f7ee3c9
YB
157662010-09-17 Yves Blusseau <blusseau@zetam.org>
15767
15768 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15769
10854d0d
YB
157702010-09-16 Yves Blusseau <blusseau@zetam.org>
15771
15772 * configure.ac: Avoid some annoying error messages if freetype-config
15773 program is not found.
15774
108538d8
CW
157752010-09-16 Colin Watson <cjwatson@ubuntu.com>
15776
15777 Support RAID on virtio devices, and others.
15778
15779 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15780 Rename to ...
15781 [__MINGW32__] (grub_find_device): ... this.
15782 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15783 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15784 reasonable default if dir is NULL.
15785 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15786 ...
15787 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15788 (grub_guess_root_device): Update callers.
15789 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15790
15791 * util/raid.c (grub_util_getdiskname): Remove.
15792 (grub_util_raid_getmembers): Use grub_find_device rather than
15793 grub_util_getdiskname.
15794
e5bfc130
CW
157952010-09-16 Colin Watson <cjwatson@ubuntu.com>
15796
15797 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15798 needing to be compiled with serial support.
15799 (ls): Indicate that multiple files are accepted.
15800 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15801 indicate that multiple files are accepted.
15802
be458ae2
CW
158032010-09-16 Colin Watson <cjwatson@ubuntu.com>
15804
15805 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15806 libgrub_a_init.c, and util/bash-completion.d/grub.
15807
cb731b5e
VS
158082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * util/grub-setup.c (setup): Fix incorrect container semantics.
15811
35139e8a
VS
158122010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15815 misusage.
15816 Reported by: J. Nick Terry
15817
e50fca4a
VS
158182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 Move embedding routines to partmap sources files.
15821
15822 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15823 [GRUB_UTIL]: New variable.
15824 (gpt_partition_map_iterate): Set part.parent.
15825 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15826 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15827 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15828 New function.
15829 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15830 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15831 (grub_partition_map) [GRUB_UTIL]: New field embed.
15832 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15833 (setup): Use ->embed.
15834
f00478b7
VS
158352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15838 function.
15839 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15840 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15841
2b94e3ff
YB
158422010-09-15 Yves Blusseau <blusseau@zetam.org>
15843
15844 Add function to get completions from usage.
15845
15846 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15847 completions from usage. Use LC_ALL=C to get options properly.
15848
2e04a006
VS
158492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * grub-core/gnulib/basename-lgpl.c: Imported.
15852 * grub-core/gnulib/basename.c: Likewise.
15853 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15854 * grub-core/gnulib/dirname.c: Likewise.
15855 * grub-core/gnulib/dirname.h: Likewise.
15856 * grub-core/gnulib/stripslash.c: Likewise.
15857
5dcdf93a
VS
158582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/gnulib/error.c: Resynced.
15861 * grub-core/gnulib/getopt.c: Likewise.
15862 * grub-core/gnulib/getopt_int.h: Likewise.
15863 * grub-core/gnulib/regex.h: Likewise.
15864 * grub-core/gnulib/regex_internal.c: Likewise.
15865 * grub-core/gnulib/regex_internal.h: Likewise.
15866
014f47b7
SJ
158672010-09-15 Szymon Janc <szymon@janc.net.pl>
15868
15869 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15870 CRC calculations and validity checks.
15871 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15872 calculations.
15873
dd521a4a
SJ
158742010-09-15 Szymon Janc <szymon@janc.net.pl>
15875
15876 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15877
79c4eeb9
VS
158782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 Fix incorrect echo options handling.
15881 Reported by: Yves Blusseau.
15882
15883 * include/grub/command.h (grub_command_flags_t): New flags
15884 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15885 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15886 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15887
ed80f7d5
VS
158882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15891 users updated.
15892 (GRUB_COMMAND_FLAG_MENU): Likewise.
15893 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15894 (GRUB_COMMAND_FLAG_TITLE): Removed.
15895 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15896 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15897 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15898 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15899 (grub_command_flags_t): New enum. All users updated.
15900
5fe7620a
SG
159012010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15902
15903 Fix solaris compilation.
15904
15905 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15906 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15907 (grub-emu-list): Likewise.
15908
545b752f
VS
159092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 Remove deprecated root command.
15912
15913 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15914 updated.
15915
6c1a338c
VS
159162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * util/i386/pc/grub-setup.c: Merge this ...
15919 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15920 * util/grub-setup.c: ... into this.
15921 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15922 New struct.
15923
159242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15927 possible.
15928
d2ea4551
VS
159292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15932 allocate p.
15933
3c3b5040
VS
159342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15937 explicit root argument to set to prevent UUID to be interpreted as
15938 argument to set.
15939
b71c3fae
VS
159402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15943
275433e6
VS
159442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 Don't export grub_gate_a20.
15947
15948 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15949 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15950 to ...
15951 (grub_gate_a20): ... this. All users updated.
15952 * include/grub/i386/pc/init.h: Removed. All users updated.
15953
a5dbb1f1
VS
159542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 Create euro.pf2 which supports most European languages.
15957
15958 * Makefile.am (grubdata_DATA): Add euro.pf2.
15959 (euro.pf2): New target.
15960 (CLEANFILES): Add euro.pf2.
15961
62a747cb
VS
159622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * configure.ac: Disable emu-usb by default to prevent inadvertent
15965 device takeover.
15966
608e43b1
VS
159672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 Disable usbserial on grub-emu since our libusb code isn't good enough
15970 yet.
15971
15972 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15973 (usbserial_pl2303): Likewise.
15974 (usbserial_ftdi): Likewise.
15975
94564f81
VS
159762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 * include/grub/disk.h (grub_disk): Remove has_partitions.
15979 All users updated.
15980 * disk/loopback.c (grub_loopback): Remove has_partitions.
15981 All users updated.
15982 (options): Remove partitions. All users updated.
15983 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15984 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15985 actual partition table is found.
15986
3352800b
VS
159872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 Remove readability checks (too many false negatives).
15990
15991 * util/grub-install.in: Remove readability checks.
15992 * util/grub-mkconfig.in: Likewise.
15993 * util/grub.d/10_hurd.in: Likewise.
15994 * util/grub.d/10_kfreebsd.in: Likewise.
15995 * util/grub.d/10_linux.in: Likewise.
15996 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15997 way.
15998
2419f17a
VS
159992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 Enable acpi shutdown on all ACPI platforms.
16002
16003 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16004 on coreboo, multiboot and EFI.
16005 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16006 (grub_acpi_halt): Likewise.
16007 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16008 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16009 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16010 * grub-core/lib/i386/halt.c (grub_halt)
16011 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16012
0575c7c3
VS
160132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16016 context.
16017
54ac3cd1
VS
160182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16021 * grub-core/video/efi_uga.c: Likewise.
16022
b2a30ac5
VS
160232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 Filter devaliases and never open same device twice.
16026
16027 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16028 (last_ihandle): Likewise.
16029 (ofdisk_hash_ent): New member shortest.
16030 (ofdisk_hash_add): Add canonical path too.
16031 (scan): New function.
16032 (grub_ofdisk_iterate): Iterate over hashed entries.
16033 (compute_dev_path): Don't add :0.
16034 (grub_ofdisk_open): Don't really open the disk.
16035 (grub_ofdisk_close): Avoid closing unrelated disk.
16036 (grub_ofdisk_read): Implement reopen logic.
16037 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16038 New function.
16039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16040 New proto.
16041
fb53b340
VS
160422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 Fix sparc64.
16045
16046 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16047 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16048 right address. Add sparc64_ieee1275_ldflags.
16049 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16050 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16051 to grub_host_to_target_addr
16052 (load_image): Likewise.
16053
f452b040
VS
160542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 * grub-core/normal/completion.c (complete_file): Handle device
16057 containing slash.
16058 Fix based on patch by Doug Nazar.
16059
9b5b2541
VS
160602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 grub-mknetdir script.
16063
16064 * Makefile.util.def (grub-mknetdir): New module.
16065 * tests/util/grub-shell.in: Support boot=net
16066 * util/grub-mknetdir.in: New file.
16067
9d2be652
VS
160682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 videoinfo on non-vbe.
16071
16072 * grub-core/Makefile.core.def (vbeinfo): Removed.
16073 (vbetest): Removed.
16074 (videoinfo): New module.
16075 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16076 * grub-core/commands/i386/pc/vbetest.c: Removed.
16077 * grub-core/commands/videoinfo.c: New file.
16078 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16079 specification.
16080 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16081 as vbetest.
16082 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16083 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16084 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16085 mode_number. New parameter mode. All users updated.
16086 (grub_video_gop_iterate): New function.
16087 (grub_video_efi_gop): New member iterate.
16088 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16089 (grub_vbe_set_video_mode): Remove setting useless fields.
16090 (vbe2videoinfo): New function.
16091 (grub_video_vbe_iterate): Likewise.
16092 (grub_video_vbe_setup): Use vbe2videoinfo.
16093 (grub_video_vbe_print_adapter_specific_info): New function.
16094 (grub_video_vbe_adapter): New fields iterate and
16095 print_adapter_specific_info.
16096 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16097 All users updated.
16098 (grub_video_mode_info): New field mode_number.
16099 (grub_video_adapter): New fields iterate and
16100 print_adapter_specific_info.
16101
179503f5
TG
161022010-09-13 Tristan Gingold <gingold@free.fr>
161032010-09-13 Robert Millan <rmh.grub@aybabtu.com>
161042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * grub-core/commands/efi/lsefisystab.c: New file.
16107 * grub-core/commands/efi/lssal.c: Likewise.
16108 * grub-core/Makefile.core.def (lsacpi): New module.
16109 (lsefisystab): Likewise.
16110 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16111 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16112 (grub_efi_sal_system_table): New struct.
16113 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16114 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16115 (grub_efi_sal_system_table_platform_features): Likewise.
16116 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16117 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16118 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16119 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16120
cf9827de
VS
161212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Support explicit user claim that a device is BIOS-visible.
16124
16125 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16126 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16127 * grub-core/kern/emu/hostdisk.c
16128 (convert_system_partition_to_system_disk): Support mdX.
16129 (find_system_device): New parameter add. All users updated.
16130 (grub_util_biosdisk_is_present): New function.
16131 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16132 proto.
16133
53f0eb1f
VS
161342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 Search hints support.
16137
16138 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16139 All users updated.
16140
b23ffd70
YB
161412010-09-13 Yves Blusseau <blusseau@zetam.org>
16142
16143 Bash completion script for util commands
16144
16145 * Makefile.am: Add util/bash-completion.d directory
16146 * configure.ac: Likewise.
16147 * util/bash-completion.d/Makefile.am: New file.
16148 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16149
d547dc28
VS
161502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16153 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16154 Reported by: Yves Blusseau.
16155
2fc8ccb9
VS
161562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16159 partition size and offset.
16160
d8a84076
VS
161612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16164
84fb3b3d
VS
161652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16166
16167 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16168
768ec2e2
VS
161692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16172 (grub_xvasprintf): Likewise.
16173
4870900f
VS
161742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16177
faca6bec
VS
161782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16181 args ending with NULL.
16182
161832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
16184
16185 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16186 pointer.
16187
3c70f225
SJ
161882010-09-11 Szymon Janc <szymon@janc.net.pl>
16189
16190 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16191
4df7996d
VS
161922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 Shutdown using ACPI.
16195
16196 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16197 * grub-core/commands/acpihalt.c: New file.
16198 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16199 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16200 (grub_acpi_halt): New proto.
16201 (GRUB_ACPI_SLP_EN): New const.
16202 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16203 (GRUB_ACPI_OPCODE_*): New enum.
16204 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16205
126b4c32
TG
162062010-09-11 Tristan Gingold <gingold@free.fr>
162072010-09-11 Robert Millan <rmh.grub@aybabtu.com>
162082010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * commands/lsacpi.c: New file.
16211 * grub-core/Makefile.core.def (lsacpi): New module.
16212 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16213 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16214 (grub_acpi_madt_entry_header): New struct.
16215 (grub_acpi_madt): Likewise.
16216 (grub_acpi_madt_entry_interrupt_override): Likewise.
16217 (grub_acpi_madt_entry_sapic): Likewise.
16218 (grub_acpi_madt_entry_lsapic): Likewise.
16219 (grub_acpi_madt_entry_platform_int_source): Likewise.
16220 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16221 (PRIuGRUB_UINT32_T): Likewise.
16222 (PRIxGRUB_UINT64_T): Likewise.
16223
1aa4fe88
VS
162242010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16225
16226 Implement loading palette on ieee1275_fb.
16227
16228 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16229 (have_setcolors): Likewise.
16230 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16231 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16232 (grub_video_ieee1275_set_palette): Implement.
16233
25761e13
VS
162342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
162352010-09-11 Colin Watson <cjwatson@ubuntu.com>
16236
16237 * util/grub-install.in (grub_partition): New variable.
16238 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16239 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16240 Fixes a bug reported by Yves Blusseau.
16241
050abaea
VS
162422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 Fix emu on mipsel.
16245
16246 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16247 =grub_cpu_flush_cache on all mips and not only yeeloong.
16248 * configure.ac (COND_mips): New conditional.
16249 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16250 platforms.
16251 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16252 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16253 [GRUB_LINKER_HAVE_INIT]: New function.
16254 (grub_emu_post_init): Likewise.
16255 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16256 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16257 * include/grub/cache.h (_mips): Include mips/cache.h.
16258 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16259 LVM and RAID prototypes.
16260 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16261 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16262 function.
16263
5ed7d816
CW
162642010-09-10 Colin Watson <cjwatson@ubuntu.com>
16265
16266 * util/grub-install.in: Don't try to verify core.img until after
16267 running grub-mkimage to create it.
16268
90367e04
RM
162692010-09-10 Robert Millan <rmh@gnu.org>
16270
16271 * util/grub.d/10_hurd.in: Add misc readability checks.
16272 * util/grub.d/10_kfreebsd.in: Likewise.
16273 * util/grub.d/10_linux.in: Likewise.
16274
c452fa66
CW
162752010-09-10 Colin Watson <cjwatson@ubuntu.com>
16276
16277 * util/grub-install.in: ${imgext} won't be defined here until the
16278 install branch is merged. For the meantime, only verify core.img on
16279 i386-pc and sparc64-ieee1275 platforms.
16280
c38fe9f4
RM
162812010-09-10 Robert Millan <rmh@gnu.org>
16282
16283 Solaris support in grub_find_zpool_from_dir(). Thanks
16284 Seth Goldberg for referring to getextmntent() facility.
16285
16286 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16287 `sys/mkdev.h'.
16288 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16289 `<sys/mnttab.h>'.
16290 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16291 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16292 method for finding zpool name.
16293
905f7773
CW
162942010-09-10 Colin Watson <cjwatson@ubuntu.com>
16295
16296 grub-fstest needs the host and hostfs modules while other utilities
16297 actively require those modules to be absent, so grub-fstest needs
16298 its own initialisation and finalisation code.
16299
16300 * Makefile.am (grub_fstest.pp): New target.
16301 (grub_fstest_init.lst): Likewise.
16302 (grub_fstest_init.c): Likewise.
16303 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16304
fb90b546
RM
163052010-09-10 Robert Millan <rmh@gnu.org>
16306
16307 * configure.ac: Check for `struct statfs.f_fstypename' and
16308 `struct statfs.f_mntfromname'.
16309
16310 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16311 kFreeBSD-specific code.
16312
66d4bea5
RM
163132010-09-10 Robert Millan <rmh@gnu.org>
16314
16315 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16316 on ZFS. Now non-main filesystems are supported as / too.
16317
b6a690ee
CW
163182010-09-09 Colin Watson <cjwatson@ubuntu.com>
16319
16320 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16321 and grub-core/disk/host.c to ...
16322 (grub-fstest): ... here. Having the host disk implementation
16323 present confuses grub-probe and other utility programs.
16324
16325 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16326 when writing to a file, not when writing to stdout.
16327
8901b00c 163282010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16329
16330 * tests/partmap_test.in: New test for partitions.
16331 * Makefile.util.def: Rules for new test.
16332
7bf45fdd
RM
163332010-09-09 Robert Millan <rmh@gnu.org>
16334
16335 * util/grub-probe.c (probe): Fix a pair of unhandled error
16336 conditions.
16337
4dfbc574
RM
163382010-09-09 Robert Millan <rmh@gnu.org>
16339
16340 Basic Btrfs support (detection and UUID).
16341
16342 * grub-core/fs/btrfs.c: New file.
16343 * Makefile.util.def (library): Register btrfs.c.
16344 * grub-core/Makefile.core.def: Likewise.
16345
6b8e78ae
RM
163462010-09-08 Robert Millan <rmh@gnu.org>
16347
16348 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16349 with (optional) parameters to specify device and relative path.
16350 * util/grub-install.in: Use is_path_readable_by_grub() to
16351 verify readability of a few critical files.
16352 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16353 verify readability of grub.cfg.new.
16354
27f21a8b
VS
163552010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 Split minix.mod into minix.mod and minix2.mod.
16358
16359 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16360 * grub-core/Makefile.core.def (minix2): New module.
16361 * grub-core/fs/minix.c: Use definitions instead of runtime version
16362 checking.
16363 * grub-core/fs/minix2.c: New file.
16364
c0e53ea5
YB
163652010-09-08 Yves Blusseau <blusseau@zetam.org>
16366
16367 Add new --boot-directory option to replace --root-directory
16368
16369 * util/grub-install.in: Add new --boot-directory option
16370 * util/grub-reboot.in: Likewise.
16371 * util/grub-set-default.in: Likewise.
16372
b9fe6ea2
YB
163732010-09-08 Yves Blusseau <blusseau@zetam.org>
16374
16375 * util/grub-mkconfig.in: Use new variable.
16376
d87aedff
YB
163772010-09-08 Yves Blusseau <blusseau@zetam.org>
16378
16379 * configure.ac: Define some useful variables.
16380
e55e8495
VS
163812010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16384 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16385 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16386 Use terminfo and don't use cursor-on/cursor-off unless it's known
16387 to work.
16388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16389 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16390
6fa6d675
CW
163912010-09-08 Colin Watson <cjwatson@ubuntu.com>
16392
16393 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16394 starts with "(,", fill the drive containing the loaded image in
16395 between those two characters, but expect that a full partition
16396 specification including partition map names will follow.
16397
92f2aef0
RM
163982010-09-08 Robert Millan <rmh@gnu.org>
16399
16400 * configure.ac: Remove `--enable-grub-fstest' option.
16401 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16402
16403 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16404 `grub-fstest' instead of `grub-probe' for readability verification.
16405 * util/grub-probe.c (probe): Remove readability verification kludge.
16406
99fd620d
RM
164072010-09-08 Robert Millan <rmh@gnu.org>
16408
16409 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16410 initializing `GRUB_FS'.
16411
058e30ac 164122010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16413
16414 Not command (!) support to GRUB script.
16415
16416 * tests/grub_script_not.in: New test.
16417 * Makefile.util.def: Rules for new test.
16418
16419 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16420 ! command as a special case.
16421 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16422
b61d05ed 164232010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16424
058e30ac 16425 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16426 grub_free.
b61d05ed 16427
4d69c786 164282010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16429
16430 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16431
aa3119c4 164322010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16433
16434 * docs/grub.texi (Shell-like scripting): Documentation for break,
16435 continue, shift and return commands.
16436
db0f7e3d
VS
164372010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 Rename CD-ROM to cd on BIOS.
16440
16441 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16442 "cd".
16443 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16444
88b87c93
VS
164452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16448 * util/grub-probe.c (main): Likewise.
16449 * util/i386/pc/grub-setup.c (main): Likewise.
16450 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16451 Reported and debugged by: alexxy
16452
294f324d
VS
164532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16456 diagnostic info.
16457
d7ee3441
JS
164582010-09-05 Jo Shields <directhex@apebox.org>
16459
16460 * util/grub.d/30_os-prober.in: Add missing classes.
16461
d7e06c1f
VS
164622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * docs/grub.texi (Theme file format): Document new position format.
16465
fc157e53
VS
164662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16469 a table. Use @code instead of @verbatim.
16470
506e9a1c
CB
164712010-09-05 Colin D Bennett <colin@gibibit.com>
16472
16473 Gfxmenu documentation.
16474
16475 * docs/grub.texi (Theme file format): New chapter.
16476
f0aff67c
SJ
164772010-09-05 Szymon Janc <szymon@janc.net.pl>
16478
16479 * grub-core/Makefile.core.def (xzio): New module.
16480 * grub-core/io/xzio.c: New file.
16481 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16482 * grub-core/lib/xzembed/xz_config.h: Likewise.
16483 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16484 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16485 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16486 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16487 * grub-core/lib/xzembed/xz_private.h: Likewise.
16488 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16489 * include/grub/file.h (grub_file_filter_id): New compression filter
16490 GRUB_FILE_FILTER_XZIO.
16491
82a85062
VS
164922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16495 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16496 size.
16497
3579415d
VS
164982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16501 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16502
5124ae6d
VS
165032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 Uncompressed checksum support.
16506
16507 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16508 (check_list): New parameter uncompress.
16509 (grub_cmd_hashsum): Handle --uncompress.
16510
9aadb3d1
VS
165112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 Reintroduce testload.
16514
16515 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16516 from here ...
16517 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16518 (GRUB_MOD_INIT): New function.
16519 (GRUB_MOD_FINI): Likewise.
16520 * grub-core/Makefile.core.def (testload): New module.
16521
a17792c3
SJ
165222010-09-05 Szymon Janc <szymon@janc.net.pl>
16523
16524 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16525 (uint8_t): New type.
16526 (uint16_t): Likewise.
16527 (uint32_t): Likewise.
16528 (uint64_t): Likewise.
16529
b81e40a3
SJ
165302010-09-05 Szymon Janc <szymon@janc.net.pl>
16531
16532 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16533
fc2ef117
VS
165342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16535
16536 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16537 Made static.
16538 (grub_gzfile_open): Removed. All users updated.
16539 (GRUB_MOD_INIT): New function.
16540 (GRUB_MOD_FINI): Likewise.
16541 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16542 (grub_file_filters_enabled): Likewise.
16543 (grub_file_open): Handle filters.
16544 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16545 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16546 * include/grub/file.h (grub_file_filter_id_t): New type.
16547 (grub_file_filter_t): Likewise.
16548 (grub_file_filters_all): New extern variable.
16549 (grub_file_filters_enabled): Likewise.
16550 (grub_file_filter_register): New inline function.
16551 (grub_file_filter_unregister): Likewise.
16552 (grub_file_filter_disable): Likewise.
16553 (grub_file_filter_disable_compression): Likewise.
16554 * include/grub/gzio.h: Removed.
16555
35ee15e0
BC
165562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16557
16558 Filename expansion support for wildcards in GRUB script.
16559
16560 * tests/grub_script_expansion.in: New test.
16561 * Makefile.util.def: Rule for new test.
16562
16563 * grub-core/commands/wildcard.c: New file, implements filename
16564 expansion support for GRUB script.
16565 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16566 * grub-core/script/argv.c: Cosmetic changes.
16567 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16568 Refactored to perform wildcard expansion on arguments.
16569 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16570 struct.
16571
16572 * tests/util/grub-shell.in: Fix quoting for read input.
16573
5f0c4aca
BC
165742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16575
16576 Support for updating environment variables with matched substrings
16577 of regexp.
16578
16579 * tests/grub_cmd_regexp.in: New test.
16580 * Makefile.util.def: Rule for new test.
16581
16582 * grub-core/commands/regexp.c: New option -s to update environment
16583 variables with regexp matches.
16584
3759a35f
SJ
165852010-09-04 Szymon Janc <szymon@janc.net.pl>
16586
16587 * include/grub/file.h (grub_file): New member not_easly_seekable.
16588 (grub_file_seekable): New inline function.
16589 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16590 easily seekable.
16591 (grub_gzio_open): Set not_easly_seekable.
16592 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16593 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16594
ed8c6dec
BC
165952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16596
16597 Support for options to appear multiple times on cmdline.
16598
16599 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16600 * grub-core/commands/extcmd.c: Support for repeatable option.
16601 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16602 repeatable option support.
16603
16604 Refactor menuentry into a regular command.
16605
16606 * grub-core/commands/menuentry.c: New file, menuentry command
16607 implementation.
16608 * grub-core/Makefile.core.def: Rule update for normal.mod.
16609 * grub-core/normal/main.c: Moved menuentry creation to
16610 grub-core/commands/menuentry.c.
16611 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16612 (grub_menu_execute_entry_real): Removed.
16613 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16614 function.
16615 (grub_script_execute_menuentry): Removed.
16616 * grub-core/script/parser.y (menuentry): Removed.
16617 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16618 * grub-core/script/yylex.l (menuentry): Removed.
16619 * include/grub/menu.h (grub_menu_init): New prototype.
16620 (grub_menu_fini): New prototype.
16621 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16622 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16623 (grub_script_execute_sourcecode): New prototype.
16624
dacd0cf0
BC
166252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16626
16627 "return" command for GRUB script functions.
16628
16629 * tests/grub_script_return.in: New test.
16630 * Makefile.util.def: Rules for new test.
16631
16632 * grub-core/script/execute.c (grub_script_return): New function.
16633 * grub-core/script/main.c: Register/unregister return commaond.
16634 * include/grub/script_sh.h (grub_script_return): New prototype.
16635
52e72f9d
BC
166362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16637
16638 "setparams" command to update positional parameters.
16639
16640 * tests/grub_script_setparams.in: New test.
16641 * Makefile.util.def: Rules for new test.
16642
16643 * grub-core/script/argv.c (grub_script_argv_make): New function.
16644 * grub-core/script/execute.c (replace_scope): New function.
16645 (grub_script_setparams): New function.
16646 * grub-core/script/lexer.c: Remove unused variables.
16647 * grub-core/script/main.c: Register/unregister setparams command.
16648 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16649 (grub_script_setparams): New prototype.
16650
25b60c91
BC
166512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16652
16653 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16654 grub_free order.
16655
37e7bf68
BC
166562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16657
16658 Support for passing block of commands as an argument to extcmds.
16659
16660 * Makefile.util.def: Rules for new test.
16661 * tests/grub_script_blockarg.in: New test.
16662 * grub-core/tests/test_blockarg.c: New file, block argument
16663 command used in the test.
16664
16665 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16666 (grub_register_extcmd_prio): New function prototype.
16667 (grub_extcmd_dispatcher): New function prototype.
16668 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16669 type.
16670 * include/grub/script_sh.h (struct grub_script): New members
16671 `children', `next_siblings' and `refcnt' for block arguments and
16672 reference counting.
16673 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16674 (grub_script_arg): New member `script' for block argument.
16675 (grub_script_argv): New member `script' for block argument.
16676 (grub_parser_param): New member `scripts' for block argument.
16677 (grub_script_mem_free): New extern function prototype.
16678 (grub_script_ref): New function prototype.
16679 (grub_script_unref): New function prototype.
16680
16681 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16682 extcmd form to support block arguments.
16683 * grub-core/script/argv.c: Block arguments support.
16684 * grub-core/script/execute.c: Likewise.
16685 * grub-core/script/lexer.c: Likewise.
16686 * grub-core/script/main.c: Likewise.
16687 * grub-core/script/script.c: Likewise.
16688 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16689 non-terminals.
16690
16691 * grub-core/commands/acpi.c: Update extcmd implementations with
16692 grub_extcmd_context_t.
16693 * grub-core/commands/cat.c: Likewise.
16694 * grub-core/commands/echo.c: Likewise.
16695 * grub-core/commands/extcmd.c: Likewise.
16696 * grub-core/commands/hashsum.c: Likewise.
16697 * grub-core/commands/hdparm.c: Likewise.
16698 * grub-core/commands/help.c: Likewise.
16699 * grub-core/commands/hexdump.c: Likewise.
16700 * grub-core/commands/i386/cpuid.c: Likewise.
16701 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16702 * grub-core/commands/i386/pc/halt.c: Likewise.
16703 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16704 * grub-core/commands/iorw.c: Likewise.
16705 * grub-core/commands/keystatus.c: Likewise.
16706 * grub-core/commands/loadenv.c: Likewise.
16707 * grub-core/commands/ls.c: Likewise.
16708 * grub-core/commands/lspci.c: Likewise.
16709 * grub-core/commands/memrw.c: Likewise.
16710 * grub-core/commands/probe.c: Likewise.
16711 * grub-core/commands/search_wrap.c: Likewise.
16712 * grub-core/commands/setpci.c: Likewise.
16713 * grub-core/commands/sleep.c: Likewise.
16714 * grub-core/disk/loopback.c: Likewise.
16715 * grub-core/hello/hello.c: Likewise.
16716 * grub-core/loader/i386/bsd.c: Likewise.
16717 * grub-core/loader/xnu.c: Likewise.
16718 * grub-core/term/gfxterm.c: Likewise.
16719 * grub-core/term/serial.c: Likewise.
16720 * grub-core/tests/lib/functional_test.c: Likewise.
16721
888d1500
BC
167222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16723
16724 Multi-line quoted strings support.
16725
16726 * grub-core/script/lexer.c (append_newline): Removed.
16727 (grub_script_lexer_yywrap): Refactored.
16728 (grub_script_lexer_init): Refactored.
16729 * grub-core/script/yylex.l (yywrap): New function.
16730 (grub_lexer_resplit): New function.
16731 (grub_lexer_unput): New function.
16732 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16733 and resplit.
16734 * tests/grub_script_echo1.in: Added few more testcases.
16735
dda060dd
VS
167362010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 * grub-core/kern/misc.c: Don't add abort alias in utils.
16739 Reported by: echoline.
16740
6556eba9
BC
167412010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16742
16743 Add missing files into "make dist" tarball for other platforms.
16744
16745 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16746 * conf/Makefile.common (dist_noinst_DATA): New variable.
16747 * conf/Makefile.extra-dist: Added missing make dist files.
16748 * grub-core/Makefile.core.def: Likewise.
16749
c8e7bf5f
VS
167502010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 Compress grub_prefix.
16753
16754 * grub-core/boot/i386/pc/lnxboot.S: Use
16755 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16756 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16757 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16758 GRUB_MACHINE_PREFIX_END. All users updated.
16759 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16760 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16761 + 0x40.
16762 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16763 * util/grub-mkimage.c (image_target_desc): Change data_end to
16764 prefix_end. All users updated.
16765
a7c00cdb
VS
167662010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16769 value.
16770 (grub_openbsd_boot): Likewise.
16771 (grub_netbsd_boot): Likewise.
16772 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16773 (grub_xnu_boot): Likewise.
16774
9f915872
VS
167752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 * configure.ac: Clean LIBS variable after tests.
16778
efa1bee7
CW
167792010-09-02 Colin Watson <cjwatson@ubuntu.com>
16780
16781 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16782
61d720e5
VS
167832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16786 echo if libdevmapper will be used.
16787
ef8e0ec8
IT
167882010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16789
16790 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16791 constant for the same file.
16792
03e261d8
VS
167932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16796
c2a4eba6
CW
167972010-09-02 Colin Watson <cjwatson@ubuntu.com>
16798
16799 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16800 grub-core/*.pp.
16801
9056cbf3
CW
168022010-09-02 Colin Watson <cjwatson@ubuntu.com>
16803
16804 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16805 required by the boot protocol.
16806
16807 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16808 ebp and edi members.
16809 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16810 state.ebp and state.edi.
16811 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16812 %ebp and %edi according to grub_relocator32_ebp and
16813 grub_relocator32_edi respectively.
16814 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16815 and state.edi.
16816
529cc99a
VS
168172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16818
16819 Add i386-pc-pxe image target.
16820
16821 * util/grub-mkimage.c (image_target_desc): New enum value
16822 IMAGE_I386_PC_PXE.
16823 (image_targets): New target i386-pc-pxe.
16824 (generate_image): Handle i386-pc-pxe image.
16825
9a093920
VS
168262010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 Fix grub_pxe_scan.
16829
16830 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16831 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16832 All users updated.
16833 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16834 (grub_pxe_pxenv): Correct type.
16835
f9cefc4e
CW
168362010-09-01 Colin Watson <cjwatson@ubuntu.com>
16837
16838 * NEWS: Document most of the important changes since 1.98.
16839
4066f57f
CW
168402010-09-01 Colin Watson <cjwatson@ubuntu.com>
16841
16842 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16843 generated manual page) a little.
16844
da2891f9
CW
168452010-09-01 Colin Watson <cjwatson@ubuntu.com>
16846
16847 * docs/grub.texi: Add myself as an author.
16848
ad717fae
VS
168492010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16850
16851 * Makefile.util.def (libgrub.a): Add missing sunpc.
16852 Reported by: Seth Goldberg.
16853
eefe8abd
VS
168542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 Interrupt wrapping and code simplifications.
16857
9494ef9a
VS
16858 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16859 x86_noieee1275 which are functionaly equivalent in this case.
16860 (grub-install): Make source on each platform explicit. Enable on
16861 all noemu.
16862 * gentpl.py (x86_efi_pc): Removed group.
16863 (x86_noefi): Likewise.
16864 (i386_noefi): Likewise.
16865 (x86_noieee1275): Likewise.
16866 (i386_noieee1275): Likewise.
16867 (i386_noefi_noieee1275): Likewise.
16868 (i386_pc_qemu_coreboot): Likewise.
16869 (i386_coreboot_multiboot): Likewise.
16870 (i386_pc_coreboot_multiboot_qemu): Likewise.
16871 (x86_noefi_mips): Likewise.
16872 (noieee1275): Likewise.
16873 (ieee1275_mips): Likewise.
16874 (noemu_noieee1275): Likewise.
16875 (cmos): New group.
16876 (usb): Likewise.
16877 (videoinkernel): Likewise.
16878 (videomodules): Likewise.
eefe8abd 16879 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16880 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16881 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16882 include/grub/loader.h, include/grub/msdos_partition.h,
16883 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16884 include/grub/machine/console.h, include/grub/machine/vga.h,
16885 include/grub/machine/vbe.h, include/grub/machine/init.h,
16886 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16887 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16888 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16889 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16890 * grub-core/Makefile.core.def (kernel): Explicit the source for
16891 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16892 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16893 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16894 Use videoinkernel tag.
16895 (usb): Enable on all usb.
16896 (usbserial_common): Likewise.
16897 (usbserial_pl2303): Likewise.
16898 (usbserial_ftdi): Likewise.
16899 (uhci): Enable on all x86.
16900 (ohci): Enable on all pci.
16901 (cmostest): Enable on all CMOS.
16902 (acpi): Include commands/acpi.c on all platforms.
16903 (halt): Add relevant lib/*/halt.c.
16904 (hdparm): Enable on all pci.
16905 (lspci): Likewise.
16906 (usbtest): Enable on all usb.
16907 (ata): Enable on all pci.
16908 (ata_pthru): Likewise.
16909 (usbms): Enable on all usb.
16910 (usb_keyboard): Likewise.
16911 (font): Use tag videomodules.
16912 (bufio): Likewise.
16913 (datetime): Use tag cmos. Enable on all noemu.
16914 (mmap): Use tags common and x86.
16915 (gfxterm): Use tag videomodules.
16916 (bitmap): Likewise.
16917 (bitmap_scale): Likewise.
16918 (video_fb): Likewise.
16919 (video): Likewise.
16920 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16921 adjust padding accordingly. All users updated.
16922 (grub_ohci_transaction): Fix bad format specification.
16923 (GRUB_MOD_INIT): Add asserts for struct size.
16924 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16925 (grub_alloc_td): Likewise.
16926 (grub_free_queue): Likewise.
16927 (grub_uhci_transfer): Likewise.
16928 (grub_uhci_transaction): Fix bad format specification.
16929 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16930 (grub_usb_bulk_readwrite): Likewise.
16931 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16932 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16933 Made static.
16934 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16935 Made static.
16936 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16937 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16938 Transformed into C.
16939 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16940 Moved from here ...
16941 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16942 ... here. Transformed into C. Made static.
16943 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16944 Moved from here ...
16945 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16946 ... here. Transformed into C. Made static.
16947 * grub-core/kern/i386/pc/startup.S
16948 (grub_biosdisk_check_int13_extensions): Moved from here ...
16949 * grub-core/disk/i386/pc/biosdisk.c
16950 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16951 Made static.
16952 * grub-core/kern/i386/pc/startup.S
16953 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16954 * grub-core/disk/i386/pc/biosdisk.c
16955 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16956 Transformed into C. Made static.
16957 * grub-core/kern/i386/pc/startup.S
16958 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16959 * grub-core/disk/i386/pc/biosdisk.c
16960 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16961 Transformed into C. Made static.
16962 * grub-core/kern/i386/pc/startup.S
16963 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16964 * grub-core/disk/i386/pc/biosdisk.c
16965 (grub_biosdisk_get_diskinfo_standard): ... here.
16966 Transformed into C. Made static.
16967 * grub-core/kern/i386/pc/startup.S
16968 (grub_biosdisk_get_num_floppies): Moved from here ...
16969 * grub-core/disk/i386/pc/biosdisk.c
16970 (grub_biosdisk_get_num_floppies): ... here.
16971 Transformed into C. Made static.
16972 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16973 New function.
16974 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16975 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16976 Transformed into C. Made static.
16977 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16978 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16979 Transformed into C. Made static.
16980 * grub-core/kern/i386/ieee1275/init.c: Removed.
16981 * grub-core/kern/i386/misc.S: Likewise.
16982 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16983 Splitted from here ...
16984 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16985 Transformed into C. Made static. All users updated.
16986 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16987 Transformed into C. Made static. All users updated.
16988 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16989 Moved from here...
16990 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16991 Transformed into C. Made static. All users updated.
16992 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16993 Moved from here...
16994 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16995 Transformed into C. Made static. All users updated.
16996 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16997 Removed (replaced by C version).
16998 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16999 Moved from here...
17000 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17001 Transformed into C. Made static.
17002 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17003 Moved from here...
17004 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17005 ... here. Transformed into C.
17006 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17007 Moved from here...
17008 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17009 ... here. Transformed into C.
17010 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17011 Moved from here...
17012 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17013 ... here. Transformed into C. Made static.
17014 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17015 Moved from here...
17016 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17017 ... here. Transformed into C.
21ed554b
VS
17018 * grub-core/kern/i386/pc/startup.S
17019 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17020 * grub-core/video/i386/pc/vbe.c
17021 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
17022 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17023 Moved from here...
17024 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17025 ... here. Transformed into C.
17026 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17027 Moved from here...
17028 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17029 ... here. Transformed into C.
17030 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17031 Moved from here...
17032 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17033 ... here. Transformed into C.
17034 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17035 Moved from here...
17036 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17037 ... here. Transformed into C.
17038 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17039 Moved from here...
17040 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17041 ... here. Transformed into C. Made static.
17042 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17043 Moved from here...
17044 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17045 ... here. Transformed into C. Made static.
17046 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17047 Moved from here...
17048 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17049 ... here. Transformed into C. Made static.
17050 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17051 pxe_rm_entry as third argument.
17052 (grub_bios_interrupt): New function.
17053 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17054 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17055 of calling grub_stop.
17056 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17057 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17058 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17059 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17060 * grub-core/lib/i386/halt.c: Moved from here ...
17061 * grub-core/lib/i386/halt.c: ... here.
17062 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17063 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17064 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17065 grub_stop_floppy.
17066 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17067 * include/grub/i386/coreboot/init.h: Removed.
17068 * include/grub/i386/multiboot/init.h: Likewise.
17069 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17070 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17071 * include/grub/i386/pc/int.h: New file.
17072 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17073 (grub_pxe_scan): Removed.
17074 (grub_pxe_call): Update prototype.
17075 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17076 prototypes.
17077 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17078 * include/grub/i386/qemu/init.h: Removed.
17079 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17080 noreturn.
17081 (grub_halt): Likewise.
17082 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17083 (grub_reboot): Likewise.
17084 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17085 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
17086 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17087
215dd471
RM
170882010-08-30 Robert Millan <rmh@gnu.org>
17089
17090 * NEWS: Document addition of ZFS support in `grub-install' and
17091 `grub-mkconfig'.
17092
ebd65b82
BC
170932010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17094
17095 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17096 dprintf output.
17097
11721d19
VS
170982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 Remove leftover embedding of font objects.
17101
17102 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17103 * util/grub-install.in (font): Removed.
17104 * util/grub-mkimage.c (generate_image): Remove font support. All users
17105 updated.
17106
37837d4e
VS
171072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 Remove leftover embedding of font objects.
17110
17111 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17112 * util/grub-install.in (font): Removed.
17113 * util/grub-mkimage.c (generate_image): Remove font support. All users
17114 updated.
17115
b4c1aae0
VS
171162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 17119 Reported by: Ian Turner
b4c1aae0 17120
8920a08d
VS
171212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17122
17123 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17124 timeout to avoid indefinite boot stalling.
17125
f21db033
VS
171262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17129 (grub_env_write_color_highlight): Likewise.
17130
9a9de209
VS
171312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * grub-core/normal/term.c (print_more): Return to normal and not
17134 to standard state after printing "---MORE---".
17135
3dca01d7
VS
171362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17139 Mask out the bit 0x80 since it has other meaning that specifiing color.
17140
0b986c40
VS
171412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 New relocator. Allows for more kernel support and more straightforward
17144 loader writing.
17145
17146 * Makefile.am (BOOTTARGET): New variable.
17147 (QEMU32): Likewise.
17148 (linux.init.x86_64): New target.
17149 (linux.init.i386): Likewise.
17150 (multiboot.elf): Likewise.
17151 (kfreebsd.elf): Likewise.
17152 (kfreebsd.aout): Likewise.
17153 (pc-chainloader.elf): Likewise.
17154 (pc-chainloader.bin): Likewise.
17155 (ntldr.elf): Likewise.
17156 (ntldr.bin): Likewise.
17157 (multiboot2.elf): Likewise.
17158 (kfreebsd.init.x86_64): Likewise.
17159 (kfreebsd.init.i386): Likewise.
17160 (knetbsd.init.i386): Likewise.
17161 (kopenbsd.init.i386): Likewise.
17162 (knetbsd.init.x86_64): Likewise.
17163 (kopenbsd.init.x86_64): Likewise.
17164 (linux-initramfs.i386): Likewise.
17165 (linux-initramfs.x86_64): Likewise.
17166 (kfreebsd-mfsroot.i386.img): Likewise.
17167 (knetbsd.image.i386): Likewise.
17168 (kopenbsd.image.i386): Likewise.
17169 (kopenbsd.image.x86_64): Likewise.
17170 (knetbsd.miniroot-image.i386.img): Likewise.
17171 (kfreebsd-mfsroot.x86_64.img): Likewise.
17172 (knetbsd.image.x86_64): Likewise.
17173 (knetbsd.miniroot-image.x86_64.img): Likewise.
17174 (kfreebsd-mfsroot.i386.gz): Likewise.
17175 (bootcheck-kfreebsd-i386): Likewise.
17176 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17177 (bootcheck-kfreebsd-x86_64): Likewise.
17178 (knetbsd.miniroot-image.i386.gz): Likewise.
17179 (bootcheck-knetbsd-i386): Likewise.
17180 (bootcheck-kopenbsd-i386): Likewise.
17181 (bootcheck-kopenbsd-x86_64): Likewise.
17182 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17183 (bootcheck-knetbsd-x86_64): Likewise.
17184 (bootcheck-linux-i386): Likewise.
17185 (bootcheck-linux-x86_64): Likewise.
17186 (bootcheck-linux16-i386): Likewise.
17187 (bootcheck-linux16-x86_64): Likewise.
17188 (bootcheck-multiboot): Likewise.
17189 (bootcheck-multiboot2): Likewise.
17190 (bootcheck-kfreebsd-aout): Likewise.
17191 (bootcheck-pc-chainloader): Likewise.
17192 (bootcheck-ntldr): Likewise.
17193 (CLEANFILES): Add new targets.
17194 (BOOTCHECKS): New variable.
17195 (.PHONY): Add bootchecks.
17196 (SUCCESSFUL_BOOT_STRING): New variable.
17197 (BOOTCHECK_TIMEOUT): Likewise.
17198 (bootcheck): New target
17199 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17200 * configure.ac: Correct efiemu excuse.
17201 * docs/grub.texi (Supported kernels): New chapter.
17202 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17203 include/grub/mm_private.h. Simplify inclusion of
17204 include/grub/boot.h, include/grub/loader.h
17205 and include/grub/msdos_partition.h
17206 (KERNEL_HEADER_FILES) [i386_coreboot]:
17207 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17208 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17209 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17210 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17211 include/grub/machine/loader.h.
17212 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17213 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17214 extra_dist.
17215 (pci.mod): Enable on i386-multiboot.
17216 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17217 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17218 i386-qemu.
17219 (relocator.mod): Rewritten.
17220 (aout.mod): Enable on all x86.
17221 (bsd.mod): Likewise.
17222 (ntldr.mod): New module.
17223 (linux.mod): Use loader/i386/linux.c on all x86.
17224 (xnu.mod): Enable on all x86.
17225 (vga_text.mod): disable on EFI and QEMU.
17226 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17227 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17228 * grub-core/efiemu/loadcore.c: Likewise.
17229 * grub-core/efiemu/main.c: Likewise.
17230 (grub_efiemu_exit_boot_services): Removed.
17231 (grub_efiemu_finish_boot_services): Likewise.
17232 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17233 function.
17234 * grub-core/efiemu/i386/nocfgtables.c: New file.
17235 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17236 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17237 (grub_efi_finish_boot_services): Moved from here ...
17238 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17239 Fille finish memory map and related data.
17240 (finish_mmap_buf): New variable.
17241 (grub_efi_uintn_t finish_mmap_size): Likewise.
17242 (grub_efi_uintn_t finish_key): Likewise.
17243 (grub_efi_uintn_t finish_desc_size): Likewise.
17244 (grub_efi_uint32_t finish_desc_version): Likewise.
17245 (grub_efi_is_finished): Likewise.
17246 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17247 finished.
17248 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17249 (grub_elf64_phdr_iterate): Likewise.
17250 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17251 (grub_os_area_size): Likewise.
17252 (grub_machine_init): Don't reserve os area.
17253 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17254 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17255 * grub-core/kern/i386/loader.S: Removed.
17256 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17257 (grub_os_area_size): Likewise.
17258 (grub_machine_init): Don't reserve os area.
17259 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17260 Don't call grub_dl_unload_all.
17261 Don't include loader.S.
17262 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17263 Declare the memory after _end as available.
17264 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 17265 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 17266 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
17267 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17268 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17269 * include/grub/mm_private.h (grub_mm_header): ... here.
17270 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17271 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
17272 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17273 (grub_mm_region): ..here. Removed addr. Added pre_size.
17274 All users updated.
17275 * grub-core/kern/mm.c (base): Renamed to ...
17276 (grub_mm_base): ... this. Made global.
17277 (grub_real_malloc): Alloc from end of region.
17278 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17279 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17280 * grub-core/kern/powerpc/cache_flush.S: ... here.
17281 * grub-core/lib/efi/relocator.c: New file.
17282 * grub-core/lib/i386/relocator.c: Rewritten.
17283 * grub-core/lib/i386/relocator16.S: New file.
17284 * grub-core/lib/i386/relocator32.S: Likewise.
17285 * grub-core/lib/i386/relocator64.S: Likewise.
17286 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17287 * grub-core/lib/i386/relocator_common.S: New file.
17288 * grub-core/lib/ieee1275/relocator.c: Likewise.
17289 * grub-core/lib/mips/relocator.c: Rewritten.
17290 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17291 stylistic adjustments.
17292 * grub-core/lib/powerpc/relocator.c: New file.
17293 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17294 * grub-core/lib/relocator.c: Rewritten.
17295 * grub-core/lib/x86_64/relocator_asm.S: New file.
17296 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17297 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17298 (bsd_tag): New struct.
17299 (tags): New variable.
17300 (tags_last): Likewise.
17301 (netbsd_module): New struct.
17302 (netbsd_mods): New variable.
17303 (netbsd_mods_last): Likewise.
17304 (openbsd_opts): New parameter "serial".
17305 (OPENBSD_SERIAL_ARG): New definition.
17306 (netbsd_opts): New parameter "serial".
17307 (NETBSD_SERIAL_ARG): New definition.
17308 (grub_freebsd_add_meta): Reorganised into ...
17309 (grub_bsd_add_meta): ...this. All users updated.
17310 (grub_freebsd_add_mmap): Reorganised into ...
17311 (generate_e820_mmap): ...this...
17312 (grub_bsd_add_mmap): ...and this. All users updated.
17313 (grub_freebsd_list_modules): Use tags.
17314 (grub_netbsd_add_meta_module): New function.
17315 (grub_netbsd_list_modules): Likewise.
17316 (grub_freebsd_boot): Use relocator and finish EFI.
17317 (grub_openbsd_boot): Likewise.
17318 (grub_netbsd_setup_video): New function.
17319 (grub_netbsd_add_modules): Likewise.
17320 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17321 and finish EFI.
17322 (grub_bsd_unload): Unload tags.
17323 (grub_bsd_load_aout): Use relocator.
17324 (grub_bsd_elf32_size_hook): New function.
17325 (grub_bsd_elf32_hook): Use relocator.
17326 (grub_bsd_elf64_size_hook): New function.
17327 (grub_bsd_elf64_hook): Use relocator.
17328 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17329 (grub_bsd_load): Zero-out openbsd_ramdisk.
17330 (grub_bsd_load): Use relocator.
17331 (grub_cmd_openbsd): Support serial.
17332 (grub_cmd_netbsd): Support modules.
17333 (grub_cmd_freebsd_module): Use relocator.
17334 (grub_netbsd_module_load): New function.
17335 (grub_cmd_netbsd_module): Likewise.
17336 (grub_cmd_openbsd_ramdisk): Likewise.
17337 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17338 kopenbsd_ramdisk.
17339 (GRUB_MOD_FINI): Unregister new commands.
17340 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17341 (grub_freebsd_load_elfmodule_obj): Use relocator.
17342 (grub_freebsd_load_elfmodule): Likewise.
17343 (grub_freebsd_load_elf_meta): Likewise.
17344 (grub_netbsd_load_elf_meta): New function.
17345 (grub_openbsd_find_ramdisk): Likewise.
17346 * grub-core/loader/i386/bsd_helper.S: Removed.
17347 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17348 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17349 * grub-core/loader/i386/efi/linux.c: Likewise.
17350 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17351 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17352 (DEFAULT_VIDEO_MODE): Likewise.
17353 (real_mode_target): New variable.
17354 (prot_mode_target): Likewise.
17355 (initrd_mem_target): Likewise.
17356 (relocator): Likewise.
17357 (efi_mmap_buf): Likewise.
17358 (efi_mmap_size): Likewise.
17359 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17360 (free_pages): Use relocator.
17361 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17362 (grub_linux_setup_video): Return error.
17363 (grub_linux_trampoline_start): Removed.
17364 (grub_linux_trampoline_end): Likewise.
17365 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17366 andd video parameters depending on firmware.
17367 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17368 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17369 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17370 (grub_cmd_initrd): Use relocator.
17371 * grub-core/loader/i386/linux_trampoline.S: Removed.
17372 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17373 (elf_sec_entsize): Likewise.
17374 (elf_sec_shstrndx): Likewise.
17375 (elf_sections): Likewise.
17376 (grub_multiboot_load): Use relocator.
17377 (grub_multiboot_get_mbi_size): Account for sections.
17378 (grub_multiboot_make_mbi): Use relocator and support sections.
17379 (grub_multiboot_add_elfsyms): New function.
17380 (grub_multiboot_free_mbi): Free sections.
17381 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17382 (grub_linux_real_target): Likewise.
17383 (grub_linux_real_chunk): Likewise.
17384 (grub_linux16_prot_size): Likewise.
17385 (grub_linux16_boot): Use relocator.
17386 (grub_linux_unload): Unload relocator.
17387 (grub_cmd_linux): Use relocator.
17388 (grub_cmd_initrd): Likewise.
17389 * grub-core/loader/i386/pc/ntldr.c: New file.
17390 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17391 Don't try to guess CPU frequency.
17392 (grub_xnu_set_video): Stretch bitmap.
17393 (grub_xnu_boot): Use relocator.
17394 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17395 (grub_linux_unload): Free relocator.
17396 (grub_linux_load32): Use relocator.
17397 (grub_linux_load64): Likewise.
17398 (grub_cmd_initrd): Likewise.
17399 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17400 (grub_multiboot_unload): Unload relocator.
17401 (grub_cmd_multiboot): Use relocator.
17402 (grub_cmd_module): Likewise.
17403 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17404 Use relocator and support sections.
17405 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17406 (elf_sec_entsize): Likewise.
17407 (elf_sec_shstrndx): Likewise.
17408 (elf_sections): Likewise.
17409 (grub_multiboot_load): Use relocator.
17410 (grub_multiboot_get_mbi_size): Account for sections.
17411 (grub_multiboot_make_mbi): Use relocator and support sections.
17412 (grub_multiboot_add_elfsyms): New function.
17413 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17414 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17415 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17416 Prototype changed. All users updated.
17417 (grub_xnu_align_heap): Simplified.
17418 (grub_xnu_writetree_toheap): Likewise.
17419 (grub_xnu_unload): Unload relocator.
17420 (grub_cmd_xnu_kernel): Use relocator.
17421 (grub_cmd_xnu_kernel64): Likewise.
17422 (grub_xnu_register_memory): Simplified.
17423 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17424 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17425 EFI is finished.
17426 (grub_console_checkkey): Likewise.
17427 (grub_console_getkey): Likewise.
17428 (grub_console_getwh): Likewise.
17429 (grub_console_getxy): Likewise.
17430 (grub_console_gotoxy): Likewise.
17431 (grub_console_cls): Likewise.
17432 (grub_console_setcolorstate): Likewise.
17433 (grub_console_setcursor): Likewise.
17434 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17435 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17436 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17437 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17438 * grub-core/tests/boot/kernel-8086.S: Likewise.
17439 * grub-core/tests/boot/kernel-i386.S: Likewise.
17440 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17441 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17442 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17443 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17444 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17445 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17446 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17447 * grub-core/tests/boot/linux.cfg: Likewise.
17448 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17449 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17450 * grub-core/tests/boot/linux16.cfg: Likewise.
17451 * grub-core/tests/boot/multiboot.cfg: Likewise.
17452 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17453 * grub-core/tests/boot/ntldr.cfg: Likewise.
17454 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17455 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17456 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17457 New definition.
17458 * include/grub/dl.h (grub_dl_unload_all): Removed.
17459 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17460 (grub_efi_finish_boot_services): Change prototype.
17461 (grub_efi_is_finished): New variable.
17462 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17463 Changed prototype.
17464 (grub_efiemu_finish_boot_services): Removed.
17465 (grub_machine_efiemu_init_tables): New prototype.
17466 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17467 (grub_elf64_phdr_iterate): Likewise.
17468 * include/grub/i386/bsd.h: Include relocator.h.
17469 (freebsd_tag_header): New struct.
17470 (grub_openbsd_bios_mmap): Removed.
17471 (grub_unix_real_boot): Removed.
17472 (grub_freebsd_load_elfmodule32): Changed prototype.
17473 (grub_freebsd_load_elfmodule_obj64): Likewise.
17474 (grub_freebsd_load_elf_meta32): Likewise.
17475 (grub_freebsd_load_elf_meta64): Likewise.
17476 (grub_freebsd_add_meta): Removed.
17477 (grub_netbsd_load_elf_meta32): New prototype.
17478 (grub_netbsd_load_elf_meta64): Likewise.
17479 (grub_bsd_add_meta): Likewise.
17480 (grub_openbsd_ramdisk_descriptor): New struct.
17481 (grub_openbsd_find_ramdisk32): New prototype.
17482 (grub_openbsd_find_ramdisk64): Likewise.
17483 * include/grub/i386/coreboot/loader.h: Removed.
17484 * include/grub/i386/efi/loader.h: Likewise.
17485 * include/grub/i386/ieee1275/loader.h: Likewise.
17486 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17487 to grub_uint32_t.
17488 * include/grub/i386/loader.h: Removed.
17489 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17490 value.
17491 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17492 (grub_phys_addr_t): New type.
17493 (grub_vtop): New inline function.
17494 (grub_map_memory): Likewise.
17495 (grub_unmap_memory): Likewise.
17496 * include/grub/i386/multiboot/loader.h: Removed.
17497 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17498 (NETBSD_BTINFO_CONSOLE): New definition.
17499 (NETBSD_BTINFO_SYMTAB): Likewise.
17500 (NETBSD_BTINFO_MODULES): Likewise.
17501 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17502 (grub_netbsd_bootinfo): New struct.
17503 (grub_netbsd_btinfo_common): Use explicit bitsize.
17504 (grub_netbsd_btinfo_mmap_entry): Removed.
17505 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17506 (grub_netbsd_btinfo_bootdisk): New struct.
17507 (grub_netbsd_btinfo_symtab): Likewise.
17508 (grub_netbsd_btinfo_serial): Likewise.
17509 (grub_netbsd_btinfo_modules): Likewise.
17510 (grub_netbsd_btinfo_framebuf): Likewise.
17511 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17512 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17513 Likewise.
17514 (grub_openbsd_bootargs): Use explicit bitsize.
17515 (grub_openbsd_bootarg_console): New struct.
17516 (GRUB_OPENBSD_COM_MAJOR): New definition.
17517 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17518 * include/grub/i386/pc/efiemu.h: Removed.
17519 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17520 * include/grub/i386/qemu/loader.h: Removed.
17521 * include/grub/i386/relocator.h: Rewritten.
17522 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17523 * include/grub/mips/memory.h: New file.
17524 * include/grub/mips/multiboot.h: Rewritten.
17525 * include/grub/mips/relocator.h: Rewritten.
17526 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17527 (grub_vtop): New function.
17528 (grub_map_memory): Likewise.
17529 (grub_unmap_memory): Likewise.
17530 * include/grub/misc.h (ALIGN_DOWN): New definition.
17531 * include/grub/mm.h (grub_mm_check_real): New proto.
17532 (GRUB_MM_CHECK): New definition.
17533 * include/grub/mm_private.h: New file.
17534 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17535 (grub_multiboot_get_mbi_size): Removed.
17536 (grub_multiboot_make_mbi): Change prottype.
17537 (grub_multiboot_set_accepts_video): New proto.
17538 (grub_multiboot_add_elfsyms): Likewise.
17539 (grub_multiboot_payload_eip): New variable.
17540 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17541 New prototype.
17542 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17543 New definition.
17544 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17545 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17546 * include/grub/powerpc/ieee1275/loader.h: Removed.
17547 * include/grub/powerpc/memory.h: New file.
17548 * include/grub/powerpc/relocator.h: Likewise.
17549 * include/grub/relocator.h: Likewise.
17550 * include/grub/relocator_private.h: Likewise.
17551 * include/grub/sparc64/ieee1275/loader.h: Removed.
17552 * include/grub/x86_64/memory.h: New file.
17553 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17554 (grub_xnu_heap_malloc): Likewise.
17555 (grub_xnu_heap_real_start): Removed.
17556 (grub_xnu_heap_start): Likewise.
17557 (grub_xnu_relocator): New variable.
17558 (grub_xnu_heap_target_start): Likewise.
17559 * tests/util/grub-shell.in: Support non-pc.
17560 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17561
5303b85d
VS
175622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17565 on malloc error.
17566 (grub_bidi_logical_to_visual): Check that malloc succeded.
17567 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17568 puts.
17569 (grub_xputs_normal): Likewise.
17570
d768d159
VS
175712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17574 extra_dist.
17575
175762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17579
5bf84df4
VS
175802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17583
3626810e
VS
175842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17587 dprintf.
17588
a7363f53
BC
175892010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17590
17591 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17592
902f75f6
VS
175932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * grub-core/normal/term.c (print_more): Fix a memory leak.
17596 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17597 (grub_xputs_normal): Likewise.
17598
3c707967
VS
175992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17602 the begining of the string
17603
2053cc07
VS
176042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * grub-core/script/script.c (grub_script_parse): Free parsed on
17607 failure.
17608
46422ebf
VS
176092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17612 on failure.
17613
9e0fa3f6
VS
176142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17617 return.
17618
3393cf16
VS
176192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17622 (scroll_up): Fix a memory leak.
17623
b17540cb
VS
176242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17627 errors.
17628
67140446
VS
176292010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 Handle USB pendrives exposed as floppies.
17632
17633 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17634 floppy.
17635 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17636 Check for partitions on all devices.
17637
e35e46fc
VS
176382010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17641 (readkey): Likewise.
17642
d24c6190
BC
176432010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17644
17645 Multiple variable names support to "export" command.
17646
17647 * normal/context.c (grub_cmd_export): "export" command supports
17648 multiple variable names.
17649
04ddcc6a
ST
176502010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17651
17652 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17653 --target=drive output to Mach device name.
17654
0c8b61d8
BC
176552010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17656
17657 New Automake based build system for GRUB.
17658
17659 * ABOUT-NLS: New file.
17660 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17661 in Makefile.util.def file.
17662 * Makefile.util.def: New file. Autogen build definitions file for
17663 GRUB host utils.
17664 * conf/Makefile.common: New file. Common variables for GRUB host
17665 utils and target modules.
17666 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17667 * docs/Makefile.am: New file. Automake file for docs.
17668 * gentpl.py: New file. Python script to generate Autogen
17669 template.
17670 * grub-core/Makefile.am: New file. GRUB target modules' rules
17671 that doesn't fit in Makefile.core.def file.
17672 * grub-core/Makefile.core.def: New file. Autogen build
17673 definitions file for GRUB target modules.
17674 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17675 specific setjmp.S file.
17676 * po/Makefile.am: New file.
17677
17678 * .bzrignore: New ignores.
17679 * INSTALL: New requirements, without Ruby.
17680 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17681 * autogen.sh: Updated to invoke autogen as necessary.
17682 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17683 and defines for Automake conditionals.
17684 * geninit.sh: Refactoring.
17685
17686 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17687 necessary.
17688 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17689 New prototype.
17690
17691 * include/grub/test.h: Fix functional test modules' naming.
17692 * grub-core/tests/example_functional_test.c: Fix test module name.
17693
17694 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17695 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17696 * util/grub-editenv.c: Likewise.
17697 * util/grub-fstest.c: Likewise.
17698 * util/grub-mkdevicemap.c: Likewise.
17699 * util/grub-mkfont.c: Likewise.
17700 * util/grub-mkimage.c: Likewise.
17701 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17702 * util/grub-probe.c: Likewise.
17703 * util/grub-script-check.c: Likewise.
17704 * util/i386/pc/grub-setup.c: Likewise.
17705 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17706
17707 * tests/util/grub-shell.in: Fix override directory path.
17708 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17709 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17710
17711 * util/lvm.c: Update #includes.
17712 * util/raid.c: Likewise.
17713 * util/resolve.c: Likewise.
17714 * grub-core/bus/emu/pci.c: Likewise.
17715 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17716 * grub-core/lib/posix_wrap/string.h: Likewise.
17717 * grub-core/kern/emu/main.c: Likewise.
17718
17719 * grub-core/gensymlist.sh: New file. Script for generating kernel
17720 symbols file.
17721 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17722
17723 * grub-core/gentrigtables.c: Fix unused variable warnings.
17724
17725 * Makefile.in: Removed.
17726 * conf/any-emu.rmk: Removed.
17727 * conf/common.rmk: Removed.
17728 * conf/i386-coreboot.rmk: Removed.
17729 * conf/i386-efi.rmk: Removed.
17730 * conf/i386-ieee1275.rmk: Removed.
17731 * conf/i386-multiboot.rmk: Removed.
17732 * conf/i386-pc.rmk: Removed.
17733 * conf/i386-qemu.rmk: Removed.
17734 * conf/i386.rmk: Removed.
17735 * conf/mips-yeeloong.rmk: Removed.
17736 * conf/mips.rmk: Removed.
17737 * conf/powerpc-ieee1275.rmk: Removed.
17738 * conf/sparc64-ieee1275.rmk: Removed.
17739 * conf/tests.rmk: Removed.
17740 * conf/x86-efi.rmk: Removed.
17741 * conf/x86_64-efi.rmk: Removed.
17742 * gendistlist.sh: Removed.
17743 * geninitheader.sh: Removed.
17744 * genkernsyms.sh.in: Removed.
17745 * genmk.rb: Removed.
17746 * gensymlist.sh.in: Removed.
17747 * mkinstalldirs: Removed.
17748 * boot: Moved ...
17749 * grub-core/boot: ... to here.
17750 * bus: Moved ...
17751 * grub-core/bus: ... to here.
17752 * commands: Moved ...
17753 * grub-core/commands: ... to here.
17754 * disk: Moved ...
17755 * grub-core/disk: ... to here.
17756 * efiemu: Moved ...
17757 * grub-core/efiemu: ... to here.
17758 * font: Moved ...
17759 * grub-core/font: ... to here.
17760 * fs: Moved ...
17761 * grub-core/fs: ... to here.
17762 * gencmdlist.sh: Moved ...
17763 * grub-core/gencmdlist.sh: ... to here.
17764 * genemuinit.sh: Moved ...
17765 * grub-core/genemuinit.sh: ... to here.
17766 * genemuinitheader.sh: Moved ...
17767 * grub-core/genemuinitheader.sh: ... to here.
17768 * genfslist.sh: Moved ...
17769 * grub-core/genfslist.sh: ... to here.
17770 * genhandlerlist.sh: Moved ...
17771 * grub-core/genhandlerlist.sh: ... to here.
17772 * genmoddep.awk: Moved ...
17773 * grub-core/genmoddep.awk: ... to here.
17774 * genmodsrc.sh: Moved ...
17775 * grub-core/genmodsrc.sh: ... to here.
17776 * genpartmaplist.sh: Moved ...
17777 * grub-core/genpartmaplist.sh: ... to here.
17778 * genparttoollist.sh: Moved ...
17779 * grub-core/genparttoollist.sh: ... to here.
17780 * genterminallist.sh: Moved ...
17781 * grub-core/genterminallist.sh: ... to here.
17782 * gentrigtables.c: Moved ...
17783 * grub-core/gentrigtables.c: ... to here.
17784 * genvideolist.sh: Moved ...
17785 * grub-core/genvideolist.sh: ... to here.
17786 * gettext: Moved ...
17787 * grub-core/gettext: ... to here.
17788 * gfxmenu: Moved ...
17789 * grub-core/gfxmenu: ... to here.
17790 * gnulib: Moved ...
17791 * grub-core/gnulib: ... to here.
17792 * hello: Moved ...
17793 * grub-core/hello: ... to here.
17794 * hook: Moved ...
17795 * grub-core/hook: ... to here.
17796 * io: Moved ...
17797 * grub-core/io: ... to here.
17798 * kern: Moved ...
17799 * grub-core/kern: ... to here.
17800 * lib: Moved ...
17801 * grub-core/lib: ... to here.
17802 * loader: Moved ...
17803 * grub-core/loader: ... to here.
17804 * mmap: Moved ...
17805 * grub-core/mmap: ... to here.
17806 * normal: Moved ...
17807 * grub-core/normal: ... to here.
17808 * partmap: Moved ...
17809 * grub-core/partmap: ... to here.
17810 * parttool: Moved ...
17811 * grub-core/parttool: ... to here.
17812 * script: Moved ...
17813 * grub-core/script: ... to here.
17814 * term: Moved ...
17815 * grub-core/term: ... to here
17816 * tests/example_functional_test.c: Moved ...
17817 * grub-core/tests/example_functional_test.c: ... to here.
17818 * tests/lib/functional_test.c: Moved ...
17819 * grub-core/tests/lib/functional_test.c: ... to here.
17820 * tests/lib/test.c: Moved ...
17821 * grub-core/tests/lib/test.c: ... to here.
17822 * video: Moved ...
17823 * grub-core/video: ... to here.
17824
645586e6
BC
178252010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17826
17827 Replace --enable-grub-emu-modules with grub-emu-lite.
17828
17829 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17830 cache.S.
17831
17832 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17833 * kern/emu/full.c: New file. For grub-emu specific initialization.
17834 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17835 * kern/emu/main.c: Call initialization function grub_emu_init.
17836
17837 * Makefile.in: Include grub-emu-lite in install.
17838 * commands/parttool.c: Use grub_no_autoload to differentiate
17839 between grub-emu and grub-emu-lite.
17840 * include/grub/misc.h: New variable grub_no_autoload.
17841
17842 * conf/any-emu.rmk: New rules for grub-emu-lite.
17843 * configure.ac: Remove --enable-grub-emu-modules.
17844 * genmk.rb: Cleanup unnecessary rules.
17845 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17846
17847 * normal/main.c: Don't load list files on grub-emu-lite.
17848 * util/misc.c (grub_arch_sync_caches): Removed.
17849
f86a4030
CW
178502010-08-23 Colin Watson <cjwatson@ubuntu.com>
17851
17852 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17853 grub-mkimage rather than grub-mkelfimage.
17854 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17855
06776944
VS
178562010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17859 a key after CapsLock or NumLock. It's just a qemu bug.
17860
df262419
VS
178612010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17864 needed by libusb wrapper.
17865
b40ea81b
ST
178662010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17867
17868 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17869
dee50575
VS
178702010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17873 --nounzip is passed.
17874
fb1d7b79
VS
178752010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 USB hotunplugging and USB serial support.
17878
17879 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17880 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17881 (grub_uhci_transfer): Respect timeout and set *actual.
17882 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17883 non-standard length.
17884 (grub_usb_device_attach): Autoload modules.
17885 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17886 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17887 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17888 users updated.
17889 (grub_usb_add_hub): Fill nports and children.
17890 (attach_root_port): Receive hub instead of controller.
17891 All users updated. Fill hub->devices.
17892 (grub_usb_root_hub): Allocate hub->devices.
17893 (detach_device): New function.
17894 (poll_nonroot_hub): Fill children and detach devices.
17895 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17896 actual arguments. All users updated.
17897 (grub_usb_bulk_read_extended): New function.
17898 * bus/usb/serial/common.c: New file.
17899 * bus/usb/serial/ftdi.c: Likewise.
17900 * bus/usb/serial/pl2303.c: Likewise.
17901 * commands/terminal.c (handle_command): Support wildcard.
17902 * commands/usbtest.c: Output "Unknown" instead of empty string.
17903 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17904 (usbserial_common_mod_SOURCES): New variable.
17905 (usbserial_common_mod_CFLAGS): Likewise.
17906 (usbserial_common_mod_LDFLAGS): Likewise.
17907 (pkglib_MODULES): Add usbserial_pl2303.mod.
17908 (usbserial_pl2303_mod_SOURCES): New variable.
17909 (usbserial_pl2303_mod_CFLAGS): Likewise.
17910 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17911 (pkglib_MODULES): Add usbserial_ftdi.mod.
17912 (usbserial_ftdi_mod_SOURCES): New variable.
17913 (usbserial_ftdi_mod_CFLAGS): Likewise.
17914 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17915 (pkglib_MODULES): Add serial.mod.
17916 (serial_mod_SOURCES): New variable.
17917 (serial_mod_CFLAGS): Likewise.
17918 (serial_mod_LDFLAGS): Likewise.
17919 * conf/i386-pc.rmk: Likewise.
17920 * conf/mips-yeeloong.rmk: Likewise.
17921 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17922 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17923 * disk/usbms.c (first_available_slot): New variable.
17924 (grub_usbms_attach): Don't reuse free slots due to potential cache
17925 problems.
17926 * include/grub/serial.h: Moved to ..
17927 * include/grub/ns8250.h: ...this.
17928 * include/grub/serial.h: New file.
17929 * include/grub/term.h (grub_term_poll_usb): New variable.
17930 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17931 readkey. All users updated.
17932 (grub_terminfo_output_state): Pass term to put.
17933 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17934 (grub_usb_controller_dev): Add timeout and actual arguments to
17935 transfer. All users updated.
17936 (grub_usb_interface): New field detach_data.
17937 (grub_usb_device): New fields children and nports.
17938 (grub_usb_ep_type_t): New type.
17939 (grub_usb_get_ep_type): New function.
17940 (grub_usb_bulk_read_extended): Likewise.
17941 * include/grub/usbdesc.h (grub_usb_desc): New type.
17942 * include/grub/usbserial.h: New file.
17943 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17944 * kern/term.c (grub_term_poll_usb): New variable.
17945 (grub_getkey): Call grub_term_poll_usb if set.
17946 (grub_checkkey): Likewise.
17947 (grub_getkeystatus): Likewise.
17948 * term/serial.c: Moved controller-specific parts to ...
17949 * term/ns8250.c: ... here.
17950 * term/serial.c: Mostly rewritten.
17951 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17952 according to spec.
17953
21a313de
RM
179542010-08-20 Robert Millan <rmh@gnu.org>
17955
17956 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17957 a separate module and maybe other interesting combinations.
17958
17959 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17960 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17961 (kfreebsd_entry): Add generic filesystem module load routine.
17962 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17963
63c734a6
CW
179642010-08-20 Colin Watson <cjwatson@ubuntu.com>
17965
17966 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17967 "numcenter" (I misunderstood the purpose of this entry).
17968 * docs/grub.texi (sendkey): Likewise.
17969
c4d16542
CW
179702010-08-20 Colin Watson <cjwatson@ubuntu.com>
17971
17972 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17973 status flag options; simply omitting the option is equivalent and
17974 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17975 (keysym_table): Rename "num5numlock" to "numlock".
17976 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17977 can uniformly say that only the last of multiple `sendkey'
17978 invocations has any effect.
17979 * docs/grub.texi (sendkey): New section.
17980
93541d66
CW
179812010-08-19 Colin Watson <cjwatson@ubuntu.com>
17982
17983 * commands/i386/pc/sendkey.c (options): Fix three typos.
17984
b4ece5e1
VS
179852010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Implement sendkey support.
17988
17989 * commands/i386/pc/sendkey.c: New file.
17990 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17991 (sendkey_mod_SOURCES): New variable.
17992 (sendkey_mod_CFLAGS): Likewise.
17993 (sendkey_mod_LDFLAGS): Likewise.
17994
51f1f5af
CW
179952010-08-18 Colin Watson <cjwatson@ubuntu.com>
17996
17997 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17998 fix warnings from Autoconf.
17999
9da94e05
CW
180002010-08-18 Colin Watson <cjwatson@ubuntu.com>
18001
18002 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18003 to avoid false positives with some assemblers that output things
18004 like "someprefix_func" as part of their output.
18005
729a0f2e
RM
180062010-08-15 Robert Millan <rmh@gnu.org>
18007
18008 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18009 errors.
18010 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18011 grub_get_libzfs_handle() errors.
18012
f3710e08
RM
180132010-08-14 Robert Millan <rmh@gnu.org>
18014
18015 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18016 filesystem is not ZFS.
18017
7a3c13de
BC
180182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18019
18020 Fix for misspelled color names defaulting to black/black (bug
18021 reported by Doug Nazar)
18022
18023 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18024 status to prototype.
18025 * normal/color.c (grub_parse_color_name_pair): Return failure
18026 status.
18027 (grub_env_write_color_normal): Ignore bad color names.
18028 (grub_env_write_color_highlight): Likewise.
18029 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18030
ab8ba50d
BC
180312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18032
18033 "shift" command support to GRUB script.
18034
18035 * include/grub/script_sh.h (grub_script_shift): New prototype.
18036 * script/execute.c (grub_script_shift): New function.
18037 * script/main.c (grub_script_init): Register shift command.
18038 (grub_script_fini): Unregister shift command.
18039 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18040
18041 * tests/grub_script_shift.in: New testcase.
18042 * conf/tests.rmk: Rules for new testcase.
18043
4d61999e
BC
180442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18045
18046 "continue" command support to GRUB script.
18047
18048 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18049 (grub_script_break): Continue support.
18050 * script/main.c (grub_script_init): Register continue command.
18051 (grub_script_fini): Unregister continue command.
18052
18053 * tests/grub_script_continue.in: New testcase.
18054 * conf/tests.rmk: Rules for new testcase.
18055
4df51e00
BC
180562010-08-12 BVK Chaitanya <bvk@dbook>
18057
18058 "break" command support to GRUB script.
18059
18060 * conf/common.rmk: Rule updates to grub-script-check.
18061 * include/grub/misc.h (grub_min): New function.
18062 * include/grub/script_sh.h (grub_script_init): New prototype.
18063 (grub_script_fini): New prototype.
18064 (grub_script_break): New prototype.
18065 * script/main.c (grub_script_init): New function.
18066 (grub_script_fini): New function.
18067 * script/execute.c (grub_script_break): New function.
18068 * normal/main.c: Calls to grub_script_{init,fini}.
18069 * util/grub-script-check.c (grub_script_break): New function.
18070
18071 * tests/grub_script_break.in: New testcase.
18072 * conf/tests.rmk: Rules for new test case.
18073
f12c8420
BC
180742010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18075
18076 Function parameters support to GRUB script.
18077
18078 * script/yylex.l (VARIABLE): Regular expression update.
18079 * script/function.c (grub_script_function_call): Moved ...
18080 * script/execute.c (grub_script_function_call): ... to here.
18081 (grub_script_execute_arglist_to_argv): Removed.
18082 (grub_script_arglist_to_argv): New function.
18083 * script/argv.c: New file.
18084 (grub_script_argv_free): New function.
18085 (grub_script_argv_next): Likewise.
18086 (grub_script_argv_append): Likewise.
18087 (grub_script_argv_split_append): Likewise.
18088 * include/grub/script_sh.h (grub_script_argv): New struct.
18089 (grub_script_argv_free): New function.
18090 (grub_script_argv_next): Likewise.
18091 (grub_script_argv_append): Likewise.
18092 (grub_script_argv_split_append): Likewise.
18093
18094 * conf/common.rmk (normal.mod): New source script/argv.c.
18095
18096 * tests/grub_script_echo1.in: More tests.
18097 * tests/grub_script_vars1.in: Likewise.
18098 * tests/grub_script_functions.in: New test case.
18099 * conf/tests.rmk: Rules for new testcase.
18100
8022b748
BC
181012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18102
18103 Remove grub_script_cmdblock struct.
18104
18105 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18106 * script/parser.y: Likewise.
18107 * script/execute.c: Rename cmdblock suffix to cmdlist.
18108 * script/script.c: Likewise.
18109 * util/grub-script-check.c: Likewise.
18110
79a6ba61
YB
181112010-08-11 Yves Blusseau <blusseau@zetam.org>
18112
18113 * .bzrignore: add grub-macho2img
18114
d04b9414
VS
181152010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18118
f947ab49
VS
181192010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 Remove the dump of sm712 initialisation sequence.
18122
18123 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18124 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18125 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18126 (GRUB_VGA_CR_*): Added many registers.
18127 (GRUB_VGA_SR_*): Likewise.
18128 (GRUB_VGA_GR_*): Likewise.
18129 (grub_vga_write_arx): New function.
18130 (grub_video_hw_config): New struct.
18131 (grub_vga_set_geometry): New function.
18132 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18133 GRUB_PCI_CLASS_SUBCLASS_VGA.
18134 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18135 * video/sm712.c (grub_sm712_write_reg): New function
18136 (grub_sm712_read_reg): Likewise.
18137 (grub_sm712_sr_write): Likewise.
18138 (grub_sm712_gr_write): Likewise.
18139 (grub_sm712_cr_write): Likewise.
18140 (grub_sm712_write_arx): Likewise.
18141 (grub_sm712_cr_shadow_write): Likewise.
18142 (grub_sm712_write_dda_lookup): Likewise.
18143 (grub_video_sm712_setup): Initialise the video rather then
18144 blindly replay the dump.
18145 (main) [TEST]: Add a routine to be able to compile as standalone for
18146 tests.
18147 * video/sm712_init.c (sm712_init): Removed.
18148 (sm712_sr_seq1): New array.
18149 (sm712_sr_seq2): Likewise.
18150
f0206638
VS
181512010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 * include/grub/vga.h: Add missing grub/pci.h include.
18154
2764da3b
YB
181552010-08-10 Yves Blusseau <blusseau@zetam.org>
18156
18157 * util/grub-macho2img.c (main): fix typo
18158
cf0c775e
VS
181592010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18162 (grub_vga_gr_read): Likewise.
18163 (grub_vga_cr_write): Likewise.
18164 (grub_vga_cr_read): Likewise.
18165 (grub_vga_sr_write): Likewise.
18166 (grub_vga_sr_read): Likewise.
18167 (grub_vga_palette_read): Likewise.
18168 (grub_vga_palette_write): Likewise.
18169 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18170 (grub_sm712_sr_read): New function.
18171 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18172 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18173
07f360e9
RM
181742010-08-09 Robert Millan <rmh@gnu.org>
18175
18176 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18177 out unused variables on non-ZFS build.
18178
346c2072
RM
181792010-08-08 Robert Millan <rmh@gnu.org>
18180
18181 Fix path generation for sub-filesystems in ZFS.
18182
18183 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18184 missing slash.
18185
71175420
RM
181862010-08-08 Robert Millan <rmh@gnu.org>
18187
18188 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18189
0d8286f3
RM
181902010-08-08 Robert Millan <rmh@gnu.org>
18191
18192 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18193 exist, issue a proper error message (rely on `ls' for translated
18194 strings).
18195
55dd2924
RM
181962010-08-08 Robert Millan <rmh@gnu.org>
18197
18198 Fix grub-probe invocation.
18199
18200 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18201
d3dd9e80
RM
182022010-08-04 Robert Millan <rmh@gnu.org>
18203
18204 * configure.ac: Remove checks for getfsstat() and getmntany().
18205 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18206 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18207 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18208 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18209 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18210 function.
18211 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18212 via find_mount_point_from_dir() and getfsstat() / getmntany().
18213
0de22aa9
RM
182142010-08-04 Robert Millan <rmh@gnu.org>
18215
18216 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18217 (grub_find_zpool_from_mount_point): Merge into ...
18218 (grub_find_zpool_from_dir): ... this.
18219 * kern/emu/misc.c: Likewise.
18220
18221 * kern/emu/misc.c
18222 (grub_make_system_path_relative_to_its_root): Replace
18223 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18224 with grub_find_zpool_from_dir().
18225 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18226
62858144
RM
182272010-08-04 Robert Millan <rmh@gnu.org>
18228
18229 Support OpenSolaris in ZFS device resolution.
18230
18231 * configure.ac: Check for getmntany().
18232 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18233 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18234 support.
18235
9dd6fd50
RM
182362010-08-03 Robert Millan <rmh@gnu.org>
18237
18238 Fix grub-emu build.
18239
18240 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18241 * include/grub/emu/misc.h: ... here.
18242
18243 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18244 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18245
18246 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18247 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18248 (grub_get_libzfs_handle): Move to ...
18249 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18250 (grub_get_libzfs_handle): ... here.
18251
c9f7ff97
BC
182522010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18253
18254 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18255 as command name case.
18256
a870a783
CW
182572010-08-02 Colin Watson <cjwatson@ubuntu.com>
18258
18259 * disk/raid.c (insert_array): Select unique numbers for named arrays
18260 as well, for use as keys in the disk cache.
18261
c7db243b
RM
182622010-08-01 Robert Millan <rmh@gnu.org>
18263
18264 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18265 kFreeBSD device name, except on ZFS where the filesystem label is
18266 used.
18267 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18268 `/boot/zfs/zpool.cache'.
18269 Set mountfrom kernel variable using ${kfreebsd_device}.
18270
f7abdefb
RM
182712010-08-01 Robert Millan <rmh@gnu.org>
18272
18273 Make it even harder to use uninitialized `libzfs_handle' (and
18274 make the interface a bit simpler).
18275
18276 * include/grub/util/misc.h (grub_util_init_libzfs)
18277 (libzfs_handle): Remove.
18278 (grub_get_libzfs_handle): New prototype.
18279
18280 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18281 attribute.
18282 (grub_util_init_libzfs): Remove.
18283 (grub_get_libzfs_handle): New function.
18284
18285 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18286 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18287 accessing `libzfs_handle' directly.
18288
c882acc0
RM
182892010-08-01 Robert Millan <rmh@gnu.org>
18290
18291 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18292 (grub_find_zpool_from_mount_point): New function prototypes.
18293
18294 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18295 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18296
18297 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18298 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18299 `static' attribute.
18300
18301 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18302 finding zpool from mount point into ...
18303 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18304
18305 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18306 requested path is part of a ZFS pool, use
18307 grub_find_zpool_from_mount_point() to detect its filesystem name,
18308 and generate a path with `/fsname@path' syntax.
18309
8bfe31d8
CW
183102010-08-01 Colin Watson <cjwatson@ubuntu.com>
18311
18312 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18313 (void) rather than () so that this is a proper prototype.
18314
553df63d
VS
183152010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18318
8687cf07
VS
183192010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18322 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18323
ea9be8ea
CW
183242010-08-01 Colin Watson <cjwatson@ubuntu.com>
18325
18326 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18327
6eea041a
CW
183282010-08-01 Colin Watson <cjwatson@ubuntu.com>
18329
18330 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18331
2cfb45df
CW
183322010-08-01 Colin Watson <cjwatson@ubuntu.com>
18333
18334 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18335 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18336 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18337 disable gfxpayload.
18338 (Shell-like scripting): Add real content.
18339 (Serial terminal): Suggest `terminal_input serial; terminal_output
18340 serial' rather than putting the two commands on separate lines,
18341 since console input will be inoperative after the first command.
18342 (menuentry): Document --class, --users, and --hotkey options.
18343 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18344 Vladimir Serbinenko).
18345
7decd202
VS
183462010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
183472010-08-01 Colin Watson <cjwatson@ubuntu.com>
18348
18349 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18350
c882acc0
RM
183512010-08-01 Robert Millan <rmh@gnu.org>
18352
18353 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18354 (grub_find_zpool_from_mount_point): New function prototypes.
18355
18356 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18357 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18358
18359 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18360 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18361 `static' attribute.
18362
18363 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18364 finding zpool from mount point into ...
18365 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18366
18367 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18368 requested path is part of a ZFS pool, use
18369 grub_find_zpool_from_mount_point() to detect its filesystem name,
18370 and generate a path with `/fsname@path' syntax.
18371
deb0caa3
RM
183722010-08-01 Robert Millan <rmh@gnu.org>
18373
18374 Prevent accidental use of uninitialized libzfs_handle.
18375
18376 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18377 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18378 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18379
ce04ef47
CW
183802010-08-01 Colin Watson <cjwatson@ubuntu.com>
18381
18382 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18383 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18384
ebf53056
RM
183852010-08-01 Robert Millan <rmh@gnu.org>
18386
18387 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18388
3710bb6b
RM
183892010-07-31 Robert Millan <rmh@gnu.org>
18390
18391 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18392
8072efeb
RM
183932010-07-31 Robert Millan <rmh@gnu.org>
18394
18395 * kern/emu/misc.c: Add missing license header.
18396
3169f4c7
RM
183972010-07-31 Robert Millan <rmh@gnu.org>
18398
18399 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18400
18401 * include/grub/util/libnvpair.h: Include `<config.h>'.
18402 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18403 declaring libnvpair prototypes ourselves.
18404 * include/grub/util/libzfs.h: Include `<config.h>'.
18405 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18406 declaring libzfs prototypes ourselves.
18407
18408 (libzfs_handle): Moved to ...
18409 * include/grub/util/misc.h (libzfs_handle): ... here.
18410 Include `<grub/util/libzfs.h>'.
18411
c9a00aee
RM
184122010-07-30 Robert Millan <rmh@gnu.org>
18413
18414 * include/grub/emu/misc.h: Add missing license header.
18415
a184f9c8
RM
184162010-07-30 Robert Millan <rmh@gnu.org>
18417
18418 Enable `grub-probe -t device' resolution on ZFS.
18419
18420 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18421 * include/grub/util/libnvpair.h: New file.
18422 * include/grub/util/libzfs.h: New file.
18423
18424 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18425 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18426 `<grub/util/libnvpair.h>'.
18427 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18428
18429 (find_mount_point_from_dir): New static function.
18430 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18431 function.
18432 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18433 find_root_device_from_libzfs() before ressorting to find_root_device().
18434
18435 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18436 prototype.
18437 * util/misc.c: Include `<grub/util/libzfs.h>'.
18438 (grub_util_init_libzfs): New function.
18439 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18440 [HAVE_LIBZFS] (fini_libzfs): New static function.
18441 (grub_util_init_libzfs): New function.
18442 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18443
f7790cdd
RM
184442010-07-30 Robert Millan <rmh@gnu.org>
18445
18446 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18447 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18448 `warn_unused_result' attribute.
18449 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18450 (grub_xasprintf, grub_xvasprintf): Likewise.
18451 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18452
0806b63c
RM
184532010-07-29 Robert Millan <rmh@gnu.org>
18454
18455 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18456 (probe): Handle `PRINT_FS_LABEL'.
18457 (main): Handle `-t fs_label'.
18458
9f841f5c
RM
184592010-07-29 Robert Millan <rmh@gnu.org>
18460
18461 * configure.ac: Remove grub-mkisofs checks.
18462
46371121
VS
184632010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18466 Reported by: Lennart Sorensen.
18467
184682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18471 prior to terminal_input/terminal_output separation. It's been over 1.5
18472 years and those versions weren't widely deployed.
18473
a9600892
CW
184742010-07-22 Colin Watson <cjwatson@ubuntu.com>
18475
18476 * disk/raid.c (insert_array): Don't count named arrays when looking
18477 for unused array numbers.
697e053c 18478 Reported and tested by: Michael Guntsche.
a9600892 18479
c03507df
CW
184802010-07-20 Colin Watson <cjwatson@ubuntu.com>
18481
18482 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18483 implementation of this so that grub-emu links again, with a note
18484 that this should support hotplugging in the future.
18485
b26f1c11
CW
184862010-07-20 Colin Watson <cjwatson@ubuntu.com>
18487
18488 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18489
efc9d7f1
CW
184902010-07-20 Colin Watson <cjwatson@ubuntu.com>
18491
18492 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18493 handle on failure.
18494 (grub_loopback_close): Remove empty function.
18495 (grub_loopback_dev): Remove close method.
18496
dd8ff5c9
CW
184972010-07-20 Colin Watson <cjwatson@ubuntu.com>
18498
18499 Disable EFI cursor when the EFI console becomes inactive.
18500
18501 * term/efi/console.c (grub_efi_console_init): New function.
18502 (grub_efi_console_fini): New function.
18503 (grub_console_term_output): Register init and fini methods.
18504
5e3bec67
VS
185052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18506
18507 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18508 sh script.
18509
afaec079
VS
185102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18511
18512 * disk/loopback.c (grub_loopback): Replace filename with file.
18513 (delete_loopback): Handle new semantics.
18514 (grub_cmd_loopback): Likewise.
18515 (grub_loopback_iterate): Likewise.
18516 (grub_loopback_close): Likewise.
18517
a6a11f3c
VS
185182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18521 with -p "".
18522 Reported by: Tito Keitel.
18523
64a638b0
VS
185242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * docs/grub.texi (Naming convention): Document new naming convention.
18527
ab8ba957
VS
185282010-07-20 Vadim Solomin <vadic052@gmail.com>
185292010-07-20 Colin Watson <cjwatson@ubuntu.com>
18530
18531 Generate device.map in something closer to the old ordering.
18532
18533 * util/deviceiter.c (struct device): New declaration.
18534 (compare_file_names): Rename to ...
18535 (compare_devices): ... this. Sort by kernel name in preference to
18536 the stable by-id name, but keep the latter as a fallback comparison.
18537 Update header comment.
18538 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18539 of `struct device' rather than of plain file names.
18540
a29d6a4b
TF
185412010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18542
18543 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18544 on i386.
18545
39d824e8
VS
185462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18549 hardcoding size.
18550 (setv1table): Likewise.
18551
f058276b
FZ
185522010-07-20 Colin Watson <cjwatson@ubuntu.com>
18553
18554 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18555 removing the homehost if present.
18556 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18557 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18558 removing the homehost if present.
18559 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18560 if possible.
18561 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18562
18563 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18564 parameter. Set its pointer target to 0.
18565 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18566 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18567 `data_offset' value from the superblock for 1.x metadata.
18568 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18569 data on the device.
18570 (insert_array): Record the start sector of data on the device.
18571 (grub_raid_register): Pass start_sector parameters to
18572 grub_raid_list->detect and insert_array.
18573 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18574 member.
18575 (struct grub_raid): Add start_sector parameter to `detect'.
18576
18577 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18578 __attribute__ ((packed)), leaving a comment.
18579 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18580 (grub_mdraid_detect_09): ... here and ...
18581 (grub_mdraid_detect_1x): ... here.
18582
185832010-07-20 Peter Henn <peter.henn@web.de>
18584
18585 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18586 chunk size and disk size, which are already given as sector counts
18587 as distinct from the 0.90 units. Fetch the correct device number
18588 from the role table instead of using the table index.
18589
185902010-07-20 Felix Zielcke <fzielcke@z-51.de>
18591
18592 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18593 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18594 (WriteMostly1): New macro.
18595 Set array->name to NULL for metadata format 0.90. Add support for
18596 metadata 1.x. Fix some comments.
18597 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18598 few comments.
18599 * util/getroot.c (grub_util_get_grub_dev): Add support for
18600 /dev/md/name style devices.
18601
4b761da9
CW
186022010-07-20 Colin Watson <cjwatson@ubuntu.com>
18603
18604 * .bzrignore: Ignore 20_linux_xen.
18605
5771289a
CW
186062010-07-17 Colin Watson <cjwatson@ubuntu.com>
18607
18608 * util/import_unicode.py: Remove unnecessary imports.
18609
5dab68df
AN
186102010-07-17 Aleš Nesrsta <starous@volny.cz>
18611
18612 Hotplugging and USB hub support.
18613
18614 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18615 (grub_ohci): Likewise.
18616 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18617 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18618 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18619 (GRUB_OHCI_CTRL_EDS): Likewise.
18620 (GRUB_OHCI_BULK_EDS): Likewise.
18621 (GRUB_OHCI_TDS): Likewise.
18622 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18623 (grub_ohci_ed_phys2virt): New function.
18624 (grub_ohci_virt_to_phys): Likewise.
18625 (grub_ohci_td_phys2virt): Likewise.
18626 (grub_ohci_td_virt2phys): Likewise.
18627 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18628 attachment.
18629 (grub_ohci_find_ed): New function.
18630 (grub_ohci_alloc_td): Likewise.
18631 (grub_ohci_free_td): Likewise.
18632 (grub_ohci_free_tds): Likewise.
18633 (grub_ohci_transfer): Use previously allocated memory.
18634 (grub_ohci_portstatus): Reset status changed bit.
18635 (grub_ohci_detect_dev): Supply status changed.
18636 (grub_ohci_fini_hw): Free memory.
18637 (grub_ohci_restore_hw): Reallocate memory.
18638 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18639 Reset status change.
18640 (grub_uhci_detect_dev): Supply status_change.
18641 * bus/usb/usb.c (attach_hooks): New var.
18642 (grub_usb_device_attach): New function.
18643 (grub_usb_register_attach_hook_class): Likewise.
18644 (grub_usb_unregister_attach_hook_class): Likewise.
18645 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18646 (grub_usb_add_hub): Reset connection changed bit.
18647 (attach_root_port): New function.
18648 (grub_usb_root_hub): Likewise.
18649 (poll_nonroot_hub): Likewise.
18650 (grub_usb_poll_devices): Likewise.
18651 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18652 * disk/usbms.c (grub_usbms_open): Use device hooks.
18653 (grub_usbms_iterate) :Poll devices.
18654 (grub_usbms_finddevs): Split into ...
18655 (grub_usbms_attach): ... this ...
18656 (grub_usbms_attach): ... and this.
18657 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18658 in detect_dev.
18659 (grub_usb_interface): New fields attached and detach_hook.
18660 (grub_usb_attach_hook_class): New type.
18661 (grub_usb_attach_desc): New struct.
18662 (grub_usb_register_attach_hook_class): New function.
18663 (grub_usb_unregister_attach_hook_class): Likewise.
18664 (grub_usb_poll_devices): Likewise.
18665 (grub_usb_device_attach): Likewise.
18666 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18667 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18668
3222efaf
VS
186692010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18672 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18673 delta determination style. Works with most NetBSD partitions too.
18674
139b714a
VS
186752010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18676
18677 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18678 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18679
986aad56
VS
186802010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18681
18682 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18683
99be513c
AB
186842010-07-14 Anton Blanchard <anton@samba.org>
18685
18686 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18687 ET_DYN files.
18688
18075f62
GS
186892010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18690
18691 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18692
8d9a5b15
GS
186932010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18694
18695 * kern/partition.c (grub_partition_check_containment): New function to
18696 check that a partition is physically contained in a parent. Since
18697 offsets are relative (and non-negative), this reduces to checking that
18698 the partition ends before its parent.
18699 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18700 (grub_partition_iterate): Likewise.
18701 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18702 comments.
18703 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18704 partitions that start before their parent, and add debug printfs.
18705
19563c25
CW
187062010-07-13 Colin Watson <cjwatson@ubuntu.com>
18707
18708 * Makefile.in (.SUFFIX): Spell correctly, as ...
18709 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18710 bare module name without `.mod', e.g. `test') tried to invoke a
18711 Modula-2 compiler.
18712
1a1f1e67
CW
187132010-07-13 Colin Watson <cjwatson@ubuntu.com>
18714
18715 * README: Point to the Info manual.
18716
811b0dca
JS
187172010-07-13 Jiro SEKIBA <jir@unicus.jp>
18718
18719 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18720 2nd superblock position from partition size.
18721
e4f4eafc
CW
187222010-07-10 Colin Watson <cjwatson@ubuntu.com>
18723
18724 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18725 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18726 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18727 outputs.
18728
4274c30f
VS
187292010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 Restructure SCSI .id handling.
18732 Reported and tested by: Aleš Nesrsta.
18733
18734 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18735 (grub_atapi_dev): Changed .name to "ata". New field .id.
18736 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18737 (grub_usbms_dev): New field .id.
18738 * disk/scsi.c (grub_scsi_iterate): Generate name.
18739 (grub_scsi_open): Parse name.
18740 * include/grub/scsi.h (grub_make_scsi_id): New function.
18741 (grub_scsi_dev): Change iterate and open to number instead of naming
18742 busses. All users updated.
18743 (grub_scsi): Remove name. Add .bus.
18744
5bc24388
VS
187452010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18746
18747 * commands/help.c (grub_cmd_help): Fix a typo.
18748
249975ba
VS
187492010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18752 Reported and tested by: Colin Watson.
18753
3eaac1a1
VS
187542010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18757 in this context.
18758
becce1b1
VS
187592010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18762
f7bf0918
CW
187632010-07-07 Colin Watson <cjwatson@ubuntu.com>
18764
18765 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18766 indentation.
18767
0b0f9620
CW
187682010-07-06 Colin Watson <cjwatson@ubuntu.com>
18769
18770 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18771 and disk/raid6_recover.c.
18772 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18773 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18774
1e545469
CW
187752010-07-06 Colin Watson <cjwatson@ubuntu.com>
18776
18777 * term/gfxterm.c (repaint_schedulded): Rename to ...
18778 (repaint_scheduled): ... this. Update all callers.
18779 (repaint_was_schedulded): Rename to ...
18780 (repaint_was_scheduled): ... this. Update all callers.
18781
5357687a
CW
187822010-07-06 Colin Watson <cjwatson@ubuntu.com>
18783
18784 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18785 which we expect to be handled by upper layers.
18786
29d7e783
BC
187872010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18788
18789 * bus/usb/usbhub.c: #include time.h header.
18790
37582066
CW
187912010-07-06 Colin Watson <cjwatson@ubuntu.com>
18792
18793 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18794 entry_name also for entries without stat blocks (e.g. ".."); fixes
18795 corruption of the first entry in a directory.
18796
c8c06953
CW
187972010-07-06 Colin Watson <cjwatson@ubuntu.com>
18798
18799 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18800 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18801 doesn't work otherwise.
18802
e75056f1
CW
188032010-07-05 Colin Watson <cjwatson@ubuntu.com>
18804
18805 * docs/grub.texi (Features): Update list of supported file systems.
18806 (GNU/Linux): Update for GRUB 2.
18807 (Serial terminal): Remove mention of --disable-serial, which was a
18808 GRUB Legacy configure option. Update instructions to use
18809 `terminal_input' and `terminal_output' rather than `terminal'.
18810 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18811 configuration' and `Installing GRUB using grub-install'.
18812 (Menu entry editor): Update for GRUB 2.
18813 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18814 Document new -a, -u, and -v options.
18815 (initrd): New section.
18816 (initrd16): New section.
18817 (linux): New section.
18818 (linux16): New section.
18819 (search): The `var' argument to `--set' is optional.
18820 (GRUB only offers a rescue shell): Go into a little more detail on
18821 drive ordering.
18822
5cf69151
CW
188232010-07-05 Colin Watson <cjwatson@ubuntu.com>
18824
18825 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18826
e3f90044
CW
188272010-07-05 Colin Watson <cjwatson@ubuntu.com>
18828
18829 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18830 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18831
38d8f4f3
CW
188322010-07-05 Colin Watson <cjwatson@ubuntu.com>
18833
18834 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18835 install_prefix, in line with install_dos_part and install_bsd_part.
18836 Add new prefix variable, which is copied to install_prefix after
18837 comparing core.img in memory with the one read from disk in the
18838 no-embedding case, and use that rather than overwriting
18839 install_prefix immediately when installing to a partition.
18840 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18841 Bicakci.
18842
57ebd41e
GS
188432010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18844
18845 * configure.ac: Avoid == in test command, it's not portable.
18846 * util/grub.d/30_os-prober.in: Likewise.
18847
cb7f64b2
CW
188482010-07-04 Colin Watson <cjwatson@ubuntu.com>
18849
18850 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18851
6b654bb0
GS
188522010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18853
18854 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18855 multiple (top-level) partmaps.
18856
72a2026d
VS
188572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18860 Reported by: Tino Keitel.
72a2026d 18861
df3eb88f
VS
188622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 Bidi and diacritics support.
18865
18866 * Makefile.in (widthspec.bin): New target.
18867 (widthspec.h): Likewise.
18868 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18869 * autogen.sh: Generate unidata.c.
18870 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18871 * commands/ls.c (grub_ls_list_devices): Likewise.
18872 (grub_ls_list_files): Likewise.
18873 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18874 (grub_mini_cmd_lsmod): Likewise.
18875 * commands/read.c: Likewise.
18876 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18877 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18878 * lib/arg.c (grub_arg_show_help): Likewise.
18879 * lib/crypto.c (grub_password_get): Likewise.
18880 * normal/auth.c (grub_username_get): Likewise.
18881 * normal/misc.c (grub_normal_print_device_info): Likewise.
18882 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18883 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18884 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18885 (normal/charset.c_DEPENDENCIES): New variable.
18886 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18887 (pkglib_MODULES): Remove charset.mod.
18888 (charset_mod_SOURCES): Removed.
18889 (charset_mod_CFLAGS): Likewise.
18890 (charset_mod_LDFLAGS): Likewise.
18891 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18892 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18893 and term/tparm.c.
18894 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18895 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18896 (kernel_img_HEADERS): Add terminfo.h.
18897 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18898 Fill ->font. Reverse ascii bitmaps.
18899 (grub_font_get_xheight): New function.
18900 * font/font.c (grub_font_get_string_width): Moved from here ...
18901 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18902 * font/font.c (grub_font_draw_string): Moved from here ...
18903 * gfxmenu/font.c (grub_font_draw_string): ... here.
18904 * font/font.c (grub_font_dup_glyph): New function.
18905 (grub_font_blit_glyph): Likewise.
18906 (grub_font_blit_glyph_mirror): Likewise.
18907 (blit_comb): Likewise.
18908 (grub_font_construct_dry_run): Likewise.
18909 (grub_font_get_constructed_device_width): Likewise.
18910 (grub_font_construct_glyph): Likewise.
18911 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18912 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18913 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18914 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18915 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18916 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18917 (grub_font_get_xheight): New proto.
18918 (grub_font_get_constructed_device_width): Likewise.
18919 (grub_font_construct_glyph): Likewise.
18920 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18921 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18922 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18923 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18924 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18925 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18926 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18927 (grub_console_getcharwidth): Likewise.
18928 * include/grub/misc.h (grub_xputs): New proto.
18929 (grub_puts): Inlined.
18930 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18931 (grub_normal_get_line_counter): Removed.
18932 (grub_install_newline_hook): Likewise.
18933 (grub_normal_get_char_counter): New proto.
18934 (grub_normal_reset_more): Likewise.
18935 (grub_xputs_normal): Likewise.
18936 * include/grub/powerpc/ieee1275/console.h: Removed.
18937 * include/grub/sparc64/ieee1275/console.h: Likewise.
18938 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18939 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18940 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18941 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18942 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18943 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18944 (grub_term_input): Pass reference to self. All users updated.
18945 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18946 Pass reference to self. New fields normal_color, highlight_color and
18947 data. All users updated.
18948 (grub_putchar): Removed.
18949 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18950 (grub_unicode_estimate_width): New function.
18951 (grub_term_getcharwidth): Add defaults.
18952 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18953 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18954 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18955 (grub_cls): Remove EXPORT_FUNC.
18956 (grub_setcolorstate): Inline.
18957 (grub_newline_hook): Removed.
18958 * include/grub/terminfo.h: Rewritten. All users updated.
18959 * include/grub/unicode.h: New file.
18960 * include/grub/video.h (grub_video_signed_rect): New type.
18961 * kern/emu/console.c (grub_console_highlight_color): Removed.
18962 (grub_console_normal_color): Likewise.
18963 (grub_console_standard_color): Made static.
18964 (grub_ncurses_putchar): Remove mapping.
18965 (grub_ncurses_getcharwidth): Removed.
18966 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18967 (grub_ncurses_setcolor): Removed.
18968 (grub_ncurses_getcolor): Likewise.
18969 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18970 (grub_console_putchar): ... this.
18971 (grub_console_putchar): Handle argument difference.
18972 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18973 console_init_early and console_init_lately.
18974 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18975 * kern/misc.c (grub_puts): Removed.
18976 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18977 (grub_vsnprintf_real): Remove str = NULL support.
18978 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18979 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18980 * kern/term.c (grub_putcode): Renamed to ...
18981 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18982 (grub_putchar): Removed.
18983 (grub_xputs_dumb): New function.
18984 (grub_xputs): New variable.
18985 * lib/charset.c: Move from here ...
18986 * normal/charset.c: ... to here.
18987 (grub_ucs4_to_utf8): New function.
18988 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18989 (join_types): New variable.
18990 (unpack_join): New function.
18991 (bidi_types): New variable.
18992 (unpack_bidi): New function.
18993 (get_bidi_type): Likewise.
18994 (get_join_type): Likewise.
18995 (is_mirrored): Likewise.
18996 (grub_unicode_get_comb_type): Likewise.
18997 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18998 (is_type_after): Likewise.
18999 (grub_unicode_aglomerate_comb): Likewise.
19000 (bidi_line_wrap): Likewise.
19001 (grub_bidi_line_logical_to_visual): Likewise.
19002 (grub_bidi_logical_to_visual): Likewise.
19003 (grub_unicode_mirror_code): Likewise.
19004 (grub_unicode_shape_code): Likewise.
19005 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19006 Don't use grub_putchar.
19007 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19008 (grub_normal_reader_init): Likewise.
19009 (grub_xputs_saved): New variable.
19010 (GRUB_MOD_INIT): Set grub_xputs.
19011 (GRUB_MOD_FINI): Restore grub_xputs.
19012 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19013 (menu_init): Avoid printing gfxmenu error.
19014 (show_menu): Use grub_normal_get_char_counter.
19015 * normal/menu_entry.c (update_screen): Fix out-of-array.
19016 (complete): Avoid NULL dereferencing.
19017 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19018 * normal/menu_text.c (print_spaces): Removed.
19019 (grub_print_ucs4): Likewise.
19020 (grub_print_message_indented): Use grub_print_ucs4.
19021 (print_message): Use grub_putcode.
19022 (print_entry): Hanlde diacritics.
19023 * normal/term.c (term_state): New type.
19024 (grub_more_lines): Removed.
19025 (term_states): New variable.
19026 (grub_normal_line_counter): Renamed to ..
19027 (grub_normal_char_counter): ...this. All users updated.
19028 (grub_normal_get_line_counter): Renamed to ...
19029 (grub_normal_get_char_counter): ... this.
19030 (grub_normal_reset_more): New function.
19031 (process_newline): Removed.
19032 (print_more): New function.
19033 (grub_install_newline_hook): Removed.
19034 (map_code): New function.
19035 (grub_puts_terminal): Use grub_print_ucs4.
19036 (putglyph): New function.
19037 (putcode_real): Likewise.
19038 (grub_putcode): Use putcode_real.
19039 (get_maxwidth): New function.
19040 (get_startwidth): Likewise.
19041 (print_ucs4_terminal): Likewise.
19042 (find_term_state): Likewise.
19043 (put_glyphs_terminal): Likewise.
19044 (print_backlog): Likewise.
19045 (print_ucs4_real): Likewise.
19046 (grub_print_ucs4): Likewise.
19047 (grub_xputs_normal): Likewise.
19048 * term/efi/console.c (grub_console_putchar): Output diacritics.
19049 (grub_console_getcharwidth): Removed.
19050 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19051 * term/gfxterm.c (clear_char): Free chars.
19052 (scroll_up): Avoid leaking memory.
19053 (grub_gfxterm_putchar): Support diacritics.
19054 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19055 * term/i386/pc/console.c (grub_console_term_output): Declare as
19056 GRUB_TERM_CODE_TYPE_VGA.
19057 * term/i386/pc/vga.c (grub_vga_term): Declare as
19058 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19059 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19060 GRUB_TERM_CODE_TYPE_VGA.
19061 * term/i386/vga_common.c (map_char): Removed.
19062 (grub_console_putchar): Likewise.
19063 (grub_console_getcharwidth): Likewise.
19064 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19065 (colors): Reordered to match terminfo.
19066 (grub_ofconsole_normal_color): Removed.
19067 (grub_ofconsole_writeesc): Likewise.
19068 (grub_ofconsole_highlight_color): Likewise.
19069 (grub_ofconsole_getcharwidth): Likewise.
19070 (grub_ofconsole_setcolorstate): Likewise.
19071 (grub_ofconsole_setcolor): Likewise.
19072 (grub_ofconsole_getcolor): Likewise.
19073 (grub_ofconsole_readkey): Renamed to ...
19074 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19075 key.
19076 (grub_ofconsole_checkkey): Removed.
19077 (grub_ofconsole_getkey): Likewise.
19078 (grub_ofconsole_getxy): Likewise.
19079 (grub_ofconsole_gotoxy): Likewise.
19080 (grub_ofconsole_cls): Likewise.
19081 (grub_ofconsole_refresh): Likewise.
19082 (grub_ofconsole_terminfo_input): New struct.
19083 (grub_ofconsole_terminfo_output): Likewise.
19084 (grub_ofconsole_term_input): Use terminfo.
19085 (grub_ofconsole_term_output): Likewise.
19086 (grub_console_init): Split into ...
19087 (grub_console_init_early): ...this and ...
19088 (grub_console_init_lately): ...this. Use terminfo.
19089 (grub_ofconsole_putchar): Renamed to ...
19090 (put): ... this. Remove mapping.
19091 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19092 * term/serial.c: Simplify using terminfo.
19093 (xpos): Removed.
19094 (ypos): Likewise.
19095 (keep_track): Likewise.
19096 (registered): Likewise.
19097 (input_buf): Likewise.
19098 (npending): Likewise.
19099 (serial_translate_key_sequence): Likewise.
19100 (fill_input_buf): Likewise.
19101 (grub_serial_checkkey): Likewise.
19102 (grub_serial_getkey): Likewise.
19103 (grub_serial_getxy): Likewise.
19104 (grub_serial_gotoxy): Likewise.
19105 (grub_serial_putchar): Likewise.
19106 (grub_serial_cls): Likewise.
19107 (grub_serial_setcolorstate): Likewise.
19108 (grub_serial_setcursor): Likewise.
19109 (serial_hw_init): Use serial_hw_fetch.
19110 (grub_serial_terminfo_input): New variable.
19111 (grub_serial_terminfo_output): Likewise.
19112 (grub_serial_term_input): Use terminfo.
19113 (grub_serial_term_output): Likewise.
19114 * term/terminfo.c (putstr): Use put.
19115 (grub_terminfo_all_free): New function
19116 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19117 (grub_terminfo_output_register): New function.
19118 (grub_terminfo_output_unregister): Likewise.
19119 (grub_terminfo_getxy): Likewise.
19120 (grub_terminfo_readkey): Likewise.
19121 (grub_terminfo_checkkey): Likewise.
19122 (grub_terminfo_getkey): Likewise.
19123 (grub_terminfo_input_init): Likewise.
19124 (print_terminfo): Likewise.
19125 (grub_cmd_terminfo): Handle encoding.
19126 (grub_terminfo_gotoxy): Track position.
19127 (grub_terminfo_cls): Likewise.
19128 (grub_terminfo_putchar): Likewise.
19129 (grub_terminfo_setcolorstate): Handle colors
19130 (grub_terminfo_cursor_on): This ...
19131 (grub_terminfo_cursor_off): ... and this merged into ...
19132 (grub_terminfo_setcursor): ... this.
19133 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19134 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19135 * unicode/BidiMirroring.txt: Likewise.
19136 * unicode/UnicodeData.txt: Likewise.
19137 * unicode/COPYING: Likewise.
19138 * util/grub-editenv.c (grub_putchar): Removed.
19139 (grub_xputs_real): New function.
19140 (grub_xputs): New variable.
19141 * util/grub-fstest.c (grub_putchar): Removed.
19142 (grub_xputs_real): New function.
19143 (grub_xputs): New variable.
19144 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19145 (grub_xputs_real): New function.
19146 (grub_xputs): New variable.
19147 * util/grub-probe.c (grub_putchar): Removed.
19148 (grub_xputs_real): New function.
19149 (grub_xputs): New variable.
19150 * util/grub-script-check.c (grub_putchar): Removed.
19151 (grub_xputs_real): New function.
19152 (grub_xputs): New variable.
19153 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19154 (grub_xputs_real): New function.
19155 (grub_xputs): New variable.
19156 * util/import_unicode.py: New file.
19157 * util/grub-mkfont.c (ft_errmsgs): New array.
19158 (grub_glyph_info): Make bitmap a pointer.
19159 (file_formats): New type WIDTH_SPEC.
19160 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19161 (options): Add width-spec.
19162 (help): Likewise.
19163 (add_char): Renamed to ...
19164 (add_glyph): ... this.
19165 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19166 (glyph_replace): New type.
19167 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19168 (add_char): New function.
19169 (add_subst): Likewise.
19170 (process_cursive): Likewise.
19171 (add_font): Handle GSUB.
19172 (write_font_width_spec): New function.
19173 (main): Sort glyphs.
19174 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19175 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19176 * kern/term.c (grub_cls): Moved from here...
19177 * normal/term.c (grub_cls): ... here.
19178
50f0bcda
CW
191792010-07-02 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19182 suitable for using within the format argument of printf when
19183 converting grub_size_t.
19184 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19185 "x" to convert grub_size_t arguments.
19186
40372103
VS
191872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19190 too long captions.
19191 (list_get_minimal_size): Take selection box into account.
19192
942a10c7
VS
191932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19196 NULL font.
19197
2bdb2892
CW
191982010-07-02 Colin Watson <cjwatson@ubuntu.com>
19199
19200 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19201 devices when iterating over /dev/disk/by-id; they will be handled
19202 later if appropriate, which they aren't always (e.g. LVM).
19203
e03ed6c1
CW
192042010-07-02 Colin Watson <cjwatson@ubuntu.com>
19205
19206 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19207 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19208 fails.
19209 (grub_halt): Likewise.
19210 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19211 reset-all fails.
19212 (grub_halt): Don't return, even if all of shut-down, power-off, and
19213 poweroff fail.
19214
47695765
CW
192152010-07-02 Colin Watson <cjwatson@ubuntu.com>
19216
19217 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19218 arguments, not three.
19219
507736c8
CW
192202010-07-02 Colin Watson <cjwatson@ubuntu.com>
19221
19222 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19223 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19224 LVM-on-RAID is handled correctly.
19225
e3c8cd37
CW
192262010-07-02 Colin Watson <cjwatson@ubuntu.com>
19227
19228 * docs/grub.texi (Changes from GRUB Legacy): New section.
19229 (Future): Fix typo.
19230
8d4a2fec
CW
192312010-07-02 Colin Watson <cjwatson@ubuntu.com>
19232
19233 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19234 grub.d/README accidentally ends up executable for one reason or
19235 another. Ignore it.
19236
1c4827be
VS
192372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19240 (gpt_partition_map_iterate): Support non-512B sectors.
19241
d9a0c941
VS
192422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19245 Tested by: Seth Goldberg.
19246
48f27e87
VS
192472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19250 Properly align mbi.
19251 Reported by: Seth Goldberg.
19252
b0c4f956
VS
192532010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * util/grub-mkrescue.in: Avoid module duplication.
19256
105a2e8c
SF
192572010-07-01 Sean Finney <seanius@seanius.net>
19258
19259 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19260
5944958c
SF
192612010-07-01 Sean Finney <seanius@seanius.net>
19262
19263 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19264
192652010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 * disk/lvm.c (grub_lvm_checkvalue): New function.
19268 (grub_lvm_check_flag): Likewise.
19269
b79889ba
RM
192702010-07-01 Robert Millan <rmh@gnu.org>
19271
19272 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19273 Support 'p' as partition separator on kernel of FreeBSD (used
19274 with GPT labels).
19275 (grub_util_biosdisk_get_grub_dev): Likewise.
19276
ec1d04f1
VS
192772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 Yeeloong firmware port.
19280
19281 * boot/mips/yeeloong/fwstart.S: New file.
19282 * bus/cs5536.c (gpiodump): New const.
19283 (set_io_space): New function.
19284 (set_iod): Likewise.
19285 (set_p2d): Likewise.
19286 (grub_cs5536_init_geode): Likewise.
19287 * commands/mips/yeeloong/lsspd.c: New file.
19288 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19289 (serial_mod_SOURCES): New variable.
19290 (serial_mod_CFLAGS): Likewise.
19291 (serial_mod_LDFLAGS): Likewise.
19292 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19293 term/terminfo.c and term/tparm.c.
19294 (pkglib_IMAGES): Add fwstart.img.
19295 (fwstart_img_SOURCES): New variable.
19296 (fwstart_img_CFLAGS): Likewise.
19297 (fwstart_img_ASFLAGS): Likewise.
19298 (fwstart_img_LDFLAGS): Likewise.
19299 (fwstart_img_FORMAT): Likewise.
19300 (pkglib_MODULES): Add lsspd.mod.
19301 (lsspd_mod_SOURCES): New variable.
19302 (lsspd_mod_CFLAGS): Likewise.
19303 (lsspd_mod_LDFLAGS): Likewise.
19304 (pkglib_MODULES): Add halt.mod.
19305 (halt_mod_SOURCES): New variable.
19306 (halt_mod_CFLAGS): Likewise.
19307 (halt_mod_LDFLAGS): Likewise.
19308 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19309 (serial_mod_SOURCES): Removed.
19310 (serial_mod_CFLAGS): Likewise.
19311 (serial_mod_LDFLAGS): Likewise.
19312 * disk/ata.c (check_device): New function.
19313 (grub_ata_device_initialize): Use check_device.
19314 (grub_ata_iterate): Recheck devices.
19315 (grub_ata_open): Likewise.
19316 (grub_atapi_iterate): Likewise.
19317 (grub_atapi_open): Likewise.
19318 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19319 (GRUB_ATA_CH1_PORT1): Likewise.
19320 (GRUB_ATA_CH0_PORT2): Likewise.
19321 (GRUB_ATA_CH1_PORT2): Likewise.
19322 * include/grub/mips/loongson.h: New file.
19323 * include/grub/mips/yeeloong/ec.h: Likewise.
19324 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19325 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19326 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19327 * include/grub/misc.h (grub_halt): Declare as noreturn.
19328 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19329 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19330 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19331 (UART_ENABLE_DTRRTS): Likewise.
19332 (UART_ENABLE_MODEM): Removed.
19333 (UART_ENABLE_OUT2): New const.
19334 * include/grub/term.h (grub_term_register_input_active): New function.
19335 (grub_term_register_output_active): Likewise.
19336 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19337 argument.
19338 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19339 (init_pci): New function.
19340 (grub_machine_init): Execute platform init when firmware. Init serial.
19341 (grub_halt): Implement.
19342 (grub_exit): Likewise.
19343 (grub_reboot): Likewise.
19344 * term/serial.c (serial_hw_init): Update macros.
19345 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19346 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19347 (image_targets): New target mipsel-yeeloong-flash.
19348 (generate_image): Support IMAGE_YEELOONG_FLASH.
19349 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19350 (grub_video_sm712_setup): Init card.
19351 (grub_video_sm712_set_palette): Removed.
19352 * video/sm712_init.c: New file.
19353
ff4a70d2
CW
193542010-06-30 Colin Watson <cjwatson@ubuntu.com>
19355
19356 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19357 PATH when running help2man and then run it on the unadorned
19358 executable names, rather than passing $(builddir)/* paths to
19359 help2man. This avoids the build directory ending up in generated
19360 manual pages.
19361
1246efeb
CW
193622010-06-29 Colin Watson <cjwatson@ubuntu.com>
19363
19364 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19365 to avoid accidents when debugging with 'sh -x'.
19366 * util/grub-mkrescue.in: Likewise.
19367 * util/grub.d/00_header.in: Likewise.
19368 * util/grub.d/10_hurd.in: Likewise.
19369 * util/grub.d/10_kfreebsd.in: Likewise.
19370 * util/grub.d/10_linux.in: Likewise.
19371 * util/grub.d/10_netbsd.in: Likewise.
19372 * util/grub.d/10_windows.in: Likewise.
19373 * util/grub.d/20_linux_xen.in: Likewise.
19374 * util/grub.d/30_os-prober.in: Likewise.
19375 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19376
1ba9b889
CW
193772010-06-29 Colin Watson <cjwatson@ubuntu.com>
19378
19379 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19380 last character in the buffer.
19381 Reported by: Vladimir Serbinenko.
19382
dccaf99d
RM
193832010-06-29 Robert Millan <rmh@gnu.org>
19384
19385 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19386 (Command-line and menu entry commands): Document `badram' command.
19387
d500ed12
RM
193882010-06-28 Robert Millan <rmh@gnu.org>
19389
19390 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19391 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19392 command using ${GRUB_BADRAM} as parameter.
19393
20bc84a6
CW
193942010-06-28 Colin Watson <cjwatson@ubuntu.com>
19395
19396 * docs/grub.texi (Device map): New section.
19397 (Themes): New section (stub).
19398 * Makefile.in (docs/grub.info): The info documentation now builds
19399 without errors. Make sure it stays that way.
19400
4045dee1
VS
194012010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 Use normal parser for menu entries.
19404 Reported by: Thomas Frauendorfer
19405
19406 * include/grub/parser.h (grub_parser_execute): Don't export.
19407 * normal/menu.c (grub_menu_execute_entry_real): New function.
19408 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19409
bca58c7b
CW
194102010-06-28 Colin Watson <cjwatson@ubuntu.com>
19411
19412 * docs/grub.texi (Embedded configuration): New section (replacing
19413 old "Preset Menu" stub).
19414 (Images): New section.
19415 (configfile): Note that any menu entries defined in `file' are shown
19416 immediately.
19417
dec53e63
JT
194182010-06-28 Josh Triplett <josh@joshtriplett.org>
19419
19420 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19421
c06e40f7
CW
194222010-06-28 Colin Watson <cjwatson@ubuntu.com>
19423
19424 * util/grub-install.in: Add --debug-image= option.
19425
cb88052b
CW
194262010-06-28 Colin Watson <cjwatson@ubuntu.com>
19427
19428 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19429 possible on Linux.
19430
19431 * util/deviceiter.c (check_device): Rename to ...
19432 (check_device_readable_unique): ... this. Update all callers.
19433 Maintain and check a list of which devices (by canonicalized name)
19434 have already been seen.
19435 (clear_seen_devices): New function.
19436 (compare_file_names) [__linux__]: New function.
19437 (grub_util_iterate_devices): Clear the list of seen devices on exit
19438 and (just in case) on entry.
19439 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19440 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19441 seen-devices list, superseded by general code in check_device.
19442
bbe34652
CW
194432010-06-28 Colin Watson <cjwatson@ubuntu.com>
19444
19445 * commands/cat.c (options): New variable.
19446 (grub_cmd_cat): Parse options. If the --dos option is given, print
19447 DOS-style "\r\n" line endings as simple newlines (Debian bug
19448 #586358).
19449 (GRUB_MOD_INIT): Use extcmd.
19450 (GRUB_MOD_FINI): Likewise.
19451 * docs/grub.texi (cat): Document --dos.
19452
412e09f3
VS
194532010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 XEN with Linux grub-mkconfig support.
19456
19457 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19458 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19459 GRUB_CMDLINE_XEN_DEFAULT.
19460 * util/grub.d/20_linux_xen.in: New file.
19461
53f3ef38 194622010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19463
19464 Initialise VGA video on qemu ourselves.
19465
19466 * boot/i386/qemu/boot.S: Don't call 0xc000.
19467 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19468 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19469 (kernel_img_HEADERS): Add pci.h.
19470 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19471 * configure.ac: Force unifont on qemu and yeeloong.
19472 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19473 (grub_vga_palette_write): Use correct register.
19474 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19475 Call grub_qemu_init_cirrus.
19476 * kern/i386/qemu/init.c: New file.
19477 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19478
19479 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19480
c75be4fb
PR
194812010-06-26 Pavel Roskin <proski@gnu.org>
19482
19483 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19484 13.
19485
d8034603
CW
194862010-06-26 Colin Watson <cjwatson@ubuntu.com>
19487
19488 * docs/grub.texi (Simple configuration): Explain that
19489 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19490 set to `true' to disable their respective recovery entries, not
19491 merely set.
19492
3fa06487
CW
194932010-06-26 Colin Watson <cjwatson@ubuntu.com>
19494
19495 Make the `source' command slightly faster.
19496
19497 * normal/main.c (grub_normal_execute): Don't re-read list files when
19498 nested.
19499
e9b29642
CW
195002010-06-23 Colin Watson <cjwatson@ubuntu.com>
19501
19502 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19503 field position and mask size to red fields from mode_info, not
19504 green.
19505 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19506 Remove redundant tag->common.framebuffer_type assignment.
19507 Reported by: Seth Goldberg.
19508
e726542f
CW
195092010-06-23 Colin Watson <cjwatson@ubuntu.com>
19510
19511 Sync up other versions of the Linux loader with Robert Millan's
19512 change of 2010-01-09, "Make loader output a bit more user-friendly".
19513
19514 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19515 grub_dprintf().
19516 (grub_cmd_linux): Likewise.
19517 (grub_cmd_initrd): Likewise.
19518 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19519 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19520
d6e98a17
CW
195212010-06-21 Colin Watson <cjwatson@ubuntu.com>
19522
19523 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19524 larger than MEMORY_MAP_SIZE.
19525
14d3f08e
BC
195262010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19527
19528 Fix parallel build.
19529
19530 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19531 dependency.
19532 * script/parser.y: #include grub_script.tab.h header.
19533
4f9613a3
VS
195342010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 Support >3GiB and <16MiB RAM in i386-qemu.
19537
19538 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19539 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19540 (grub_lower_mem): Removed.
19541 (grub_upper_mem): Likewise.
19542 (mem_size): Made static.
19543 (above_4g): New variable.
19544 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19545 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19546 support.
19547
05e51879
VS
195482010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 Cirrus 5446 and Bochs video cards support.
19551
19552 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19553 video_bochs.mod
19554 (video_cirrus_mod_SOURCES): New variable.
19555 (video_cirrus_mod_CFLAGS): Likewise.
19556 (video_cirrus_mod_LDFLAGS): Likewise.
19557 (video_bochs_mod_SOURCES): Likewise.
19558 (video_bochs_mod_CFLAGS): Likewise.
19559 (video_bochs_mod_LDFLAGS): Likewise.
19560 * include/grub/vga.h: New file.
19561 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19562 (grub_video_fb_set_page_t): New type.
19563 (grub_video_fb_setup): New prototype.
19564 (grub_video_fb_swap_buffers): Likewise.
19565 (grub_video_fb_get_info_and_fini): Likewise.
19566 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19567 (CRTC_DATA_PORT): Likewise.
19568 (CRTC_CURSOR): Likewise.
19569 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19570 (CRTC_CURSOR_ADDR_LOW): Likewise.
19571 (CRTC_CURSOR_DISABLE): Likewise.
19572 (update_cursor): Use grub_vga_cr_write.
19573 (grub_vga_text_setcursor): Likewise.
19574 * video/bochs.c: New file.
19575 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19576 (palette): Likewise.
19577 (palette_size): Likewise.
19578 (framebuffer): New variable.
19579 (grub_video_fb_init): Use 'framebuffer'.
19580 (grub_video_fb_fini): Likewise.
19581 (grub_video_fb_get_info): Likewise.
19582 (grub_video_fb_get_palette): Likewise.
19583 (grub_video_fb_set_palette): Likewise.
19584 (grub_video_fb_set_viewport): Likewise.
19585 (grub_video_fb_get_viewport): Likewise.
19586 (grub_video_fb_map_color): Likewise.
19587 (grub_video_fb_map_rgb): Likewise.
19588 (grub_video_fb_map_rgba): Likewise.
19589 (grub_video_fb_unmap_color): Likewise.
19590 (grub_video_fb_unmap_color_int): Likewise.
19591 (grub_video_fb_fill_rect): Likewise.
19592 (grub_video_fb_blit_bitmap): Likewise.
19593 (grub_video_fb_blit_render_target): Likewise.
19594 (grub_video_fb_scroll): Likewise.
19595 (grub_video_fb_create_render_target): Likewise.
19596 (grub_video_fb_doublebuf_blit_init): Likewise.
19597 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19598 (doublebuf_pageflipping_update_screen): New function.
19599 (doublebuf_pageflipping_init): Likewise.
19600 (grub_video_fb_setup): Likewise.
19601 (grub_video_fb_swap_buffers): Likewise.
19602 (grub_video_fb_get_info_and_fini): Likewise.
19603 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19604 All users updated.
19605 (doublebuf_pageflipping_commit): Restructured into ...
19606 (doublebuf_pageflipping_set_page): ... this.
19607 (doublebuf_pageflipping_update_screen): Removed.
19608 (doublebuf_pageflipping_init): Likewise.
19609 (double_buffering_init): Likewise.
19610 (grub_video_vbe_setup): Use grub_video_fb_setup.
19611 (grub_video_vbe_swap_buffers): Removed.
19612 (grub_video_vbe_set_active_render_target): Likewise.
19613 (grub_video_vbe_get_active_render_target): Likewise.
19614 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19615 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19616 grub_video_fb_set_active_render_target and
19617 grub_video_fb_get_active_render_target.
19618 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19619 (SEQUENCER_DATA_PORT): Likewise.
19620 (MAP_MASK_REGISTER): Likewise.
19621 (CRTC_ADDR_PORT): Likewise.
19622 (CRTC_DATA_PORT): Likewise.
19623 (START_ADDR_HIGH_REGISTER): Likewise.
19624 (START_ADDR_LOW_REGISTER): Likewise.
19625 (GRAPHICS_ADDR_PORT): Likewise.
19626 (GRAPHICS_DATA_PORT): Likewise.
19627 (READ_MAP_REGISTER): Likewise.
19628 (INPUT_STATUS1_REGISTER): Likewise.
19629 (INPUT_STATUS1_VERTR_BIT): Likewise.
19630 (get_map_mask): Use grub_vga_sr_read.
19631 (set_map_mask): Use grub_vga_sr_write.
19632 (set_read_map): Use grub_vga_gr_write.
19633 (set_start_address): Use grub_vga_cr_write.
19634 * video/sm712.c (framebuffer): Remove leftover fields.
19635
4321c64a
CW
196362010-06-20 Colin Watson <cjwatson@ubuntu.com>
19637
19638 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19639 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19640 instead. Replace the gfxterm backend check with a check that
19641 ${GRUB_PREFIX}/video.lst is non-empty.
19642 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19643 again.
19644 (load_video): New generated function. Call it before loading
19645 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19646 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19647 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19648 * docs/grub.texi (Simple configuration): Document
19649 GRUB_VIDEO_BACKEND.
19650
196512010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 Use video functions in linux and xnu loaders.
19654
19655 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19656 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19657 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19658 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19659 loader/i386/pc/linux.c.
19660 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19661 (find_line_len): Removed.
19662 (find_framebuf): Likewise.
19663 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19664 * loader/i386/efi/xnu.c: Removed.
19665 * loader/i386/pc/xnu.c: Moved from here...
19666 * loader/i386/xnu.c: ...here.
19667
19668 Enable priorities in video drivers.
19669
19670 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19671 (grub_video_adapter): New field prio.
19672 (grub_video_register): Respect prio when inserting.
19673 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19674 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19675 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19676 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19677 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19678 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19679 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19680
19681 Fix SDL driver ID.
19682
19683 * include/grub/video.h (grub_video_driver_id_t): New value
19684 GRUB_VIDEO_DRIVER_SDL.
19685 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19686
7d24e434
CW
196872010-06-17 Colin Watson <cjwatson@ubuntu.com>
19688
19689 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19690 argument to printf.
19691 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19692
c88a83f6
CW
196932010-06-17 Colin Watson <cjwatson@ubuntu.com>
19694
19695 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19696 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19697
094dfb69
CW
196982010-06-17 Colin Watson <cjwatson@ubuntu.com>
19699
19700 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19701 directly, and recommend grub-install instead.
19702 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19703
2164da6b
CW
197042010-06-17 Colin Watson <cjwatson@ubuntu.com>
19705
19706 Fix i386-pc prefix handling with nested partitions (Debian bug
19707 #585068). Note that the case where the core image is booted using
19708 multiboot and relocated from its original location still requires
19709 more work.
19710
19711 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19712 with "(,", fill the boot drive in between those two characters, but
19713 expect that a full partition specification including partition map
19714 names will follow.
19715 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19716 specified, write a prefix without the drive name but including a
19717 full partition specification.
19718
044e2e60
CW
197192010-06-16 Colin Watson <cjwatson@ubuntu.com>
19720
19721 * util/grub-mkconfig.in: Ignore non-option arguments, for
19722 compatibility with older versions (before 2010-06-12) which did the
19723 same. In particular, this makes it easier to ship an update-grub
19724 wrapper which is compatible with that used with GRUB Legacy (Debian
19725 bug #586056).
19726
5591324f
GS
197272010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19728
19729 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19730 for manual page generation.
19731
662e24d5
GS
197322010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19733
19734 * po/POTFILES: Remove leftover commands/handler.c.
19735
8d70754e
CW
197362010-06-14 Colin Watson <cjwatson@ubuntu.com>
19737
19738 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19739 left this script non-functional.
19740
41160e2e
CW
197412010-06-14 Colin Watson <cjwatson@ubuntu.com>
19742
19743 * docs/man/grub-emu.h2m: New file.
19744
b5309cc1
CW
197452010-06-13 Colin Watson <cjwatson@ubuntu.com>
19746
19747 * docs/grub.texi (Commands): Document reduced command set in rescue
19748 mode.
19749 (cpuid): New section.
19750
fcb2d090
GS
197512010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19752
19753 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19754 new partition naming style.
19755 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19756
96e5c556
BC
197572010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19758
19759 Add "-o grub.iso" like cmdline options support.
19760
19761 * util/grub-install.in: Improve cmdline option parsing.
19762 * util/grub-mkconfig.in: Likewise.
19763 * util/grub-mkrescue.in: Likewise.
19764 * util/grub-reboot.in: Likewise.
19765 * util/grub-set-default.in: Likewise.
19766 * util/i386/efi/grub-install.in: Likewise.
19767 * util/ieee1275/grub-install.in: Likewise.
19768 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19769
c16be99b
CW
197702010-06-12 Colin Watson <cjwatson@ubuntu.com>
19771
19772 * .bzrignore: Ignore 41_custom.
19773
ce08a9fb
TS
197742010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19775
19776 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19777
7beac90c
CW
197782010-06-12 Colin Watson <cjwatson@ubuntu.com>
19779
19780 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19781 prototype declarations.
19782
19783 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19784 generating fs, partmap, and video lists.
19785 * include/grub/fs.h (grub_fs_register): Omit prototype if
19786 GRUB_LST_GENERATOR is defined.
19787 * include/grub/partition.h (grub_partition_map_register): Likewise.
19788 * include/grub/video.h (grub_video_register): Likewise.
19789
1c8f0f8d
JM
197902010-06-12 Javier Martín <lordhabbit@gmail.com>
19791
19792 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19793
a6085973
TS
197942010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19795
19796 * util/grub-mkrescue.in: Support --xorriso argument.
19797
25c56d29
VS
197982010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19801 Suggested by: Thomas Schmitt.
19802
e03e4b24
VS
198032010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19804
19805 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19806 Suggested by: Thomas Schmitt.
19807
57711df6
VS
198082010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 custom.cfg support.
19811
19812 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19813 * util/grub.d/41_custom.in: New file.
19814
ee62c427
CW
198152010-06-12 Colin Watson <cjwatson@ubuntu.com>
19816
19817 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19818 been merged back into normal.
19819
283af07a
CW
198202010-06-11 Colin Watson <cjwatson@ubuntu.com>
19821
19822 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19823 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19824
56a0d956
CW
198252010-06-11 Colin Watson <cjwatson@ubuntu.com>
19826
19827 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19828 when generating manual pages.
19829 * docs/man/grub-bin2h.h2m: New file.
19830 * docs/man/grub-editenv.h2m: New file.
19831 * docs/man/grub-fstest.h2m: New file.
19832 * docs/man/grub-install.h2m: New file.
19833 * docs/man/grub-macho2img.h2m: New file.
19834 * docs/man/grub-mkconfig.h2m: New file.
19835 * docs/man/grub-mkdevicemap.h2m: New file.
19836 * docs/man/grub-mkfont.h2m: New file.
19837 * docs/man/grub-mkimage.h2m: New file.
19838 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19839 * docs/man/grub-mkrelpath.h2m: New file.
19840 * docs/man/grub-mkrescue.h2m: New file.
19841 * docs/man/grub-ofpathname.h2m: New file.
19842 * docs/man/grub-pe2elf.h2m: New file.
19843 * docs/man/grub-probe.h2m: New file.
19844 * docs/man/grub-reboot.h2m: New file.
19845 * docs/man/grub-script-check.h2m: New file.
19846 * docs/man/grub-set-default.h2m: New file.
19847 * docs/man/grub-setup.h2m: New file.
19848
3a37e322
VS
198492010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19850
19851 Use FOR_* macros instead of *_iterate whenever possible.
19852
19853 * commands/handler.c: Removed.
19854 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19855 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19856 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19857 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19858 (grub_probe_SOURCES): Remove kern/parser.c.
19859 (util/grub-script-check.c_DEPENDENCIES): Removed.
19860 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19861 and grub_script_check_init.c.
19862 (grub_script_check_init.lst): Removed.
19863 (grub_script_check_init.h): Likewise.
19864 (grub_script_check_init.c): Likewise.
19865 (pkglib_MODULES): Remove handler.mod and sh.mod.
19866 (handler_mod_SOURCES): Removed.
19867 (handler_mod_CFLAGS): Likewise.
19868 (handler_mod_LDFLAGS): Likewise.
19869 (normal_mod_SOURCES): Remove normal/handler.c.
19870 Add script/main.c, script/script.c, script/execute.c,
19871 script/function.c, script/lexer.c, grub_script.tab.c
19872 and grub_script.yy.c.
19873 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19874 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19875 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19876 (grub_setup_SOURCES): Remove kern/parser.c.
19877 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19878 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19879 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19880 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19881 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19882 (grub_setup_SOURCES): Remove kern/parser.c.
19883 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19884 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19885 * include/grub/command.h (grub_command_iterate): Removed.
19886 (FOR_COMMANDS): New macro.
19887 * include/grub/dl.h (grub_dl): New member next.
19888 (grub_dl_iterate): Removed.
19889 (grub_dl_head): New variable declaration.
19890 (FOR_DL_MODULES): New macro.
19891 * include/grub/fs.h: Include list.h.
19892 (grub_fs): Make next first element.
19893 (grub_fs_list): New variable declaration.
19894 (grub_fs_register): Make inline.
19895 (grub_fs_unregister): Likewise.
19896 (grub_fs_iterate): Removed.
19897 (FOR_FILESYSTEMS): New macro.
19898 * include/grub/handler.h: Removed.
19899 * include/grub/list.h (grub_list_hook_t): Removed.
19900 (grub_list_test_t): Likewise.
19901 (grub_list_pop): Likewise.
19902 (grub_list_iterate): Likewise.
19903 (grub_list_insert): Likewise.
19904 (FOR_LIST_ELEMENTS): New macro.
19905 * include/grub/parser.h (grub_parser_class): Removed.
19906 (grub_parser_register): Likewise.
19907 (grub_parser_unregister): Likewise.
19908 (grub_parser_get_current): Likewise.
19909 (grub_parser_set_current): Likewise.
19910 (grub_register_rescue_parser): Likewise.
19911 (grub_rescue_parse_line): New function.
19912 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19913 * include/grub/script_sh.h (grub_script_function_list): New variable
19914 declaration.
19915 (FOR_SCRIPT_FUNCTIONS): New macro.
19916 (grub_script_function_iterate): Removed.
19917 (grub_normal_parse_line): New prototype.
19918 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19919 (FOR_DISABLED_TERM_INPUTS): Likewise.
19920 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19921 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19922 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19923 element.
19924 (grub_video_register): Inline.
19925 (grub_video_unregister): Likewise.
19926 (grub_video_adapter_list): New variable declaration.
19927 (grub_video_iterate): Removed.
19928 (FOR_VIDEO_ADAPTERS): New macro.
19929 * kern/dl.c (grub_dl_list): Removed. All users updated.
19930 (grub_dl_iterate): Removed.
19931 * kern/fs.c (grub_fs_list): Make global.
19932 (grub_fs_register): Removed.
19933 (grub_fs_unregister): Likewise.
19934 (grub_fs_iterate): Likewise.
19935 * kern/handler.c: Removed.
19936 * kern/list.c (grub_list_pop): Removed.
19937 (grub_list_iterate): Likewise.
19938 (grub_list_insert): Likewise.
19939 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19940 (grub_prio_list_insert): Don't use grub_list_insert.
19941 * kern/main.c (grub_register_rescue_parser): Don't call
19942 grub_register_rescue_parser.
19943 * kern/parser.c (grub_parser_class): Removed.
19944 (grub_parser_execute): Use grub_rescue_parse_line.
19945 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19946 (grub_rescue_parser): Removed.
19947 (grub_register_rescue_parser): Likewise.
19948 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19949 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19950 (grub_auth_check_authentication): Likewise.
19951 * normal/completion.c (iterate_command): Removed.
19952 (grub_normal_do_completion): Use FOR_COMMANDS.
19953 * normal/handler.c: Removed.
19954 * normal/main.c (read_config_file): Remove parser changing.
19955 (grub_normal_execute): Don't call read_handler_list.
19956 (grub_normal_read_line_real): Statically allocate prompt.
19957 (grub_cmdline_run): Use grub_normal_parse_line.
19958 (GRUB_MOD_FINI): Don't call free_handler_list.
19959 * normal/menu_entry.c (run): Likewise.
19960 * script/function.c (grub_script_function_list): Make global.
19961 (grub_script_function_iterate): Removed.
19962 * script/main.c (grub_normal_parse_line): Make global.
19963 (grub_sh_parser): Removed.
19964 (GRUB_MOD_INIT): Likewise.
19965 (GRUB_MOD_FINI): Likewise.
19966 * tests/lib/functional_test.c (grub_functional_test): Use
19967 FOR_LIST_ELEMENTS.
19968 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19969 (grub_test_run): Use FOR_LIST_ELEMENTS.
19970 * tests/lib/unit_test.c (main): Likewise.
19971 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19972 grub_list_pop.
19973 * util/grub-fstest.c (grub_term_input_class): Removed.
19974 (grub_term_output_class): Likewise.
19975 * util/grub-probe.c: Likewise.
19976 * util/i386/pc/grub-setup.c: Likewise.
19977 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19978 * util/grub-script-check.c (main): Don't call grub_init_all and
19979 grub_fini_all.
19980 * video/video.c (grub_video_adapter_list): Make global.
19981 (grub_video_register): Removed.
19982 (grub_video_unregister): Likewise.
19983 (grub_video_iterate): Likewise.
19984
6289c3a7
VS
199852010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19986
19987 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19988 reported by Henrique Ferreiro.
19989
91460247
RM
199902010-06-09 Robert Millan <rmh@gnu.org>
19991
19992 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19993 ones, when both are available.
19994
0ea7c4f9
GS
199952010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19996
19997 Make --version uniform and avoid hard-coded program name.
19998
19999 * util/grub-mkimage.c (main): Use `program_name' instead of
20000 hard-coded string.
20001 * util/i386/pc/grub-setup.c (main): Likewise.
20002 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20003 * util/grub-install.in: Save the basename of $0 in $self, and use the
20004 latter in informational messages. Use the same format for --version
20005 as the binary programs.
20006 * util/grub-mkconfig.in: Likewise.
20007 * util/grub-mkrescue.in: Likewise.
20008 * util/grub-reboot.in: Likewise.
20009 * util/grub-set-default.in: Likewise.
20010 * util/i386/efi/grub-install.in: Likewise.
20011 * util/ieee1275/grub-install.in: Likewise.
20012 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20013
e8a6f3b6
GS
200142010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20015
20016 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20017 embedding area. Use <= instead of == when checking for non-emptiness.
20018
f4d095d7
GS
200192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20020
20021 * configure.ac: Add `.' to the directories searched for unifont.
20022
50e532ca
CW
200232010-06-08 Colin Watson <cjwatson@ubuntu.com>
20024
20025 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20026 grub_script.yy.h.
20027
d39f3dec
CW
200282010-06-08 Colin Watson <cjwatson@ubuntu.com>
20029
20030 * docs/grub.texi (History): Expand to cover GRUB 2.
20031 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20032 commands, not `terminal'.
20033 (serial): Likewise.
20034 (terminal_input): New section.
20035 (terminal_output): New section.
20036 (uppermem): New section (stub).
20037 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20038
6ef0ddb4
CW
200392010-06-08 Colin Watson <cjwatson@ubuntu.com>
20040
20041 * docs/grub.texi (Security): Menu entries are unrestricted by
20042 default, not restricted to superusers as I had previously thought.
20043 Reword to account for this.
20044
e0f4c438
CW
200452010-06-07 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * kern/emu/misc.c (device_mapper_null_log): New function.
20048 (grub_device_mapper_supported): New function.
20049 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20050 prototype.
20051 * kern/emu/hostdisk.c (find_partition_start): Check whether
20052 device-mapper is supported before trying to use it.
20053 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20054
da908200
CW
200552010-06-07 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20058 (File name syntax): Likewise.
20059 (help): --all is no longer supported in GRUB 2. Be more precise
20060 about pattern matching.
20061
fb55c3ac
CW
200622010-06-07 Colin Watson <cjwatson@ubuntu.com>
20063
20064 * normal/completion.c (grub_normal_do_completion): When completing
20065 arguments to "set" and the current word contains an equals sign,
20066 skip to after the equals sign before starting completion.
20067
258c2573
CW
200682010-06-07 Colin Watson <cjwatson@ubuntu.com>
20069
20070 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20071
ee75515e
CW
200722010-06-07 Colin Watson <cjwatson@ubuntu.com>
20073
20074 * docs/grub.texi (Network): New section.
20075 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20076 `(nd)' as in GRUB Legacy.
20077 (pxe_unload): New section.
20078
a6a700aa
CW
200792010-06-07 Colin Watson <cjwatson@ubuntu.com>
20080
20081 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20082 in the rescue shell, so recommend using `set' instead. Thanks,
20083 Jordan Uggla.
20084
4003dd38
CW
200852010-06-07 Colin Watson <cjwatson@ubuntu.com>
20086
20087 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20088 (password): New section.
20089 (password_pbkdf2): New section.
20090 (search): New section.
20091 (Security): New section.
20092 (Troubleshooting): New section, currently very incomplete.
20093 (Invoking grub-mkpasswd-pbkdf2): New section.
20094 (Internals): New section, currently very incomplete.
20095
e1cbcc40
CW
200962010-06-07 Colin Watson <cjwatson@ubuntu.com>
20097
20098 * util/grub.d/00_header.in: Add some more quoting (of
20099 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20100 work again.
20101 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20102
db8fa1ad
CW
201032010-06-07 Colin Watson <cjwatson@ubuntu.com>
20104
20105 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20106 to `count', fixing variable shadowing that broke the -c option.
20107
201082010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
20109
20110 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20111 in case they contain spaces.
20112
f28a9212
CW
201132010-06-04 Colin Watson <cjwatson@ubuntu.com>
20114
20115 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20116 "part_" to partmap module names, in line with grub-install.
20117 Reported by: Jindřich Makovička (Debian bug #584426).
20118
9cdfe32f
CW
201192010-06-04 Colin Watson <cjwatson@ubuntu.com>
20120
20121 * util/grub-mkimage.c: Make target-related error messages slightly
20122 more helpful; -O talks about "format". Explicitly point to the use
20123 of -O if no target is specified.
20124 Reported by: Didier Raboud (Debian bug #584415).
20125
795b593a
CW
201262010-06-03 Colin Watson <cjwatson@ubuntu.com>
20127
20128 * INSTALL: Document several build requirements for optional features
20129 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20130
9d9b5833
GS
201312010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20132
20133 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20134 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20135 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20136
0819fec8
CW
201372010-06-02 Colin Watson <cjwatson@ubuntu.com>
20138
20139 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20140 Thanks to Jordan Uggla for spotting this.
20141
49396b4f
VS
201422010-06-02 Aleš Nesrsta <starous@volny.cz>
20143
20144 Finally make USB usable.
20145
20146 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20147 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20148 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20149 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20150 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20151 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20152 (GRUB_OHCI_FSMPS): Likewise.
20153 (GRUB_OHCI_PERIODIC_START): Likewise.
20154 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20155 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20156 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20157 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20158 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20159 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20160 (grub_ohci_transaction): Likewise.
20161 (grub_ohci_transfer): Improve condition detection algorithms.
20162 Handle toggle property. Program the transactions correctly.
20163 Improve error handling. Various important fixups.
20164 (grub_ohci_portstatus): Put register writes in right order.
20165 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20166 (grub_uhci_transfer): Don't show "failed" message on success.
20167 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20168 array.
20169 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20170 determine its size.
20171 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20172 before initialization is completed. Use IN direction for empty
20173 transfers. Use last_trans and compute toggle.
20174 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20175 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20176 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20177 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20178 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20179 (grub_usb_device): Increase toggle to 256.
20180 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20181 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20182 GRUB_USBMS_SUBCLASS_SFF8070.
20183 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20184 (grub_scsi_inquiry): New member page and alloc_length.
20185 (grub_scsi_request_sense): New structure.
20186 (grub_scsi_request_sense_data): Likewise.
20187 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20188 control.
20189 * disk/scsi.c (grub_scsi_request_sense): New function.
20190 (grub_scsi_test_unit_ready): Likewise.
20191 (grub_scsi_inquiry): Fill new fields.
20192 (grub_scsi_read_capacity): Likewise.
20193 (grub_scsi_read10): Add request sense at the end.
20194 (grub_scsi_read12): Likewise.
20195 (grub_scsi_write10): Likewise.
20196 (grub_scsi_write12): Likewise.
20197 (grub_scsi_open): Add Test Unit Ready.
20198 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20199 Support additional subclasses. Con't clear halt yet. Activate the
20200 proper config. Calculate LUNs correctly.
20201 (grub_usbms_transfer): Various important fixups.
20202
202032010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20206 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20207 (grub_ohci_fini_hw): New function.
20208 (grub_ohci_restore_hw): Likewise.
20209 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20210 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20211 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20212
202132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 Dedicated DMA allocations.
20216
20217 * bus/pci.c (grub_memalign_dma32): New function
20218 (grub_dma_free): Likewise.
20219 (grub_dma_get_virt): Likewise.
20220 (grub_dma_get_phys): Likewise.
20221 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20222 (grub_ohci_pci_iter): Use dma32_alloc.
20223 (grub_ohci_transfer): Likewise.
20224 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20225 (grub_usb_bulk_readwrite): Likewise.
20226 * include/grub/pci.h: Add declarations.
20227
202282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 CS5536 support.
20231
20232 * bus/cs5536.c: New file.
20233 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20234 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20235 (cs5536_mod_SOURCES): New variable.
20236 (cs5536_mod_CFLAGS): Likewise.
20237 (cs5536_mod_LDFLAGS): Likewise.
20238 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20239 machine/pci.h.
20240 (kernel_img_SOURCES): Add bus/cs5536.c.
20241 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20242 usb_keyboard.mod.
20243 (usb_mod_SOURCES): New variable.
20244 (usb_mod_CFLAGS): New variable.
20245 (usb_mod_LDFLAGS): New variable.
20246 (usbtest_mod_SOURCES): New variable.
20247 (usbtest_mod_CFLAGS): New variable.
20248 (usbtest_mod_LDFLAGS): New variable.
20249 (ohci_mod_SOURCES): New variable.
20250 (ohci_mod_CFLAGS): New variable.
20251 (ohci_mod_LDFLAGS): New variable.
20252 (usbms_mod_SOURCES): New variable.
20253 (usbms_mod_CFLAGS): New variable.
20254 (usbms_mod_LDFLAGS): New variable.
20255 (usb_keyboard_mod_SOURCES): New variable.
20256 (usb_keyboard_mod_CFLAGS): New variable.
20257 (usb_keyboard_mod_LDFLAGS): New variable.
20258 * include/grub/smbus.h: New file.
20259 * include/grub/cs5536.h: New file.
20260
0b35b2a9
CW
202612010-06-02 Colin Watson <cjwatson@ubuntu.com>
20262
20263 * util/grub.d/00_header.in: Add safety check to make sure that
20264 ${locale_dir} exists before trying to probe it.
20265
ca0afd5b
CW
202662010-06-02 Colin Watson <cjwatson@ubuntu.com>
20267
20268 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20269 per the GNU Coding Standards; this is now too obscure to be worth
20270 documenting.
20271 (QNX): Likewise.
20272 (chainloader): Remove cross-reference to `SCO UnixWare'.
20273
1c41aa78
CW
202742010-06-02 Colin Watson <cjwatson@ubuntu.com>
20275
20276 * docs/grub.texi (Chain-loading): New section.
20277 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20278 adjusted for GRUB 2.
20279 (SCO UnixWare): Likewise.
20280 (QNX): Likewise.
20281 (chainloader): Add reference to `Block list syntax'.
20282 (drivemap): New section.
20283 (parttool): New section.
20284
bb8ea0f5
CW
202852010-06-02 Colin Watson <cjwatson@ubuntu.com>
20286
20287 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20288 the grub shell'.
20289 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20290 (Installing GRUB using grub-install): Remove reference to the grub
20291 shell; mention `grub-mkimage' and `grub-setup' instead.
20292 (Invoking grub-install): Likewise.
20293 (Interface): Add reference to `Menu entry editor'.
20294 (serial): Remove `--device' option.
20295
288dd6ed
CW
202962010-06-02 Colin Watson <cjwatson@ubuntu.com>
20297
20298 * docs/grub.texi (Configuration): New section, documenting
20299 configuration file generation using grub-mkconfig. I've left a slot
20300 for documenting the full shell scripting format but have not yet
20301 started on writing that up.
20302 (Invoking grub-mkconfig): New section.
20303
34c9f0e9
CW
203042010-06-02 Colin Watson <cjwatson@ubuntu.com>
20305
20306 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20307 (GNU GRUB manual): Likewise.
20308 (General commands): Update description of `terminfo' for GRUB 2.
20309
9121567e
CW
203102010-06-02 Colin Watson <cjwatson@ubuntu.com>
20311
20312 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20313 (GRUB_MOD_INIT): Fix capitalisation.
20314 * docs/grub.texi (Command-line and menu entry commands): Document
20315 gettext and gptsync commands.
20316
ab631611
CW
203172010-06-02 Colin Watson <cjwatson@ubuntu.com>
20318
20319 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20320 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20321
bde4a9ac
CW
203222010-06-01 Colin Watson <cjwatson@ubuntu.com>
20323
20324 Add btrfs probing support, currently only in the single-device case.
20325
20326 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20327 function.
20328 (grub_guess_root_device): Call find_root_device_from_mountinfo
20329 before looking in /dev.
20330
b1d17e10
VS
203312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20332
20333 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20334 GRUB_DISK_SIZE_UNKNOWN.
20335 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20336
dfbfe004
JS
203372010-05-31 Jiro SEKIBA <jir@unicus.jp>
20338
20339 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20340 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20341 corrupted or not synced properly.
20342
c2ffc8e9
VS
203432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20346 Reported by: Seth Goldberg.
20347
56293166
VS
203482010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20351 addition of dest.
20352 Reported by: Seth Goldberg.
20353
7620e7de
VS
203542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20357 Reported by: Seth Goldberg.
20358
c837af3f
VS
203592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20362 64-bit address as signed on MIPS.
20363
c7c75cf4
CW
203642010-05-28 Colin Watson <cjwatson@ubuntu.com>
20365
20366 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20367 to the empty string.
20368
fa4b8490
BC
203692010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20370
20371 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20372
20373 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20374 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20375 * kern/misc.c (__enable_execute_stack): Disable on
20376 GRUB_MACHINE_EMU.
20377
a33075b9
CW
203782010-05-28 Colin Watson <cjwatson@ubuntu.com>
20379
20380 Make grub-probe work with symbolic links under /dev/mapper as well
20381 as with real block devices. The Linux world seems to be (at best)
20382 in transition here, and GRUB shouldn't get caught in the middle.
20383
20384 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20385 /dev/mapper.
20386
d8708134
CW
203872010-05-27 Colin Watson <cjwatson@ubuntu.com>
20388
20389 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20390 input files (in which case exit zero).
20391
db2102a0
CW
203922010-05-27 Colin Watson <cjwatson@ubuntu.com>
20393
20394 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20395 return NULL for various reasons even if it has a maximum-length
20396 buffer: for example, there might be a symlink loop, or the path
20397 might exceed PATH_MAX. If this happens, return NULL.
20398
5fdba519
RM
203992010-05-27 Robert Millan <rmh@gnu.org>
20400
20401 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20402 partmap module to handle cross-partmap setups.
20403 Reported by Orestes Mas. Gràcies!
20404
d1d368e4
CW
204052010-05-27 Colin Watson <cjwatson@ubuntu.com>
20406
20407 * util/grub-mkrescue.in: Initialise override_dir rather than
20408 assuming that it's unset or empty in the environment.
20409
95ac3c73
GS
204102010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20411
20412 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20413 variable index into p_index to suppress a warning with -Wshadow.
20414
7d8c0213
BC
204152010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20416
20417 * INSTALL: Added flex >= 2.5.35 requirement.
20418
db4d5813
VS
204192010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20422
f24f4300
VS
204232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 cmostest support.
20426
20427 * commands/i386/cmostest.c: New file.
20428 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20429 (cmostest_mod_SOURCES): New variable.
20430 (cmostest_mod_CFLAGS): Likewise.
20431 (cmostest_mod_LDFLAGS): Likewise.
20432 * conf/i386-pc.rmk: Likewise.
20433 * docs/grub.texi (Vendor power-on keys): New section.
20434 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20435 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20436 and GRUB_BUTTON_CMOS_ADDRESS.
20437 * util/grub.d/00_header.in: Handle powering-on by separate button.
20438
ad603f61
VS
204392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20442 Removed drawing_scrollbar argument. All users updated
20443 Fixes #29792.
20444 Reported by Jo Shields
20445
3ecb080a
VS
204462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20449 buffer since gfxterm handles double repaint.
20450
5f2316c1
VS
204512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20454 * term/gfxterm.c (real_scroll): Likewise.
20455
9a25f885
VS
204562010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20459 before calling BIOS.
20460
39fbb79a
VS
204612010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 * include/grub/i18n.h: Always enable grub_gettext.
20464
228cfa97
VS
204652010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20468 partition naming style.
20469
21717c8f
CW
204702010-05-21 Colin Watson <cjwatson@ubuntu.com>
20471
20472 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20473 not the first option.
20474
c0f48e65
CW
204752010-05-20 Colin Watson <cjwatson@ubuntu.com>
20476
20477 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20478
96779aec
CW
204792010-05-20 Colin Watson <cjwatson@ubuntu.com>
20480
20481 * util/misc.c: Move inclusion of <limits.h> to ...
20482 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20483
fa9d256e
GS
204842010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20485
20486 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20487 Fix merge error in NetBSD code.
20488 (find_partition_start) [__NetBSD__]: Likewise.
20489
123b7a85
BC
204902010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20491
20492 Fix grub-mkrescue usage unit testing.
20493
20494 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20495
74276c0d
CF
204962010-05-18 Christian Franke <franke@computer.org>
20497
20498 * util/grub.d/10_windows.in: Use path names instead of
20499 drive letters to prevent warning from Cygwin 1.7.
20500 Add drivemap command to menuentry if needed.
20501
c4f7b523
ST
205022010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20503
20504 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20505 gnumach and gnumach.gz.
20506
95b97950
VS
205072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20508
20509 * include/grub/i18n.h (gettext): Inline instead of using #define.
20510 (grub_gettext): Likewise.
20511 (_): Likewise.
20512
01b8d2d7
VS
205132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20516 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20517 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20518 (main): Add a slash after pkglibdirroot.
20519
654e1d1e
VS
205202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * util/grub-install.in: Add missing "in" keyword.
20523
26966aeb
VS
205242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20527 Reported by: Seth Goldberg.
20528
75006747
VS
205292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20532
74cbf5bd
CW
205332010-05-18 Colin Watson <cjwatson@ubuntu.com>
20534
20535 * configure.ac: Check for Linux device-mapper support.
20536
20537 * util/hostdisk.c (device_is_mapped): New function.
20538 (find_partition_start): New function, partly broken out from
20539 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20540 device-mapper support added.
20541 (linux_find_partition): Use find_partition_start.
20542 (convert_system_partition_to_system_disk): Add `st' argument.
20543 Support Linux /dev/mapper/* devices if device-mapper support is
20544 available; only DM-RAID devices are understood at present.
20545 (find_system_device): Add `st' argument. Pass it to
20546 convert_system_partition_to_system_disk.
20547 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20548 find_system_device and convert_system_partition_to_system_disk. Use
20549 find_partition_start.
20550
20551 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20552 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20553 * util/deviceiter.c [__linux__]: Define MINOR.
20554 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20555 * util/mkdevicemap.c (grub_putchar): New function.
20556 (grub_getkey): New function.
20557 (grub_refresh): New function.
20558 (main): Set debug=all if -v -v is used.
20559
355b51e9
CW
205602010-05-18 Colin Watson <cjwatson@ubuntu.com>
20561
20562 Fix build with non-GNU libcs.
20563
20564 * util/misc.c (canonicalize_file_name): Move to ...
20565 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20566 grub_make_system_path_relative_to_its_root.
20567
7fb5c25f
CW
205682010-05-18 Colin Watson <cjwatson@ubuntu.com>
20569
20570 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20571 we handle finding grub-mkimage. Default to finding grub-mkimage in
20572 ${bindir} with program_transform_name applied, and provide a
20573 --grub-mkimage option to override this.
20574
1d3293d6
VS
205752010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 Remove grub-mkisofs.
20578
20579 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20580 (grub_mkisofs_SOURCES): Removed.
20581 (grub_mkisofs_CFLAGS): Removed.
20582 * util/mkisofs/defaults.h: Removed.
20583 * util/mkisofs/eltorito.c: Likewise.
20584 * util/mkisofs/exclude.h: Likewise.
20585 * util/mkisofs/hash.c: Likewise.
20586 * util/mkisofs/include/: Likewise.
20587 * util/mkisofs/include/fctldefs.h: Likewise.
20588 * util/mkisofs/include/mconfig.h: Likewise.
20589 * util/mkisofs/include/prototyp.h: Likewise.
20590 * util/mkisofs/include/statdefs.h: Likewise.
20591 * util/mkisofs/iso9660.h: Likewise.
20592 * util/mkisofs/joliet.c: Likewise.
20593 * util/mkisofs/match.c: Likewise.
20594 * util/mkisofs/match.h: Likewise.
20595 * util/mkisofs/mkisofs.c: Likewise.
20596 * util/mkisofs/mkisofs.h: Likewise.
20597 * util/mkisofs/msdos_partition.h: Likewise.
20598 * util/mkisofs/multi.c: Likewise.
20599 * util/mkisofs/name.c: Likewise.
20600 * util/mkisofs/rock.c: Likewise.
20601 * util/mkisofs/tree.c: Likewise.
20602 * util/mkisofs/write.c: Likewise.
20603
5dde9afe
VS
206042010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 Unify grub-mkimage accross platforms.
20607
20608 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20609 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20610 (grub_mkelfimage_SOURCES): Removed.
20611 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20612 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20613 (bin_UTILITIES): Add grub-mkimage.
20614 (grub_mkimage_SOURCES): New variable.
20615 (kernel_img_HEADERS): Remove machine/kernel.h.
20616 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20617 (pkglib_PROGRAMS): Add kernel.img.
20618 (kernel_img_HEADERS): Add machine/kernel.h.
20619 (kernel_img_FORMAT): Removed.
20620 (bin_UTILITIES): Remove grub-mkimage.
20621 (grub_mkimage_SOURCES): Removed.
20622 (grub_mkimage_CFLAGS): Likewise.
20623 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20624 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20625 (pkglib_PROGRAMS): Add kernel.img.
20626 (bin_UTILITIES): Remove grub-mkimage.
20627 (grub_mkimage_SOURCES): Removed.
20628 (grub_mkimage_CFLAGS): Likewise.
20629 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20630 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20631 (pkglib_PROGRAMS): Add kernel.img.
20632 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20633 (pkglib_PROGRAMS): Add kernel.img.
20634 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20635 (grub_mkimage_SOURCES): Removed.
20636 (grub_mkimage_CFLAGS): Likewise.
20637 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20638 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20639 (pkglib_PROGRAMS): Add kernel.img.
20640 (bin_UTILITIES): Remove grub-mkimage.
20641 (grub_mkimage_SOURCES): Removed.
20642 (grub_mkimage_CFLAGS): Likewise.
20643 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20644 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20645 (grub_mkimage_SOURCES): Removed.
20646 (grub_mkimage_CFLAGS): Likewise.
20647 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20648 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20649 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20650 (grub_pe32_optional_header): ... this.
20651 (grub_pe64_optional_header): ... and this. All users updated.
20652 (GRUB_PE32_PE32_MAGIC): Split into ..
20653 (GRUB_PE32_PE32_MAGIC): .. this.
20654 (GRUB_PE32_PE64_MAGIC): .. and this.
20655 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20656 * include/grub/elf.h (PT_GNU_STACK): New definition.
20657 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20658 * include/grub/i386/efi/kernel.h: Likewise.
20659 * include/grub/i386/kernel.h: Likewise.
20660 * include/grub/i386/pc/kernel.h: Likewise.
20661 * include/grub/i386/qemu/boot.h: Likewise.
20662 * include/grub/mips/kernel.h: Likewise.
20663 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20664 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20665 * include/grub/powerpc/kernel.h: Likewise.
20666 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20667 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20668 * include/grub/sparc64/kernel.h: Likewise.
20669 * include/grub/x86_64/efi/kernel.h: Likewise.
20670 * include/grub/x86_64/kernel.h: Likewise.
20671 * include/grub/offsets.h: New file.
20672 * include/grub/kernel.h (grub_module_info): Split into ...
20673 (grub_module_info32): ... this.
20674 (grub_module_info64): ... and this.
20675 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20676 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20677 (grub_boot_blocklist): Moved from here ...
20678 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20679 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20680 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20681 * include/grub/types.h (grub_target_to_host16): Removed.
20682 (grub_target_to_host32): Likewise.
20683 (grub_target_to_host64): Likewise.
20684 (grub_host_to_target16): Likewise.
20685 (grub_host_to_target32): Likewise.
20686 (grub_host_to_target64): Likewise.
20687 (grub_host_to_target_addr): Likewise.
20688
20689 Support grub-mkrescue for efi, coreboot and qemu.
20690
20691 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20692 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20693 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20694 * util/grub-mkrawimage.c: Moved from here ...
20695 * util/grub-mkimage.c: ... here. All users updated.
20696 (ALIGN_ADDR): Use image_target.
20697 (TARGET_NO_FIELD): New const.
20698 (image_target_desc): New type.
20699 (image_targets): New array.
20700 (grub_target_to_host64): Use image_target.
20701 (grub_target_to_host32): Likewise.
20702 (grub_target_to_host16): Likewise.
20703 (grub_host_to_target64): Likewise.
20704 (grub_host_to_target32): Likewise.
20705 (grub_host_to_target16): Likewise.
20706 (grub_host_to_target_addr): Likewise.
20707 (generate_image): Handle multiimage.
20708 (main): Require -O parameter. All users updated.
20709 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20710 util/efi/grub-mkimage.c
20711 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20712 New option --rom-directory.
20713 Use xorriso.
20714 * util/i386/efi/grub-mkimage.c: Removed.
20715 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20716 (grub_target_to_host32): Likewise.
20717 (grub_target_to_host64): Likewise.
20718 (grub_host_to_target16): Likewise.
20719 (grub_host_to_target32): Likewise.
20720 (grub_host_to_target64): Likewise.
20721 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20722 (grub_target_to_host32): Likewise.
20723 (grub_target_to_host64): Likewise.
20724 (grub_host_to_target16): Likewise.
20725 (grub_host_to_target32): Likewise.
20726 (grub_host_to_target64): Likewise.
20727
f4fc97d0
BC
207282010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20729
20730 Source tree is reorganized for emu build.
20731
20732 * include/grub/util/console.h: Move from here...
20733 * include/grub/emu/console.h: ...to here.
20734 * include/grub/util/getroot.h: Move from here...
20735 * include/grub/emu/getroot.h: ...to here.
20736 * include/grub/util/hostdisk.h: Move from here...
20737 * include/grub/emu/hostdisk.h: ...to here.
20738 * util/console.c: Move from here...
20739 * kern/emu/console.c: ...to here.
20740 * util/getroot.c: Move from here...
20741 * kern/emu/getroot.c: ...to here.
20742 * util/grub-emu.c: Move from here...
20743 * kern/emu/main.c: ...to here.
20744 * util/hostdisk.c: Move from here...
20745 * kern/emu/hostdisk.c: ...to here.
20746 * util/hostfs.c: Move from here...
20747 * kern/emu/hostfs.c: ...to here.
20748 * util/mm.c: Move from here...
20749 * kern/emu/mm.c: ...to here.
20750 * util/pci.c: Move from here...
20751 * bus/emu/pci.c: ...to here.
20752 * util/sdl.c: Move from here...
20753 * video/emu/sdl.c: ...to here.
20754 * util/time.c: Move from here...
20755 * kern/emu/time.c: ...to here.
20756 * util/usb.c: Move from here...
20757 * bus/usb/emu/usb.c: ...to here.
20758
20759 * include/grub/emu/misc.h: New header for grub-emu functions.
20760 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20761
20762 * conf/any-emu.rmk: Rule updates for above renames.
20763 * conf/common.rmk: Likewise.
20764 * conf/i386-pc.rmk: Likewise.
20765 * conf/i386-qemu.rmk: Likewise.
20766 * conf/mips.rmk: Likewise.
20767 * conf/sparc64-ieee1275.rmk: Likewise.
20768 * conf/x86-efi.rmk: Likewise.
20769
20770 * disk/lvm.h: #include updates for above renames.
20771 * util/grub-mkrelpath.c: Likewise.
20772 * util/grub-probe.c: Likewise.
20773 * util/i386/pc/grub-setup.c: Likewise.
20774 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20775 * kern/emu/console.c: Likewise.
20776 * kern/emu/getroot.c: Likewise.
20777 * kern/emu/hostdisk.c: Likewise.
20778 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20779
20780 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20781 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20782 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20783 * util/misc.c: Remove grub-emu functions.
20784
cced9145
VS
207852010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20786
20787 Fix gfxmenu crash.
20788 Reported by: Thorsten Grützmacher.
20789
20790 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20791 timeout hook.
20792 (circprog_set_property): Register and unregister timeout hook.
20793 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20794 (label_destroy): Free template. and unregister hook.
20795 (label_set_state): New function.
20796 (label_set_property): Handle templates and hooks.
20797 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20798 timeout hook.
20799 (progress_bar_set_property): Register and unregister timeout hook.
20800 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20801 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20802 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20803 (update_timeout_visit): Removed.
20804 (update_timeouts): New function.
20805 (redraw_timeouts): Likewise.
20806 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20807 (grub_gfxmenu_clear_timeout): Likewise.
20808 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20809 (grub_gfxmenu_timeout_notify): Likewise.
20810 (grub_gfxmenu_timeout_notifications): New external variable.
20811 (grub_gfxmenu_timeout_register): New function.
20812 (grub_gfxmenu_timeout_unregister): Likewise.
20813
c6e5caab
VS
208142010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20815
20816 Transform (broken) vga terminal into (working) vga video driver.
20817
20818 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20819 video/i386/pc/vga.c.
20820 * include/grub/video.h (grub_video_driver_id):
20821 Add GRUB_VIDEO_DRIVER_VGA.
20822 * term/i386/pc/vga.c: Renamed to ...
20823 * video/i386/pc/vga.c: ...this
20824 (DEBUG_VGA): Removed.
20825 (CHAR_WIDTH): Likewise.
20826 (CHAR_HEIGHT): Likewise.
20827 (TEXT_WIDTH): Likewise.
20828 (TEXT_HEIGHT): Likewise.
20829 (DEFAULT_FG_COLOR): Likewise.
20830 (DEFAULT_BG_COLOR): Likewise.
20831 (colored_char): Likewise.
20832 (xpos): Likewise.
20833 (ypos): Likewise.
20834 (cursor_state): Likewise.
20835 (fg_color): Likewise.
20836 (bg_color): Likewise.
20837 (text_buf): Likewise.
20838 (page): Likewise.
20839 (font): Likewise.
20840 (framebuffer): New variable.
20841 (set_read_map): Disabled.
20842 (setup): New variable.
20843 (is_target): Likewise.
20844 (grub_vga_mod_init): Likewise.
20845 (grub_vga_mod_fini): Likewise.
20846 (check_vga_mem): Likewise.
20847 (write_char): Likewise.
20848 (write_cursor): Likewise.
20849 (scroll_up): Likewise.
20850 (grub_vga_putchar): Likewise.
20851 (grub_vga_getcharwidth): Likewise.
20852 (grub_vga_getwh): Likewise.
20853 (grub_vga_getxy): Likewise.
20854 (grub_vga_gotoxy): Likewise.
20855 (grub_vga_cls): Likewise.
20856 (grub_vga_setcolorstate): Likewise.
20857 (grub_vga_setcursor): Likewise.
20858 (grub_video_vga_init): New function.
20859 (grub_video_vga_setup): Likewise.
20860 (grub_video_vga_fini): Likewise.
20861 (update_target): Likewise.
20862 (grub_video_vga_blit_bitmap): Likewise.
20863 (grub_video_vga_blit_render_target): Likewise.
20864 (grub_video_vga_set_active_render_target): Likewise.
20865 (grub_video_vga_get_active_render_target): Likewise.
20866 (grub_video_vga_swap_buffers): Likewise.
20867 (grub_video_vga_set_palette): Likewise.
20868 (grub_video_vga_get_info_and_fini): Likewise.
20869 (grub_vga_term): Removed.
20870 (grub_video_vga_adapter): New variable.
20871 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20872 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20873
2bf61a98
VS
208742010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20875
20876 * video/readers/jpeg.c: Indented.
20877
09ddcd11
VS
208782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 Various jpeg cleanups.
20881
20882 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20883 (grub_jpeg_decode_quan_table): Use sizeof.
20884 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20885
e5507505
PH
208862010-05-05 Peter Hurley <No e-mail available> (tiny change)
20887
20888 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20889 tables. Ignore non-last ac bit.
20890 (grub_jpeg_decode_quan_table): Likewise.
20891
7e720a9b
VS
208922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20895 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20896 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20897 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20898 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20899 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20900
a7fc080b
VS
209012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20904 error.
20905
2bf6012d
VS
209062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20909
265d68cd
VS
209102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20911
20912 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20913 condition.
20914
209152010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20916
20917 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20918 part.
20919
265d68cd 209202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20921
20922 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20923 pointers.
20924
265d68cd 209252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20926
20927 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20928
d1b61374
CF
209292010-05-01 Christian Franke <franke@computer.org>
20930
20931 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20932 Remove broken Cygwin path conversion.
20933 * util/misc.c: [__CYGWIN__] Add include and define.
20934 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20935 for Cygwin 1.7.
20936 (make_system_path_relative_to_its_root): Simplify loop, replace early
20937 return by break.
20938 [__CYGWIN__] Add conversion to win32 path.
20939 Include "/" case in trailing slash removal.
20940
3558c6e9
VS
209412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20942
20943 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20944 Reported by: Seth Goldberg
20945
f5f3ff93
VS
209462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 * commands/help.c (grub_cmd_help): Fix a typo.
20949 Reported by: Seth Goldberg
20950
d8b5cd40
VS
209512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20954 name and add N_.
20955 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20956 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20957 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20958 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20959 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20960 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20961 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20962 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20963 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20964 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20965 * normal/context.c (GRUB_MOD_INIT): Likewise.
20966 * normal/main.c (GRUB_MOD_INIT): Likewise.
20967 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20968 * term/serial.c (GRUB_MOD_INIT): Likewise.
20969 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20970
88c14915
VS
209712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20974 extra == 0.
20975
165134bc
VS
209762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20977
20978 * commands/iorw.c: New file.
20979 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20980 (iorw_mod_SOURCES): New variable.
20981 (iorw_mod_CFLAGS): Likewise.
20982 (iorw_mod_LDFLAGS): Likewise.
20983
c5ac9b32
VS
209842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20985
20986 Hotkey support
20987
20988 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20989 * normal/main.c (hotkey_aliases): New variable.
20990 (grub_normal_add_menu_entry): Parse "--hotkey".
20991 * normal/menu_text.c (run_menu): Handle hotkeys.
20992
ce60689c
VS
209932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 * kern/i386/coreboot/init.c (grub_machine_init): Call
20996 grub_machine_mmap_init on qemu.
20997
0359d006
VS
209982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 * boot/i386/qemu/boot.S: Add a missing .code16.
21001
7819a456
VS
210022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 Use LBIO on coreboot.
21005
21006 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21007 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21008 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21009 New declaration.
21010 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21011 grub_machine_mmap_init on coreboot.
21012 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21013 GRUB_LINUXBIOS_MEMBER_LINK.
21014 (grub_machine_mmap_iterate): Fix declaration.
21015 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21016
7210dca9
VS
210172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 Split coreboot and multiboot ports.
21020
21021 * conf/i386-multiboot.rmk: New file.
21022 * configure.ac: Add multiboot port.
21023 * include/grub/i386/multiboot/boot.h: New file.
21024 * include/grub/i386/multiboot/console.h: Likewise.
21025 * include/grub/i386/multiboot/init.h: Likewise.
21026 * include/grub/i386/multiboot/kernel.h: Likewise.
21027 * include/grub/i386/multiboot/loader.h: Likewise.
21028 * include/grub/i386/multiboot/memory.h: Likewise.
21029 * include/grub/i386/multiboot/serial.h: Likewise.
21030 * include/grub/i386/multiboot/time.h: Likewise.
21031 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21032 * loader/multiboot.c: Likewise.
21033 * loader/multiboot_mbi2.c: Likewise.
21034 * util/grub-mkrescue.in: Generate multiboot rescue.
21035
6f8aaf68
VS
210362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21037
3080f7a7
VS
21038 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21039
210402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21041
21042 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
21043
21044 * commands/terminal.c (abstract_terminal): New struct.
21045 (handle_command): New function. Based on grub_cmd_terminal_input.
21046 (grub_cmd_terminal_input): Use handle_command.
21047 (grub_cmd_terminal_output): Use handle_command.
21048
a8ebb841
BC
210492010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21050
21051 Fix comment handling.
21052
21053 * tests/grub_script_comments.in: New testcase.
21054 * conf/tests.rmk: Rules for new testcase.
21055 * script/yylex.l: Updated flex rules.
21056
bb06ba08
ST
210572010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21058
21059 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
21060 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21061 if argc is 1.
bb06ba08 21062
cc9d2425
VS
210632010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21064
21065 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21066 autogen issues.
21067
460d8402
CF
210682010-04-26 Christian Franke <franke@computer.org>
21069
21070 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21071 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21072 (grub_get_prefix): Remove function.
21073 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21074 make_system_path_relative_to_its_root ().
21075 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21076
553c01f9
CF
210772010-04-24 Christian Franke <franke@computer.org>
21078
21079 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21080 (kernel_img_LDFLAGS): Remove -static-libgcc.
21081
2aec1692
CF
210822010-04-24 Christian Franke <franke@computer.org>
21083
21084 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21085 and CHECK_END_SYMBOL if grub-emu is built.
21086 Unset TARGET_OBJ2ELF if grub-emu is built
21087 without module support.
21088
f67dc308
JS
210892010-04-24 Jiro SEKIBA <jir@unicus.jp>
21090
21091 Nilfs2 support.
21092
21093 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21094 (grub_fstest_SOURCES): Likewise.
21095 (pkglib_MODULES): Add nilfs2.mod.
21096 (nilfs2_mod_SOURCES): New variable.
21097 (nilfs2_mod_CFLAGS): Likewise.
21098 (nilfs2_mod_LDFLAGS): Likewise.
21099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21100 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21101 * fs/nilfs2.c: New file.
21102
4ba8d354
VS
211032010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21106 is not supported.
21107
0d2c20c6
GS
211082010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21109
21110 Add grub-mkconfig support for NetBSD.
21111
21112 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21113 * util/grub-mkconfig.in: export new NetBSD specific variables.
21114 * po/POTFILES-shell: added 10_netbsd.in.
21115 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21116
bc4a2d83
BC
211172010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21118
21119 Fix emu build with grub-emu-pci and grub-emu-modules.
21120
21121 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21122 functions.
21123 * include/grub/libpciaccess.h: New file.
21124 * conf/any-emu.rmk: Update kernel headers for emu build.
21125
f48c87aa
VS
211262010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21129
18959385
VS
211302010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21133
0037de3f
VS
211342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21137 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21138 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21139 util/ieee1275/ofpath.c.
21140 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21141 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21142 * include/grub/sparc64/ieee1275/boot.h
21143 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21144 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21145 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21146 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21147 const char *.
21148 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21149 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21150 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21151 install.
21152
38e55e90
GS
211532010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21154
21155 * util/grub-mkconfig.in: Corrected two == equality tests.
21156 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21157 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21158 expect a number appended to it.
21159 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21160 expects a number appended to it.
21161
a9e6ff28
VS
211622010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21163
21164 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21165
0b830b8f
VS
211662010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21167
21168 * util/hostdisk.c (make_device_name): Change to new partition naming.
21169
0973daeb
VS
211702010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21173
460d8402 211742010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
21175
21176 * Makefile.in: Add missing localedir setting.
21177
0b456309
CW
211782010-04-14 Colin Watson <cjwatson@ubuntu.com>
21179
21180 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21181 mistake in r2156. Noticed by Anthony Fok.
21182
21183 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21184 @localedir@.
21185 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21186
08f46d62
BC
211872010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21188
21189 Fix a spurious, uninitialized variable warning.
21190
21191 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21192 Initialize variable, shdr.
21193 (grub_freebsd_load_elfmodule): Likewise.
21194 (grub_freebsd_load_elf_meta): Likewise.
21195
8c4a72d4
BC
211962010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21197
21198 Fix for escaped dollar in double quoted strings.
21199
21200 * script/yylex.l: Updated flex rules.
21201 * conf/tests.rmk: Rule for new testcase.
21202 * tests/grub_script_dollar.in: New testcase.
21203
ce44826e
CPE
212042010-04-13 Carles Pina i Estany <carles@pina.cat>
212052010-04-13 Colin Watson <cjwatson@ubuntu.com>
21206
21207 Enclose all translated strings in grub.cfg in single quotes, and
21208 escape them appropriately (Ubuntu bug #552921).
21209
21210 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21211 * util/grub.d/10_hurd.in: Use it.
21212 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21213 * util/grub.d/10_linux.in (linux_entry): Likewise.
21214
4b0cd8f8
VS
212152010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 Fix cygwin compilation.
21218
21219 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21220 * include/grub/misc.h (__register_frame_info)
21221 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21222 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21223 * kern/misc.c (__register_frame_info)
21224 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21225 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21226
01fcf061
VS
212272010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21230
5d04b11e
VS
212312010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Unify libgcc processing.
21234
21235 * Makefile.in (kernel_img_LDFLAGS): New variable.
21236 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21237 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21238 overwriting.
21239 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21240 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21241 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21242 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21243 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21244 overwriting. Remove -lgcc and -static-libgcc
21245 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21246 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21247 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21248 (kernel_img_LDFLAGS): Append instead of overwriting.
21249 Remove -lgcc and -static-libgcc
21250 * conf/sparc64-ieee1275.rmk: Likewise.
21251 * include/grub/powerpc/libgcc.h: Move to ...
21252 * include/grub/libgcc.h: .. this.
21253 * include/grub/libgcc.h: Don't export most of the function on x86.
21254 (__bswapsi2): New export.
21255 (__bswapdi2): Likewise.
21256 * include/grub/mips/libgcc.h: Removed.
21257 * include/grub/sparc64/libgcc.h: Likewise.
21258
b7f3ac29
VS
212592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21262 disk_info_msg (conflicts with gettexting into languages with cases).
21263
2c7031b1
GS
212642010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21265
21266 Add grub-probe support for NetBSD.
21267
21268 * util/getroot.c (find_root_device): Convert block device to
21269 character device on NetBSD.
21270 * util/probe.c (probe): Require character device on NetBSD.
21271 * util/hostdisk.c: NetBSD specific headers.
21272 (configure_device_driver): new function to tune device driver
21273 parameters (currently only for NetBSD floppy driver).
21274 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21275 via disklabel ioctl).
21276 (open_device): call configure_device_driver on NetBSD.
21277 (convert_system_partition_to_system_disk): NetBSD specific code.
21278 (device_is_wholedisk): Likewise.
21279 (grub_util_biosdisk_get_grub_dev): Likewise.
21280 (make_device_name): Fixed a typo in bsd_part_str.
21281 * configure.ac: check for opendisk() and getrawpartition() on
21282 NetBSD and set LIBUTIL.
21283 * Makefile.in: add LIBUTIL to LIBS.
21284
f516290c
BC
212852010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21286
21287 Documentation fix.
21288
21289 * util/grub-script-check.c: Better help message.
21290
d8dcc0df
BC
212912010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21292
21293 Fix FreeBSD build.
21294
21295 * configure.ac: Flex version check.
21296 * conf/common.rmk: Add -Wno-error to sh.mod.
21297 * script/yylex.l: Remove all #pragma.
21298
6734334a
VS
212992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21302 prototype.
21303 Reported by: Seth Goldberg.
21304
daea6abd
VS
213052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21308 Rename "module" to "module2".
21309 Reported by: Seth Goldberg.
21310
f2fd9d2b
VS
213112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21312
21313 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21314 EXPORT_FUNC.
21315 Reported by: Seth Goldberg.
21316
be124579
VS
213172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21318
21319 * lib/posix_wrap/locale.h: Add missing file.
21320 Reported by: Seth Goldberg.
21321
ef5da797
VS
213222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21323
21324 grub-emu module load support.
21325
21326 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21327 NO_DYNAMIC_MODULES switched to this.
21328 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21329 (CFLAGS): Likewise.
21330 * conf/any-emu.rmk: Generate symlist.
21331 (kernel_img_HEADERS): Add util/datetime.h.
21332 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21333 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21334 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21335 kern/$(target_cpu)/cache.S.
21336 * configure.ac (grub-emu-modules): New option.
21337 * genmk.rb: Handle multiple source lists.
21338 * include/grub/sdl.h: New file.
21339 * include/grub/libusb.h: Likewise.
21340 * util/grub-emu.c (main): Hanle (host) root.
21341 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21342 GRUB_ERR_UNKNOWN_DEVICE.
21343 * util/misc.c: Move mm functions to ...
21344 * util/mm.c: ... here. All users updated.
21345
47822096
VS
213462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21347
21348 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21349 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21350 missing files.
21351 (maintainer-clean): Remove libgcrypt-grub.
21352
5d7e7445
VS
213532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21356
25f4e252
EC
213572010-04-09 EFI Coder <eficoder@hotmail.com>
21358
21359 * normal/menu_text.c (print_message): Clean up the message and show
21360 the Fn information when on EFI
21361 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21362
027de555
VS
213632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21364
21365 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21366 All users updated.
21367 * normal/crypto.c (read_crypto_list): Likewise.
21368 * normal/dyncmd.c (read_command_list): Likewise.
21369 * normal/term.c (read_terminal_list): Likewise.
21370 * normal/main.c (read_lists): Use explicit prefix.
21371 (read_lists_hook): Use read_lists.
21372 (grub_normal_execute): Likewise.
21373
47779711
VS
213742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21377 Reported by: Thomas Schmitt.
21378 Add -no-emul-boot to grub-mkisofs parameters.
21379
1118c32e
VS
213802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21381
21382 * font/font.c: Indented.
21383
7d652447
BC
213842010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21385
21386 Elif support to GRUB script (by Deepak Vankadaru).
21387
21388 * tests/grub_script_if.in: New testcase.
21389 * conf/tests.rmk: Rule for new testcase.
21390 * script/parser.y: Grammar rules for elif.
21391
34bb22df
BC
213922010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21393
21394 While and until loops support to GRUB script.
21395
21396 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21397 (grub_script_create_cmdwhile): New function prototype.
21398 (grub_script_execute_cmdwhile): New function prototype.
21399 * script/execute.c (grub_script_execute_cmdwhile): New function.
21400 * script/parser.y (command): New commands.
21401 (whilecmd): New grammar rule.
21402 (untilcmd): New grammar rule.
21403 * script/script.c (grub_script_create_cmdwhile): New function.
21404 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21405 function.
21406
21407 * tests/grub_script_while1.in: New testcase.
21408 * conf/tests.rmk: Rule for new testcase.
21409
e215d8e0
VS
214102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21413 as *.jpg.
21414
d7c43ba1
MV
214152010-04-09 Mario Vazquez <mariovazq@gmail.com>
21416
21417 GRUB_BACKGROUND support.
21418
21419 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21420 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21421
d64795c0
VS
214222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21425 Idea by: Mario Vazquez
d64795c0
VS
21426
21427 * util/grub.d/00_header.in: Load pf2 and image modules.
21428
f267f83a
VS
214292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 grub-mkconfig multiple terminal support.
21432
21433 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21434 * util/grub.d/00_header.in: Likewise.
21435
b7841ceb
VS
214362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21437
21438 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21439 we use cd $(srcdir).
21440
df60998c
CW
214412010-04-08 Colin Watson <cjwatson@ubuntu.com>
21442
21443 * util/grub.d/10_linux.in: Only use the first word of
21444 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21445 spaces in GRUB_DISTRIBUTOR.
21446 * util/grub.d/10_kfreebsd.in: Likewise.
21447 * util/grub.d/10_hurd.in: Likewise.
21448
fa09c82e
BC
214492010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21450
14e18ae3 21451 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21452
21453 * tests/util/grub-shell.in: Remove -serial stdio option.
21454
daf892b3
BC
214552010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 POSIX header file wrappers.
21458
21459 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21460 equivalents.
21461 * lib/posix_wrap/ctype.h: Likewise.
21462 * lib/posix_wrap/errno.h: Likewise.
21463 * lib/posix_wrap/langinfo.h: Likewise.
21464 * lib/posix_wrap/limits.h: Likewise.
21465 * lib/posix_wrap/localcharset.h: Likewise.
21466 * lib/posix_wrap/stdint.h: Likewise.
21467 * lib/posix_wrap/stdio.h: Likewise.
21468 * lib/posix_wrap/stdlib.h: Likewise.
21469 * lib/posix_wrap/string.h: Likewise.
21470 * lib/posix_wrap/sys/types.h: Likewise.
21471 * lib/posix_wrap/unistd.h: Likewise.
21472 * lib/posix_wrap/wchar.h: Likewise.
21473 * lib/posix_wrap/wctype.h: Likewise.
21474 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21475 (grub_script.yy.h): Likewise.
21476 * script/yylex.l: Remove POSIX emulation #defines.
21477 * Makefile.in (POSIX_CFLAGS): New variable.
21478 (GNULIB_UTIL_CFLAGS): Likewise.
21479
21480 Regexp support.
21481
21482 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21483 (regexp_mod_SOURCES): New variable.
21484 (regexp_mod_CFLAGS): Likewise.
21485 (regexp_mod_LDFLAGS): Likewise.
21486 * commands/regexp.c: New file.
21487 * gnulib/regcomp.c: New file. Imported from gnulib.
21488 * gnulib/regex.c: Likewise.
21489 * gnulib/regex_internal.c: Likewise.
21490 * gnulib/regex_internal.h: Likewise.
21491 * gnulib/regexec.c: Likewise.
21492 * gnulib/regex.h: Likewise.
21493
974ac4f7
VS
214942010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21497 unsupported video mode types.
21498
2622c3ff
VS
214992010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21500
21501 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21502
064cb524
VS
215032010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21506 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21507
a8c3b552
VS
215082010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21509
21510 Remove unused grub_vga_get_font.
21511
21512 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21513 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21514
187bbe3d
GS
215152010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21516
21517 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21518 * include/grub/misc.h: Likewise.
21519
b9396631
GS
215202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21521
21522 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21523 for which failure is fatal.
21524
50479feb
GS
215252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21526
21527 * util/grub-install.in: Use mkdir -p to create grub directory.
21528 * util/i386/efi/grub-install.in: Likewise.
21529 * util/ieee1275/grub-install.in: Likewise.
21530
b1654fdf
GS
215312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21532
21533 * Makefile.in (LEX): new variable.
21534
bd5a6415
GS
215352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21536
21537 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21538 `=' and added double quotes on operands of this equality test.
21539
3db3a82b
VS
215402010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21541
21542 * Makefile.in (uninstall): Remove a leftover debug echo.
21543 Reported by: Grégoire Sutre
21544
38023412
VS
215452010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 MIPS multiboot2 support.
21548
21549 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21550 (multiboot2_mod_SOURCES): New variable.
21551 (multiboot2_mod_CFLAGS): Likewise.
21552 (multiboot2_mod_LDFLAGS): Likewise.
21553 (multiboot2_mod_ASFLAGS): Likewise.
21554 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21555 definition.
21556 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21557 (MULTIBOOT_MBI_REGISTER): Likewise.
21558 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21559 (MULTIBOOT_ELF32_MACHINE): Likewise.
21560 (MULTIBOOT_ELF64_MACHINE): Likewise.
21561 * include/grub/mips/multiboot.h: New file.
21562 * include/grub/video.h (grub_video_driver_id): New type
21563 GRUB_VIDEO_DRIVER_SM712.
21564 (grub_video_get_info_and_fini): Export.
21565 (grub_video_get_palette): Likewise.
21566 (grub_video_get_driver_id): Likewise.
21567 * include/multiboot2.h: Resynced with spec.
21568 * loader/i386/multiboot.c: Moved from here ...
21569 * loader/multiboot.c: ... here. All users updated.
21570 (grub_multiboot_boot): Use platform-specific macros.
21571 * loader/i386/multiboot_elfxx.c: Moved from here ...
21572 * loader/multiboot_elfxx.c: ... here. All users updated.
21573 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21574 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21575 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21576
47674667
VS
215772010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21578
21579 Import gnulib argp module.
21580
21581 * gnulib/argp-ba.c: New file.
21582 * gnulib/argp-eexst.c: Likewise.
21583 * gnulib/argp-fmtstream.c: Likewise.
21584 * gnulib/argp-fmtstream.h: Likewise.
21585 * gnulib/argp-fs-xinl.c: Likewise.
21586 * gnulib/argp-help.c: Likewise.
21587 * gnulib/argp-namefrob.h: Likewise.
21588 * gnulib/argp-parse.c: Likewise.
21589 * gnulib/argp-pin.c: Likewise.
21590 * gnulib/argp-pv.c: Likewise.
21591 * gnulib/argp-pvh.c: Likewise.
21592 * gnulib/argp-version-etc.c: Likewise.
21593 * gnulib/argp-version-etc.h: Likewise.
21594 * gnulib/argp-xinl.c: Likewise.
21595 * gnulib/argp.h: Likewise.
21596
495442ed
VS
215972010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * kern/device.c (grub_device_iterate): Clear errors after failed
21600 opening device.
21601
f9fd65df
VS
216022010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21605 returned by firmware.
21606
af09641e
VS
216072010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21610 compilation on coreboot and qemu
21611
016883a5
VS
216122010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21613
21614 * include/multiboot2.h: Resync with spec.
21615
f97e1f7d
VS
216162010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 Multiboot2 tag support
21619
21620 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21621 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21622 Remove loader/multiboot_loader.c.
21623 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21624 (grub_multiboot2_real_boot): Likewise.
21625 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21626 (grub_get_multiboot_mmap_count): New proto.
21627 (grub_fill_multiboot_mmap): Likewise.
21628 (grub_multiboot_set_video_mode): Likewise.
21629 (grub_multiboot_set_console): Likewise.
21630 (grub_multiboot_load): Likewise.
21631 (grub_multiboot_load_elf): Likewise.
21632 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21633 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21634 * include/multiboot.h: Resynced with specification.
21635 * include/multiboot2.h: Resynced with specification.
21636 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21637 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21638 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21639 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21640 users updated.
21641 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21642 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21643 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21644 Removed.
21645 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21646 Moved from here...
21647 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21648 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21649 Moved from here...
21650 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21651 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21652 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21653 All users updated.
21654 * loader/i386/multiboot_mbi2.c: New file.
21655
3506b90b
VS
216562010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 Resync with gnulib.
21659
21660 * Makefile.in (GNULIB_CFLAGS): New variable.
21661 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21662 (grub_script_check_CFLAGS): New variable.
21663 * gnulib/alloca.h: Resync with gnulib.
21664 * gnulib/error.c: Likewise.
21665 * gnulib/error.h: Likewise.
21666 * gnulib/fnmatch.c: Likewise.
21667 * gnulib/fnmatch_loop.c: Likewise.
21668 * gnulib/getdelim.c: Likewise.
21669 * gnulib/getline.c: Likewise.
21670 * gnulib/getopt.c: Likewise.
21671 * gnulib/getopt1.c: Likewise.
21672 * gnulib/getopt_int.h: Likewise.
21673 * gnulib/gettext.h: Likewise.
21674 * gnulib/progname.c: Likewise.
21675 * gnulib/progname.h: Likewise.
21676
394a3120
GS
216772010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21678
21679 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21680 which is the case with --disabled-nls.
21681
21682 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21683 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21684 * util/misc.c: Likewise.
21685 * util/mkisofs/mkisofs.c: Likewise.
21686 * util/mkisofs/mkisofs.h: Likewise.
21687
969d1c78
VS
216882010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 Simplify Apple CC support.
21691
21692 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21693 Add 0 byte at the end not to have a symbol with empty target.
21694 * mmap/i386/pc/mmap_helper.S: Likewise.
21695 * genmk.rb: Ignore errors 2030 and 2050.
21696 * kern/i386/pc/startup.S: Use LOCAL when possible.
21697
8d2977bb
BC
216982010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21699
21700 Testcase and the fix for final semicolon on cmdline.
21701
21702 * tests/grub_script_final_semicolon.in: New testcase.
21703 * conf/tests.rmk: Rules for the new testcase.
21704 * script/parser.y: Grammar fix.
21705
a7bd6915
BC
217062010-03-26 BVK Chaitanya <bvk@localhost>
21707
21708 Blank lines testcase for GRUB script.
21709
21710 * tests/grub_script_blanklines.in: New testcase.
21711 * conf/tests.rmk: Rules for the new testcase.
21712
e4ff6628
VS
217132010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21714
21715 Don't use __FILE__.
21716
21717 * genmk.rb: Add -DGRUB_FILE to all C targets.
21718 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21719 * include/grub/list.h: Likewise.
21720 * include/grub/misc.h: Likewise.
21721 * include/grub/mm.h: Likewise.
21722 * include/grub/test.h: Likewise.
21723 * kern/mm.c: Likewise.
21724 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21725
6a5cf6b6
VS
217262010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 Sunpc partitions support.
21729
21730 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21731 (grub_fstest_SOURCES): Likewise.
21732 (pkglib_MODULES): Add part_sunpc.mod.
21733 (part_sunpc_mod_SOURCES): New variable.
21734 (part_sunpc_mod_CFLAGS): Likewise.
21735 (part_sunpc_mod_LDFLAGS): Likewise.
21736 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21737 * partmap/sunpc.c: New file.
21738
746d9045
BC
217392010-03-26 BVK Chaitanya <bvk@localhost>
21740
21741 For loop support to GRUB script.
21742
21743 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21744 (grub_script_create_cmdfor): New function prototype.
21745 (grub_script_execute_cmdfor): New function prototype.
21746 * script/execute.c (grub_script_execute_cmdfor): New function.
21747 * script/parser.y (command): New for command.
21748 (forcmd): New grammar rule.
21749 * script/script.c (grub_script_create_cmdfor): New function.
21750 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21751 function.
21752 * tests/grub_script_for1.in: New testcase.
21753 * conf/tests.rmk: Rules for new testcase.
21754
18486b18
VS
217552010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21756
21757 Nested partitions
21758
21759 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21760 'partition' is NULL, grub_partition_get_start already does that.
21761 * commands/loadenv.c (check_blocklists): Likewise.
21762 (write_blocklists): Likewise.
21763 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21764 (grub_fstest_SOURCES): Likewise.
21765 (pkglib_MODULES): Add part_bsd.mod.
21766 (part_bsd_mod_SOURCES): New variable.
21767 (part_bsd_mod_CFLAGS): Likewise.
21768 (part_bsd_mod_LDFLAGS): Likewise.
21769 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21770 (grub_emu_SOURCES): Likewise.
21771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21772 * include/grub/bsdlabel.h: New file.
21773 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21774 'get_name'.
21775 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21776 (grub_partition_map_list): New variable.
21777 (grub_partition_map_register): Inline.
21778 (grub_partition_map_unregister): Likewise.
21779 (FOR_PARTITION_MAPS): New macro.
21780 (grub_partition_map_iterate): Removed.
21781 (grub_partition_get_start): Handle nested partitions.
21782 * include/grub/msdos_partition.h: Remove bsd-related entries.
21783 (grub_pc_partition): Remove.
21784 * kern/disk.c (grub_disk_close): Free partition data.
21785 (grub_disk_adjust_range): Handle nested partitions.
21786 * kern/partition.c (grub_partition_map_probe): New function.
21787 (grub_partition_probe): Parse name to number, handle subpartitions.
21788 (get_partmap): New function.
21789 (grub_partition_iterate): Handle subpartitions.
21790 (grub_partition_get_name): Likewise.
21791 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21792 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21793 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21794 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21795 Set 'number'.
21796 (acorn_partition_map_probe): Remove.
21797 (acorn_partition_map_get_name): Likewise.
21798 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21799 Set 'number'.
21800 Set 'index' to 0 since there can be only one partition entry per sector.
21801 (amiga_partition_map_probe): Remove.
21802 (amiga_partition_map_get_name): Likewise.
21803 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21804 Set 'number'.
21805 Set 'offset' and 'index' to real positions of partitions.
21806 (apple_partition_map_probe): Remove.
21807 (apple_partition_map_get_name): Likewise.
21808 * partmap/bsdlabel.c: New file.
21809 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21810 Set 'number'.
21811 Allocate 'data' so it can be correctly freed.
21812 Set 'index' to offset inside sector.
21813 (gpt_partition_map_probe): Remove.
21814 (gpt_partition_map_get_name): Likewise.
21815 * partmap/msdos.c (grub_partition_parse): Remove.
21816 (pc_partition_map_iterate): Don't force raw access.
21817 Set 'number'.
21818 Make 'ext_offset' a local variable.
21819 (pc_partition_map_probe): Remove.
21820 (pc_partition_map_get_name): Remove.
21821 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21822 Set 'number'.
21823 (sun_partition_map_probe): Remove.
21824 (sun_partition_map_get_name): Likewise.
21825 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21826 (grub_pcpart_type): Likewise.
21827 * util/hostdisk.c (open_device): Handle new numbering scheme.
21828 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21829 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21830 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21831 * util/grub-install.in: Insert all subpartition modules.
21832 * util/ieee1275/grub-install.in: Likewise.
21833
a3940f88
AG
218342010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21835
21836 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21837 grammar.
21838
21b99926 218392010-03-24 Colin Watson <cjwatson@ubuntu.com>
21840
21841 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21842
bed1d352
CW
218432010-03-21 Colin Watson <cjwatson@ubuntu.com>
21844
21845 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21846 match where 'make install' puts them.
21847 * util/i386/efi/grub-install.in: Likewise.
21848
c9f58427
CW
218492010-03-19 Colin Watson <cjwatson@ubuntu.com>
21850
21851 * .bzrignore: Add gentrigtables, grub-script-check,
21852 grub_script_check_init.c, grub_script_check_init.h, and
21853 trigtables.c.
21854
f84afb27
VS
218552010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 * kern/parser.c: Indented.
21858
ed0e3d30
VS
218592010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21860
21861 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21862
0ea81d98
VS
218632010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21864
21865 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21866 alpha_mask_size == 0 case.
21867
0cdc2a09
BC
218682010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21869
21870 GRUB shell lexer and parser improvements.
21871
21872 * conf/any-emu.rmk: Build rule updates.
21873 * conf/common.rmk: Likewise.
21874 * conf/i386-coreboot.rmk: Likewise.
21875 * conf/i386-efi.rmk: Likewise.
21876 * conf/i386-ieee1275.rmk: Likewise.
21877 * conf/i386-pc.rmk: Likewise.
21878 * conf/powerpc-ieee1275.rmk: Likewise.
21879 * conf/x86_64-efi.rmk: Likewise.
21880
21881 * configure.ac: Configure check for flex.
21882
21883 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21884 types.
21885 (grub_lexer_param): Struct member updates.
21886 (grub_parser_param): Likewise.
21887 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21888 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21889 (grub_script_lexer_init): Prototype update.
21890 (grub_script_lexer_record_start): Likewise.
21891 (grub_script_lexer_record_stop): Likewise.
21892 (grub_script_lexer_yywrap): New function prototype.
21893 (grub_script_lexer_fini): Likewise.
21894 (grub_script_execute_argument_to_string): Removed by...
21895 (grub_script_execute_argument_to_argv): ...better version.
21896
21897 * script/execute.c (ROUND_UPTO): New macro.
21898 (grub_script_execute_cmdline): Out of memory fixes.
21899 (grub_script_execute_menuentry): Likewise.
21900 (grub_script_execute_argument_to_string): Removed. Update all
21901 users by...
21902 (grub_script_execute_argument_to_argv): ...better version.
21903 * script/function.c (grub_script_function_create): Use
21904 grub_script_execute_argument_to_argv instead of
21905 grub_script_execute_argument_to_string.
21906
21907 * script/lexer.c (check_varstate): Removed.
21908 (check_textstate): Removed.
21909 (grub_script_lexer_record_start): Likewise.
21910 (grub_script_lexer_record_stop): Likewise.
21911 (recordchar): Replaced with...
21912 (grub_script_lexer_record): ...new function.
21913 (nextchar): Removed.
21914 (grub_script_lexer_init): Rewritten.
21915 (grub_script_yylex): Rewritten.
21916 (append_newline): New function.
21917 (grub_script_lexer_yywrap): New function.
21918 (grub_script_lexer_fini): New function.
21919 (grub_script_yyerror): Sets error flag.
21920
21921 * script/yylex.l: New file.
21922 (grub_lexer_yyfree): Wrapper for flex yyffre.
21923 (grub_lexer_yyalloc): Likewise.
21924 (grub_lexer_yyrealloc): Likewise.
21925 * script/parser.y: Refactored.
21926
21927 * script/script.c (grub_script_arg_add): Out of memory fixes.
21928 (grub_script_add_arglist): Likewise.
21929 (grub_script_create_cmdline): Likewise.
21930 (grub_script_create_cmdmenu): Likewise.
21931 (grub_script_add_cmd): Likewise.
21932 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21933 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21934 unnecessary code.
21935
21936 * tests/grub_script_echo1.in: New testcase.
21937 * tests/grub_script_vars1.in: New testcase.
21938 * tests/grub_script_echo_keywords.in: New testcase.
21939
1d63a066
VS
219402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 Remove some redundancy in build system.
21943
21944 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21945 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21946 (TARGET_LDFLAGS): Add -nostdlib.
21947 (TARGET_IMG_LDFLAGS): Likewise.
21948 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21949 anything since mmap isn't available.
21950 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21951 Add util/time.c.
21952 (pkglib_MODULES): Remove reboot.mod.
21953 (reboot_mod_SOURCES): Removed.
21954 (reboot_mod_CFLAGS): Likewise.
21955 (reboot_mod_LDFLAGS): Likewise.
21956 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21957 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21958 (DEFSYMFILES): Add kernel_syms.lst.
21959 (kernel_img_HEADERS): Add common headers.
21960 (symlist.c): New target.
21961 (kernel_syms.lst): Likewise.
21962 (pkglib_MODULES): Add memdisk.mod.
21963 (memdisk_mod_SOURCES): New variable.
21964 (memdisk_mod_CFLAGS): Likewise.
21965 (memdisk_mod_LDFLAGS): Likewise.
21966 (pkglib_MODULES): Add reboot.mod.
21967 (reboot_mod_SOURCES): New variable.
21968 (reboot_mod_CFLAGS): Likewise.
21969 (reboot_mod_LDFLAGS): Likewise.
21970 (pkglib_MODULES): Add date.mod.
21971 (date_mod_SOURCES): New variable.
21972 (date_mod_CFLAGS): Likewise.
21973 (date_mod_LDFLAGS): Likewise.
21974 (pkglib_MODULES): Add datehook.mod.
21975 (datehook_mod_SOURCES): New variable.
21976 (datehook_mod_CFLAGS): Likewise.
21977 (datehook_mod_LDFLAGS): Likewise.
21978 (pkglib_MODULES): Add lsmmap.mod.
21979 (lsmmap_mod_SOURCES): New variable.
21980 (lsmmap_mod_CFLAGS): Likewise.
21981 (lsmmap_mod_LDFLAGS): Likewise.
21982 (pkglib_MODULES): Add boot.mod.
21983 (boot_mod_SOURCES): New variable.
21984 (boot_mod_CFLAGS): Likewise.
21985 (boot_mod_LDFLAGS): Likewise.
21986 * conf/i386-coreboot.rmk: Removed redundant parts.
21987 * conf/i386-ieee1275.rmk: Likewise.
21988 * conf/i386-pc.rmk: Likewise.
21989 * conf/mips-yeeloong.rmk: Likewise.
21990 * conf/mips.rmk: Likewise.
21991 * conf/powerpc-ieee1275.rmk: Likewise.
21992 * conf/sparc64-ieee1275.rmk: Likewise.
21993 * conf/x86_64-efi.rmk: Likewise.
21994 * conf/i386-coreboot.rmk: Moved qemu parts ..
21995 * conf/i386-qemu.rmk: ... here
21996 * conf/i386-efi.rmk: Moved common parts to...
21997 * conf/x86-efi.rmk: ... here.
21998 * conf/i386.rmk: Added modules common to all x86 variants.
21999 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22000 * disk/memdisk.c: Remove grub/machine/kernel.h.
22001 * gensymlist.sh.in: Include symbol.h.
22002 * hook/datehook.c: Correct module name.
22003 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22004 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22005 * include/grub/i386/efi/serial.h: New file.
22006 * include/grub/x86_64/efi/serial.h: Likewise.
22007 * util/time.c: Likewise.
22008 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22009
463ac55f
CK
220102010-03-14 Colin King <colin.king@ubuntu.com>
220112010-03-14 Colin Watson <cjwatson@ubuntu.com>
22012
22013 Shrink the pre-partition-table part of boot.img by eight bytes.
22014
22015 * boot/i386/pc/boot.S (ERR): New macro.
22016 (chs_mode): Use ERR.
22017 (geometry_error): Likewise.
22018 (hd_probe_error): Remove. This is only used once, so we wrwite
22019 it inline instead.
22020 (read_error): Instead of printing read_error_string, just set up
22021 %si and fall through to ...
22022 (error_message): ... this new function, also used by ERR.
22023
08e46ede
CW
220242010-03-14 Colin Watson <cjwatson@ubuntu.com>
22025
22026 Speed up consecutive hostdisk operations on the same device.
22027
22028 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22029 (grub_util_biosdisk_open): Initialise disk->data.
22030 (struct linux_partition_cache): New structure.
22031 (linux_find_partition): Cache partition start positions; these are
22032 expensive to compute on every read and write.
22033 (open_device): Cache open file descriptor in disk->data, so that we
22034 don't have to reopen it and flush the buffer cache for consecutive
22035 operations on the same device.
22036 (grub_util_biosdisk_close): New function.
22037 (grub_util_biosdisk_dev): Set `close' member.
22038
22039 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22040 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22041 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22042 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22043 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22044
4a6d2d06
VS
220452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 Compile parts of grub-emu as modules.
22048
22049 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22050 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22051 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22052 (all-local): Add $(GRUB_EMU).
22053 (install-local): Install $(GRUB_EMU).
22054 (uninstall): Uninstall $(GRUB_EMU).
22055 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22056 * kern/dl.c: Likewise.
22057 * commands/sleep.c: Not include machine/time.h.
22058 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22059 (COMMON_CFLAGS): Likewise.
22060 (sbin_UTILITIES): Remove grub-emu.
22061 (grub_emu_SOURCES): Removed.
22062 (kernel_img_RELOCATABLE): New variable.
22063 (pkglib_PROGRAMS): Add kernel.img.
22064 (kernel_img_SOURCES): New variable
22065 (kernel_img_CFLAGS): Likewise.
22066 (kernel_img_LDFLAGS): Likewise.
22067 (TARGET_NO_STRIP): Likewise.
22068 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22069 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22070 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22071 (grub-emu): New target.
22072 (GRUB_EMU): New variable.
22073 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22074 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22075 * loader/xnu.c: Likewise.
22076 * include/grub/pci.h: Likewise.
22077 * genemuinit.sh: New file.
22078 * genemuinitheader.sh: Likewise.
22079 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22080 Support TARGET_NO_DYNAMIC_MODULES.
22081 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22082 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22083 * disk/loopback.c: Likewise.
22084 * font/font_cmd.c: Likewise.
22085 * partmap/acorn.c: Likewise.
22086 * partmap/amiga.c: Likewise.
22087 * partmap/apple.c: Likewise.
22088 * partmap/gpt.c: Likewise.
22089 * partmap/msdos.c: Likewise.
22090 * partmap/sun.c: Likewise.
22091 * parttool/msdospart.c: Likewise.
22092 * term/gfxterm.c: Likewise.
22093 * video/bitmap.c: Likewise.
22094 * video/readers/jpeg.c: Likewise.
22095 * video/readers/png.c: Likewise.
22096 * video/readers/tga.c: Likewise.
22097 * video/video.c: Likewise.
22098 * util/grub-emu.c (read_command_list): Removed.
22099 (main): Don't call util_init_nls.
22100 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22101 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22102
91fdd2ed
VS
221032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22106 date.mod, datehook.mod.
22107 (datetime_mod_SOURCES): New variable.
22108 (datetime_mod_CFLAGS): Likewise.
22109 (datetime_mod_LDFLAGS): Likewise.
22110 (date_mod_SOURCES): Likewise.
22111 (date_mod_CFLAGS): Likewise.
22112 (date_mod_LDFLAGS): Likewise.
22113 (datehook_mod_SOURCES): Likewise.
22114 (datehook_mod_CFLAGS): Likewise.
22115 (datehook_mod_LDFLAGS): Likewise.
22116 * conf/sparc64-ieee1275.rmk: Likewise.
22117 * lib/ieee1275/datetime.c: New file.
22118
873ccae6
VS
221192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22122 (ieee1275_fb_mod_SOURCES): New variable.
22123 (ieee1275_fb_mod_CFLAGS): Likewise.
22124 (ieee1275_fb_mod_LDFLAGS): Likewise.
22125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22126 New proto.
22127 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22128 (HEAP_MAX_ADDR): Likewise.
22129 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22130 type.
22131 Correct stop condition.
22132 (grub_ieee1275_devices_iterate): New function.
22133 * video/ieee1275.c: New file.
22134
601c97c0
VS
221352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22136
22137 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22138
22139 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22140 as scratch.
22141 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22142 SCRATCH_PAD_DISKBOOT as scratch.
22143 (bootit): Pass Openfirmware pointer in %o4.
22144 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22145 of 0x200000.
22146 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22147 with util/grub-mkrawimage.c.
22148 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22149 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22150 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22151 (grub_aout_load) [GRUB_UTIL]: Likewise.
22152 * include/grub/kernel.h (grub_modules_get_end): New proto.
22153 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22154 (SCRATCH_PAD_BOOT): New definition.
22155 (SCRATCH_PAD_DISKBOOT): Likewise.
22156 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22157 * include/grub/sparc64/ieee1275/ieee1275.h
22158 (grub_ieee1275_original_stack): New variable
22159 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22160 New definition
22161 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22162 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22163 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22164 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22165 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22166 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22167 (grub_platform_image_format_t): New type.
22168 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22169 * kern/main.c (grub_modules_get_end)
22170 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22171 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22172 (codestart): Switch stacks.
22173 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22174 variable.
22175 (grub_heap_init): Use grub_modules_get_end.
22176 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22177 stack.
22178 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22179 (main): Likewise.
22180 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22181
d68b491e
TG
221822010-03-14 Thorsten Glaser <tg@mirbsd.org>
22183
22184 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22185
4e02ed50
MK
221862010-03-08 Matt Kraai <kraai@ftbfs.org>
22187
22188 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22189 bug #559005).
22190
1f15fc1e
VS
221912010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22192
22193 * genmoddep.awk: Output all missing symbols and not only first.
22194
fce5d8ff
VS
221952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * NEWS: Put the date of 1.98 release.
22198
d1e8a02f
VS
221992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22200
22201 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22202 ft2build.h.
22203
696fd607
VS
222042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22205
22206 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22207 completition in the middle of string.
22208
33e2e6f3
VS
222092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * util/grub-mkrescue.in: Use mktemp with explicit template.
22212
b1f6d291
VS
222132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22216
2ac227c7
VS
222172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22220 right pointer.
22221
8f9a632b
VS
222222010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 Fix FreeBSD compilation.
22225
22226 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22227 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22228
60b03859
VS
222292010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22232
48a5a769
VS
222332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22236
3ab4bd77
VS
222372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22240
d116e0d8
RM
222412010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22242
22243 Support relative image path in theme file.
22244
22245 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22246 (image_set_property): Handle theme_dir and relative path.
22247
c7ef54aa
VS
222482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22249
22250 * configure.ac: Alias amd64 to x86_64.
22251
fcee14ed
VS
222522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 * NEWS: mention multiboot on EFI.
22255
d0780363
VS
222562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 * kern/main.c (grub_load_modules): Handle errors from init functions of
22259 embeded modules.
22260
41168ea4
VS
222612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * normal/autofs.c (autoload_fs_module): Handle errors.
22264
b54d93ac
VS
222652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 Disable linux.mod on qemu-mips since it's not functional and leads
22268 to compilation failure.
22269
22270 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22271 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22272 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22273 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22274 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22275 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22276 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22277 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22278 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22279 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22280 Reported by: BVK Chaitanya
22281
fc8345da
JU
222822010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22283
22284 * INSTALL: Add gettext as a dependency and add qemu to a new section
22285 "Prerequisites for make-check".
22286
4760f979
CF
222872010-03-04 Christian Franke <franke@computer.org>
22288
22289 * util/grub-pe2elf.c: Add missing include "progname.h".
22290
f209b5b2
VS
222912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22292
22293 * normal/crypto.c (read_crypto_list): Fix a typo.
22294 Reported by: Seth Goldberg.
22295
b4b7be98
VS
222962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 22299 Reported by: Seth Goldberg.
b4b7be98 22300
c0ee0385
VS
223012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22304 ascii.bitmaps.
22305
a8efbf64
VS
223062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22307
22308 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22309 Reported by: Seth Goldberg.
a8efbf64 22310
08dcd913
VS
223112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 * util/i386/efi/grub-install.in: Copy gettext files.
22314
c4d0b332
VS
223152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22318
c6f2fe52
VS
223192010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 Wait for user entry basing on presence of output rather than on errors.
22322
22323 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22324 (grub_install_newline_hook): Likewise.
22325 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22326 * normal/menu.c (show_menu): Check line_counter to determine presence
22327 of output.
22328 * normal/term.c (grub_normal_line_counter): New variable.
22329 (grub_normal_get_line_counter): New function.
22330 (grub_install_newline_hook): Likewise.
22331
5382b1e4
VS
223322010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22335
5519963b
VS
223362010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22337
22338 * configure.ac: Update version to 1.98.
22339
72b28631
VS
223402010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22341
22342 * util/grub.d/10_linux.in (linux_entry): Don't default to
22343 gfxpayload=keep if Linux doesn't support video handover.
22344
c140a180
VS
223452010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 Don't compile video modules on yeeloong since video subsystem is part
22348 of kernel.
22349
22350 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22351 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22352 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22353 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22354 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22355 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22356 * include/grub/bitmap_scale.h: Likewise.
22357 * include/grub/bufio.h: Likewise.
22358 * include/grub/font.h: Likewise.
22359 * include/grub/gfxterm.h: Likewise.
22360 * include/grub/video.h: Likewise.
22361 * include/grub/vbe.h: Don't include video_fb.h.
22362 * video/i386/pc/vbe.c: Include video_fb.h.
22363 * commands/i386/pc/vbetest.c: Include video.h.
22364
a0ca21c2
CW
223652010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22366
22367 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22368 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22369 default entry if GRUB_SAVEDEFAULT=true. This allows using
22370 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22371 saving a new default on every boot.
22372
4a8a763c
VS
223732010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22376 * normal/term.c (read_terminal_list): Likewise.
22377 * normal/main.c (grub_normal_init_page): Likewise.
22378 (grub_normal_read_line_real): Likewise.
22379
607ffde2
VS
223802010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22383 memory leak.
22384 Reported by: Seth Goldberg.
22385
2b8fa975
CW
223862010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22387
22388 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22389 duplicate declaration of `start'.
22390
618307dd
VS
223912010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22394 filename.
22395 Reported by: Georgy Buranov
22396
7dd05b96 223972010-02-20 Carles Pina i Estany <carles@pina.cat>
22398
22399 * util/grub-mkrawimage.c (usage): Change string formatting to
22400 improve gettext.
22401
d1484a42
MRA
224022010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22403
22404 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22405 backspace keys.
22406
42b1d186
VS
224072010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22408
22409 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22410 Reported by: Michael Suchanek.
22411
224122010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22413
22414 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22415 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22416
d9f31a41
VS
224172010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22418
22419 Remove any reference to non-free fonts.
22420
22421 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22422 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22423 uses non-free components.
22424 * font/font.c (grub_font_get_name): Remove example name.
22425 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22426 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22427 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22428 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22429
2793c71e
GB
224302010-02-16 Georgy Buranov <gburanov@gmail.com>
22431
22432 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22433
402e3779
VS
224342010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22437 Double divisor.
22438 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22439 features.
22440 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22441
0dd1e0dd
VS
224422010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22443
22444 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22445
6fa7cfce
ST
224462010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22447
22448 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22449 * docs/grub.texi (Command-line and menu entry commands): Document play
22450 command.
22451
37c8483b
ST
224522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22453
22454 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22455 parse arguments as inline tempo and notes. Move code for playing notes
22456 to...
22457 (play): ... new function.
22458
14da0fb7
ST
224592010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22460
22461 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22462 grub_uint16_t instead of short.
22463 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22464 disk from little endian to cpu endianness.
22465
04459e70
ST
224662010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22467
22468 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22469 GRUB_TICKS_PER_SECOND instead of 120.
22470
a0876943
VS
224712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22474 escape sequence after \e.
22475
e29f95dc
VS
224762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22479 non-ASCII characters.
22480
d27859b2
VS
224812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22482
22483 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22484 set root in single quotes to prevent \, from being unescaped.
22485
bc028f2f
VS
224862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 Prevent unknown commands from stopping menuentry execution.
22489
22490 * script/execute.c (grub_script_execute_cmdline): Print error after
22491 unknown command.
22492
095f5f82
VS
224932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22496 Reported by: Pavel Pisa.
22497
8c717950
VS
224982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22501
904935c3
VS
225022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 Merge grub_ieee1275_map_physical into grub_map and rename to
22505 grub_ieee1275_map
22506
22507 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22508 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22509 Remove.
22510 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22511 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22512 necessary.
22513 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22514
5b59a4e3
VS
225152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22518 opening and not after.
22519
69e137e8
VS
225202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22521
22522 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22523 constants.
22524
2c0fcc36
VS
225252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22526
22527 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22528 (alloc_phys): Use ALIGN_UP instead of align_addr.
22529
8c6052ce
VS
225302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22533
17cec782
VS
225342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22537
e0128bbd
VS
225382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22539
22540 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22541 verbose dprintf.
22542
ca62070b
VS
225432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 Fix over-4GiB seek on sparc64.
22546
22547 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22548 Replace pos_i and pos_lo with pos. All users updated.
22549 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22550 New constant.
22551 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22552 Likewise.
22553 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22554 and pos_lo.
22555
bdca2607
VS
225562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 * util/grub-mkrawimage.c (main): Call set_program_name.
22559
da278c4d
VS
225602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 Properly align 64-bit targets.
22563
22564 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22565 (generate_image): Use ALIGN_ADDR.
22566
b274d734
VS
225672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 Properly create cross-endian images.
22570
22571 * include/grub/types.h (grub_host_to_target_addr): New macro
22572 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22573
82da2062
VS
225742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22575
22576 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22577
7cae4377
VS
225782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22581
22582 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22583 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22584 (grub_linux_boot): Divide by 64K when on VESA.
22585
65a533e7
VS
225862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22587
22588 Support GRUB_GFXPAYLOAD_LINUX.
22589
22590 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22591 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22592
dd01d397
VS
225932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22596 to show messages instead of discarding them.
22597 Process errors after executing command and not before. Keep old method
22598 too as precaution.
22599
660960d6
VS
226002010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 * configure.ac: Check for ft2build.h.
22603
62509f04
VS
226042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22605
22606 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22607
473df63d
VS
226082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 * genkernsyms.sh.in: Use TARGET_CC.
22611
c98d2a13
CW
226122010-02-07 Colin Watson <cjwatson@ubuntu.com>
22613
22614 * NEWS: Update.
22615
6e14234c
VS
226162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22619 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22620 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22621
b255e9cf
YB
226222010-02-07 Yves Blusseau <blusseau@zetam.org>
22623
6e14234c 22624 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22625
98e6959d
VS
226262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22627
22628 Fix warnings in grub-emu when compiling with maximum warning options.
22629
22630 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22631 (grub_arch_modules_addr): Return 0 and not NULL.
22632 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22633 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22634 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22635 of disk to dsk to avoid shadowing.
74e4934e
VS
22636 (find_free_slot): Fix prototype.
22637 * util/getroot.c (grub_util_is_dmraid): Make static.
22638 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22639 Add missing prototype.
22640 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22641
74e31b5c
VS
226422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22645 appropriately.
22646
6b2ad14b
VS
226472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22648
22649 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22650 code out.
22651
8f891adc
VS
226522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22653
22654 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22655 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22656 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22657 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22658 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22659 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22660
74b45184
VS
226612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 * include/grub/err.h (grub_err_printf): Don't export.
22664
a4bced77
VS
226652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22668
007d0695
VS
226692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22672 * kern/misc.c (grub_gettext_dummy): Make static.
22673
b6c0d9c2
VS
226742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22677 by non-valid ones.
22678 * kern/term.c (grub_putchar): Likewise.
22679
f51a90d0
VS
226802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22683 buggy hook call and memory leak.
22684
6846cec5
VS
226852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22688
468d69fe
VS
226892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22692
51906b8c
VS
226932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22696 modevar.
22697 Return grub_errno on allocation error.
22698
09706ce5
VS
226992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22700
22701 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22702
911df80c
YB
227032010-02-06 Yves Blusseau <blusseau@zetam.org>
22704
22705 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22706 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22707
3746a6bc
VS
227082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22711 non-pxe disk.
22712 (grub_pxefs_open): Likewise.
22713
09706ce5
VS
227142010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22715
22716 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22717 * util/grub.d/10_kfreebsd.in: Likewise.
22718 * util/grub.d/10_linux.in: Likewise.
22719
7cc192d9
VS
227202010-02-06 Colin D Bennett <colin@gibibit.com>
22721
22722 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22723 (gfxmenu_mod_SOURCES): New variable.
22724 (gfxmenu_mod_CFLAGS): Likewise.
22725 (gfxmenu_mod_LDFLAGS): Likewise.
22726 * include/grub/term.h (grub_term_set_current_output): Declare
22727 argument as const.
22728 * docs/gfxmenu-theme-example.txt: New file.
22729 * gfxmenu/gfxmenu.c: Likewise.
22730 * gfxmenu/gui_box.c: Likewise.
22731 * gfxmenu/gui_canvas.c: Likewise.
22732 * gfxmenu/gui_circular_progress.c: Likewise.
22733 * gfxmenu/gui_image.c: Likewise.
22734 * gfxmenu/gui_label.c: Likewise.
22735 * gfxmenu/gui_list.c: Likewise.
22736 * gfxmenu/gui_progress_bar.c: Likewise.
22737 * gfxmenu/gui_string_util.c: Likewise.
22738 * gfxmenu/gui_util.c: Likewise.
22739 * gfxmenu/icon_manager.c: Likewise.
22740 * gfxmenu/model.c: Likewise.
22741 * gfxmenu/named_colors.c: Likewise.
22742 * gfxmenu/theme_loader.c: Likewise.
22743 * gfxmenu/view.c: Likewise.
22744 * gfxmenu/widget-box.c: Likewise.
22745 * include/grub/gfxmenu_model.h: Likewise.
22746 * include/grub/gfxmenu_view.h: Likewise.
22747 * include/grub/gfxwidgets.h: Likewise.
22748 * include/grub/gui.h: Likewise.
22749 * include/grub/gui_string_util.h: Likewise.
22750 * include/grub/icon_manager.h: Likewise.
22751
227522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22753
22754 Agglomerate scrolling in gfxterm.
22755
22756 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22757 (grub_virtual_screen_setup): Initialise 'total_screen'.
22758 (write_char): Split to ...
22759 (paint_char): ... this ...
22760 (write_char): ... and this.
22761 (paint_char): Handle delayed scrolling.
22762 (draw_cursor): Likewise.
22763 (scroll_up): Split to ...
22764 (real_scroll): ... this ...
22765 (scroll_up): ... and this.
22766 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22767 characters.
22768 (grub_gfxterm_refresh): Call real_scroll.
22769
227702010-02-06 Colin D Bennett <colin@gibibit.com>
22771
22772 * include/grub/misc.h (grub_iscntrl): New inline function.
22773 (grub_isalnum): Likewise.
22774 (grub_strtol): Likewise.
22775
227762010-02-06 Colin D Bennett <colin@gibibit.com>
22777
22778 * normal/menu_text.c (get_entry_number): Move from here ...
22779 * normal/menu.c (get_entry_number): ... moved here.
22780 * include/grub/menu.h (grub_menu_get_default_entry_index):
22781 New prototype.
22782 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22783 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22784 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22785 (grub_menu_viewer_should_return): Likewise.
22786 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22787 * normal/menu_text.c (run_menu): Enable menu switching.
22788 * normal/menu_viewer.c (should_return): New variable.
22789 (menu_viewer_changed): Likewise.
22790 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22791 (grub_menu_viewer_should_return): New function.
22792 (menuviewer_write_hook): Likewise.
22793 (grub_menu_viewer_init): Likewise.
22794
227952010-02-06 Colin D Bennet <colin@gibibit.com>
227962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22797
22798 Support for gfxterm in a window.
22799
22800 * include/grub/gfxterm.h: New file.
22801 * include/grub/video.h (struct grub_video_rect): New declaration.
22802 (grub_video_rect_t): Likewise.
22803 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22804 (refcount): New variable.
22805 (render_target): Likewise.
22806 (window): Likewise.
22807 (repaint_callback): Likewise.
22808 (grub_virtual_screen_setup): Use 'render_target'.
22809 (init_window): New function.
22810 (grub_gfxterm_init_window): Likewise.
22811 (grub_gfxterm_init): Check reference counter.
22812 Use init_window.
22813 (destroy_window): New function.
22814 (grub_gfxterm_destroy_window): Likewise.
22815 (grub_gfxterm_fini): Check reference counter.
22816 Use destroy_window.
22817 (redraw_screen_rect): Restore viewport.
22818 Use 'render_target' and 'window'.
22819 Call 'repaint_callback'.
22820 (write_char): Use 'render_target'.
22821 (draw_cursor): Likewise.
22822 (scroll_up): Restore viewport.
22823 Use 'render_target' and 'window'.
22824 Call 'repaint_callback'.
22825 (grub_gfxterm_cls): Likewise.
22826 (grub_gfxterm_refresh): Use 'window'.
22827 (grub_gfxterm_set_repaint_callback): New function.
22828 (grub_gfxterm_background_image_cmd): Use 'window'.
22829 (grub_gfxterm_get_term): New function.
22830 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22831
228322010-02-06 Colin D Bennett <colin@gibibit.com>
22833
22834 Bitmap scaling support.
22835
22836 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22837 (bitmap_scale_mod_SOURCES): New variable.
22838 (bitmap_scale_mod_CFLAGS): Likewise.
22839 (bitmap_scale_mod_LDFLAGS): Likewise.
22840 * include/grub/bitmap_scale.h: New file.
22841 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22842 (background_image_cmd_options): New variable.
22843 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22844 (cmd): Rename and change type to ...
22845 (background_image_cmd_handle): ... this. All users updated.
22846 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22847 * video/bitmap_scale.c: New file.
22848
228492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 SDL support.
22852
22853 * Makefile.in (LIBSDL): New variable.
22854 (enable_grub_emu_sdl): Likewise.
22855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22856 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22857 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22858 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22859 * util/sdl.c: New file.
22860
228612010-02-06 Colin D Bennett <colin@gibibit.com>
228622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Double buffering support.
22865
22866 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22867 * include/grub/video.h: Update comment.
22868 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22869 New type.
22870 (grub_video_fb_doublebuf_blit_init): New prototype.
22871 * term/gfxterm.c (scroll_up): Support double buffering.
22872 (grub_gfxterm_refresh): Likewise.
22873 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22874 (grub_video_fb_doublebuf_blit_init): Likewise.
22875 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22876 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22877 'displayed_page', 'render_page' and 'update_screen'.
22878 (grub_video_vbe_fini): Free offscreen buffer.
22879 (doublebuf_pageflipping_commit): New function.
22880 (doublebuf_pageflipping_update_screen): Likewise.
22881 (doublebuf_pageflipping_init): Likewise.
22882 (double_buffering_init): Likewise.
22883 (grub_video_vbe_setup): Enable doublebuffering.
22884 (grub_video_vbe_swap_buffers): Implement.
22885 (grub_video_vbe_set_active_render_target): Handle double buffering.
22886 (grub_video_vbe_get_active_render_target): Likewise.
22887 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22888 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22889 (grub_video_vbe_enable_double_buffering): Likewise.
22890 (grub_video_vbe_swap_buffers): Use update_screen.
22891 (grub_video_set_mode): Use double buffering.
22892
228932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22894
22895 * maintainance/gentrigtables.py: Remove.
22896 * lib/trig.c: Likewise.
22897
22898 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22899
22900 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22901 `trigtables.c'.
22902 (trigtables.c): New rule.
22903 (gentrigtables): Likewise.
22904 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22905
229062010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22909 integer constants.
22910
229112010-02-06 Colin D Bennet <colin@gibibit.com>
22912
22913 Trigonometry support.
22914
22915 * include/grub/trig.h: New file.
22916 * lib/trig.c: Likewise.
22917 * maintainance/gentrigtables.py: Likewise.
22918 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22919 (trig_mod_SOURCES): New variable.
22920 (trig_mod_CFLAGS): Likewise.
22921 (trig_mod_LDFLAGS): Likewise.
22922
5562834e
VS
229232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22926 disk devices.
22927
4f8528fc
VS
229282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22929
22930 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22931 error.
22932
2b4068e9
VS
229332010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 * util/hostdisk.c (open_device): Don't use partition device when reading
22936 before the partition.
22937 (grub_util_biosdisk_read): Don't read from partition and before the
22938 partition in single operation.
22939 (grub_util_biosdisk_write): Don't write to partition and before the
22940 partition in single operation.
22941
399f6e4d
TL
229422010-02-03 Torsten Landschoff <torsten@debian.org>
22943
22944 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22945 last sectors.
22946
996649b0
VS
229472010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22948
22949 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22950 CDROM reads.
22951 (grub_biosdisk_write): Refuse to write to CDROM.
22952
3b205d4d
VS
229532010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22954
22955 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22956
61e89d9d
VS
229572010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22958
22959 * font/font.c (find_glyph): Check that bmp_idx is available before
22960 using it.
22961 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22962 with (font == NULL).
22963
bf7fcba2
CS
229642010-01-28 Christian Schmitt <chris@ilovelinux.de>
22965
22966 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22967
f45d2663
BC
229682010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22969
22970 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22971 * util/grub-script-check.c (getline): Fix empty lines case.
22972
ec1444e6
RM
229732010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22974
22975 * Makefile.in (check): Exit with fail status when one of the tests
22976 fails.
22977 * tests/example_functional_test.c (example_test): Fix reversed assert.
22978 * tests/example_unit_test.c (example_test): Likewise.
22979
2e1cb9bb
CW
229802010-01-28 Colin Watson <cjwatson@ubuntu.com>
22981
22982 * util/grub.d/10_linux.in: This script does not use any of the
22983 contents of gettext.sh, only the external command `gettext', so stop
22984 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22985 the same prefix as GRUB.)
22986 * util/grub.d/10_kfreebsd.in: Likewise.
22987
63533ab0
VS
229882010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22989
22990 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22991 of the line.
22992
989e1f93
VS
229932010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22994
22995 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22996 last sectors.
22997
e709ebe2
VS
229982010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22999
23000 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23001 having a 4KiB and not 32KiB buffer size.
23002
27dea7ed
RM
230032010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23004
23005 * util/hostfs.c: Include `<errno.h>'.
23006 (grub_hostfs_read): Handle errors from fseeko() and fread().
23007
67667b9c
RM
230082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23009
23010 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23011 loop when using read hooks on files whose size isn't sector-aligned.
23012
c294d9d8
RM
230132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23014
23015 Remove unused parameter.
23016
23017 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23018 (grub_iso9660_open): Remove initialization of `data->length'.
23019
af75a9f1
RM
230202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23021
23022 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23023 memleak conditions.
23024
254e2ce5 230252010-01-27 Carles Pina i Estany <carles@pina.cat>
23026
23027 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23028 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23029
b510928c 230302010-01-26 Carles Pina i Estany <carles@pina.cat>
23031
23032 * util/bin2h.c (usage): Fix warning (space after backslash).
23033
aa2f9dd2 230342010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 23035
23036 * font/font.c: Include `grub/fontformat.h.
23037 Remove font file format constants.
23038 (grub_font_load): Use the new macros.
23039 * include/grub/fontformat.h: New file.
23040 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23041 (write_font_pf2): Use the new macros.
23042
94e7e712
RM
230432010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23044
23045 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23046 does.
23047
3973a59a
RM
230482010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23049
23050 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23051
23052 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23053 (_start): Macroify `0x7F'.
23054
23055 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23056 (make_install_device): Use "(pxe)" as fallback prefix when booting
23057 via PXE.
23058
42e0cba3
GS
230592010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 * configure.ac: Reset LIBS after check for libgcc symbols.
23062
847effd8
CW
230632010-01-25 Colin Watson <cjwatson@ubuntu.com>
23064
23065 * util/hostdisk.c (open_device): Add trailing newline to debug
23066 message.
23067
ea4a7e35
GS
230682010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23069
23070 * configure.ac: Check for `limits.h'.
23071 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23072
67951a53
RM
230732010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23074
23075 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23076 capitalize error strings.
23077
c273d4ce
ST
230782010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23079
23080 * util/grub.d/10_hurd.in: Add a recovery mode.
23081
69be5b74
VS
230822010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 * configure.ac: Check for libgcc symbols with -nostdlib.
23085
fc9e5810
BC
230862010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23087
23088 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23089
4b358c0a
VS
230902010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23091
23092 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23093 stack since heap may be unavailable at that point.
23094 (grub_ofconsole_gotoxy): Likewise.
23095
454fcd1c
VS
230962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 * configure.ac: Check for _restgpr_14_x.
23099 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23100 and _savegpr_* prototypes.
23101
566863ca
RM
231022010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23103
23104 Use generic grub_reboot() for i386-efi.
23105
23106 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23107 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23108 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23109
bf86e59a
VS
231102010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23113 presence of "prefix" variable as it breaks when normal.mod is
23114 embedded.
23115
d645e0f8
VS
231162010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23117
23118 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23119 stack since heap is unavailable at that point.
23120
f9ab2e25
VS
231212010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23122
23123 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23124 (grub_freebsd_bootinfo): Rewritten.
23125 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23126
01fc7054
VS
231272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23128
23129 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23130
caab4fd6
RM
231312010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23132
23133 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23134 domain now.
23135
67eb1427
FZ
231362010-01-20 Felix Zielcke <fzielcke@z-51.de>
23137
23138 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23139 around for handling "/" to the correct fix. Fix a memory leak. Use
23140 xstrdup instead of strdup.
23141
a9ed4ff3
VS
231422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23143
23144 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23145
231462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
23147
23148 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23149
23150 * font/font.c (struct grub_font): New member 'bmp_idx'.
23151 (font_init): Initialise 'bmp_idx'.
23152 (load_font_index): Fill 'bmp_idx'.
23153 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23154
48209f4f
VS
231552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23156
23157 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23158 unnecessary calls.
23159
9f0a4bb7
VS
231602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23161
23162 Move context handling out of the kernel.
23163
23164 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23165 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23166 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23167 * conf/i386-efi.rmk: Likewise.
23168 * conf/i386-ieee1275.rmk: Likewise.
23169 * conf/i386-pc.rmk: Likewise.
23170 * conf/powerpc-ieee1275.rmk: Likewise.
23171 * conf/sparc64-ieee1275.rmk: Likewise.
23172 * conf/x86_64-efi.rmk: Likewise.
23173 * include/grub/env.h: Include grub/menu.h.
23174 (grub_env_var_type): Removed.
23175 (grub_env_var): Replaced field 'type' with 'global'.
23176 (grub_env_find): New prototype.
23177 (grub_env_context_open): Remove EXPORT_FUNC.
23178 (grub_env_context_close): Likewise.
23179 (grub_env_export): Likewise.
23180 (grub_env_set_data_slot): Removed.
23181 (grub_env_get_data_slot): Likewise.
23182 (grub_env_unset_data_slot): Likewise.
23183 (grub_env_unset_menu): New prototype.
23184 (grub_env_set_menu): Likewise.
23185 (grub_env_get_menu): Likewise.
23186 * include/grub/env_private.h: New file.
23187 * include/grub/normal.h (grub_context_init): New prototype.
23188 (grub_context_fini): Likewise.
23189 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23190 * normal/context.c (grub_cmd_export): ... to here.
23191 * kern/env.c: Include env_private.h.
23192 (HASHSZ): Moved to include/grub/env_private.h.
23193 (grub_env_context): Likewise.
23194 (grub_env_sorted_var): Likewise.
23195 (current_context): Renamed from this ...
23196 (grub_current_context): ...to this. 'static' removed. All users updated.
23197 (grub_env_find): Removed 'static'.
23198 (grub_env_context_open): Moved to normal/context.c.
23199 (grub_env_context_close): Likewise.
23200 (grub_env_export): Likewise.
23201 (mangle_data_slot_name): Removed.
23202 (grub_env_set_data_slot): Likewise.
23203 (grub_env_get_data_slot): Likewise.
23204 (grub_env_unset_data_slot): Likewise.
23205 * kern/main.c (grub_set_root_dev): Don't export root.
23206 It will be done later.
23207 (grub_main): Don't export prefix.
23208 It will be done later.
23209 * normal/context.c: New file.
23210 * normal/main.c (free_menu): Use grub_env_unset_menu.
23211 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23212 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23213 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23214 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23215
8dd35b8c
VS
232162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23217
23218 setpci support.
23219
23220 * commands/setpci.c: New file.
23221 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23222 (setpci_mod_SOURCES): New variable.
23223 (setpci_mod_CFLAGS): Likewise.
23224 (setpci_mod_LDFLAGS): Likewise.
23225
449193d5
VS
232262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23227
23228 Byte-addressable PCI configuration space.
23229
23230 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23231 dword address.
23232 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23233 GRUB_PCI_REG_CACHELINE.
23234 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23235 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23236 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23237 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23238 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23239 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23240 grub_pci_make_address.
23241 (lock_rom_area): Likewise.
23242 * commands/lspci.c (grub_lspci_iter): Use macroses
23243 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23244 of grub_pci_make_address.
23245 * disk/ata.c (grub_ata_pciinit): Likewise.
23246 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23247 (GRUB_PCI_REG_VENDOR): Likewise.
23248 (GRUB_PCI_REG_DEVICE): Likewise.
23249 (GRUB_PCI_REG_COMMAND): Likewise.
23250 (GRUB_PCI_REG_STATUS): Likewise.
23251 (GRUB_PCI_REG_REVISION): Likewise.
23252 (GRUB_PCI_REG_CLASS): Likewise.
23253 (GRUB_PCI_REG_CACHELINE): Likewise.
23254 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23255 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23256 (GRUB_PCI_REG_BIST): Likewise.
23257 (GRUB_PCI_REG_ADDRESSES): Likewise.
23258 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23259 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23260 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23261 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23262 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23263 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23264 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23265 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23266 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23267 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23268 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23269 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23270 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23271 (GRUB_PCI_REG_MIN_GNT): Likewise.
23272 (GRUB_PCI_REG_MAX_LAT): Likewise.
23273 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23274 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23275 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 23276 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
23277 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23278 space.
23279
96d73208
RM
232802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23281
23282 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23283 can be reliably determined to be supported.
23284
d4484482
RM
232852010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23286
23287 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23288 that VESA is supported.
23289 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23290 supported.
23291
00308ecf
VS
232922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23295
f66924a4
RM
232962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23297
23298 * util/misc.c (make_system_path_relative_to_its_root): Work around
23299 special-casing of "/", as previous incarnation of this routine did.
23300
cbca0ada
VS
233012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23302
23303 Fix any-emu compilation.
23304
23305 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23306 * grub_bin2h_SOURCES: New variable.
23307
34a66d99
RM
233082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23309
23310 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23311
94fabf58
RM
233122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23313
23314 * util/grub.d/00_header.in: Fix handling of locale_dir.
23315
02cf98ca
VS
233162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23319 as possible unifont location (Gentoo).
23320 Reported by: Alexander Brüning
23321
327dbcd7
VS
233222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23323
23324 Don't try to generate lists for kernel.img.
23325
23326 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23327 (pkglib_MODULES): Remove kernel.img.
23328 (kernel_img_EXPORTS): Removed.
23329 (kernel_img_RELOCATABLE): New variable.
23330 * conf/x86_64-efi.rmk: Likewise.
23331 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23332
ca467290
VS
233332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23334
23335 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23336 grub_xasprintf or grub_snprintf.
23337 (grub_vsprintf): Likewise.
23338 (grub_snprintf): New proto.
23339 (grub_vsnprintf): Likewise.
23340 (grub_xasprintf): Likewise.
23341 (grub_xvasprintf): Likewise.
23342 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23343 (grub_sprintf): Removed.
23344 (grub_vsnprintf): New function.
23345 (grub_snprintf): Likewise.
23346 (grub_xvasprintf): Likewise.
23347 (grub_xasprintf): Likewise.
23348 (grub_vsprintf): Renamed to ...
23349 (grub_vsnprintf_real): ...this. New argument max_len.
23350
aca655fd
BC
233512010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23352
23353 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23354 fix grub-script-check warning.
23355
7ee92c32
VS
233562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 * include/grub/font.h (grub_font_load): Fix prototype.
23359
f80927ca
VS
233602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23363
119c50ea
VS
233642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23365
23366 * include/grub/x86_64/at_keyboard.h: New file.
23367
47d5f3c1
VS
233682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 * loader/mips/linux.c: Include missing grub/i18n.h.
23371
55ff5266
RM
233722009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23373
23374 * normal/menu.c (notify_execution_failure): Clarify error message.
23375
c893cc87
RM
233762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23377
23378 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23379 return value (and revert all return statements). Update users.
23380
917dd370
CW
233812010-01-20 Dan Merillat <debian@dan.merillat.org>
23382
23383 * kern/device.c (grub_device_iterate): Allocate new part_ent
23384 structure based on sizeof (*p) rather than sizeof (p->next), to
23385 account for structure padding.
23386
23387 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23388 disk is NULL, which might happen for LVM physical volumes with no
23389 LVM signature.
23390
d4a4ee57
RM
233912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23392
23393 * loader/mips/linux.c (grub_cmd_initrd)
23394 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23395
233962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23397
23398 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23399 (grub_video_video_init, grub_video_bitmap_init)
23400 (grub_font_manager_init, grub_term_gfxterm_init)
23401 (grub_at_keyboard_init): New extern declarations.
23402 (grub_machine_init): Initialize gfxterm and at_keyboard.
23403
23404 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23405
23406 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23407 `gfxterm.mod' into core image.
23408
23409 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23410 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23411 (kernel_img_FORMAT): Copy to ...
23412
23413 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23414 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23415 (kernel_img_FORMAT): ... here, and ...
23416
23417 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23418 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23419 (kernel_img_FORMAT): ... here.
23420
23421 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23422 and input (at_keyboard) terminals in kernel.
23423 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23424
23425 (pkglib_MODULES): Remove `pci.mod'.
23426 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23427 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23428 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23429 (at_keyboard_mod_LDFLAGS): Remove variables.
23430
234312010-01-11 Felix Zielcke <fzielcke@z-51.de>
23432
23433 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23434
234352009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23436
23437 * include/grub/mips/libgcc.h: Only export symbols for functions
23438 that libgcc provides.
23439
234402009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23441
23442 MIPS support.
23443
23444 * bus/bonito.c: New file.
23445 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23446 GRUB_PCI_NUM_DEVICES.
23447 * term/i386/pc/serial.c: Move to ...
23448 * term/serial.c: ... here. All users updated.
23449 * util/i386/pc/grub-mkimage.c: Move to ...
23450 * util/grub-mkrawimage.c: ... here. All users updated.
23451 * term/i386/pc/at_keyboard.c: Move to ...
23452 * term/at_keyboard.c: ... here. All users updated.
23453 * conf/mips-qemu-mips.rmk: New file.
23454 * conf/mips-yeeloong.rmk: Likewise.
23455 * conf/mips.rmk: Likewise.
23456 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23457 mipsel-qemu-mips.
23458 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23459 to port addresses.
23460 (grub_ata_pciinit): Support CS5536.
23461 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23462 * font/font_cmd.c (loadfont_command): Open file before passing it to
23463 grub_font_load.
23464 (pseudo_file_read): New function.
23465 (pseudo_file_close): Likewise.
23466 (pseudo_fs): New structure.
23467 (load_font_module): New function.
23468 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23469 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23470 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23471 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23472 * include/grub/i386/at_keyboard.h: Split into ...
23473 * include/grub/at_keyboard.h: ... this ...
23474 * include/grub/i386/at_keyboard.h: ... and this.
23475 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23476 New prototype.
23477 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23478 updated.
23479 (grub_elf64_size): Likewise.
23480 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23481 filename.
23482 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23483 * include/grub/i386/coreboot/serial.h: Rewritten.
23484 * include/grub/i386/ieee1275/serial.h: Include
23485 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23486 * include/grub/i386/pc/serial.h: Moved from here ...
23487 * include/grub/serial.h: ... to here. All users updated.
23488 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23489 (GRUB_PCI_NUM_BUS): Likewise.
23490 (GRUB_PCI_NUM_DEVICES): Likewise.
23491 (grub_pci_device_map_range): Add missing volatile keyword.
23492 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23493 * include/grub/mips/at_keyboard.h: New file.
23494 * include/grub/mips/cache.h: Likewise.
23495 * include/grub/mips/io.h: Likewise.
23496 * include/grub/mips/kernel.h: Likewise.
23497 * include/grub/mips/libgcc.h: Likewise.
23498 * include/grub/mips/pci.h: Likewise.
23499 * include/grub/mips/qemu-mips/boot.h: Likewise.
23500 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23501 * include/grub/mips/qemu-mips/loader.h: Likewise.
23502 * include/grub/mips/qemu-mips/memory.h: Likewise.
23503 * include/grub/mips/qemu-mips/serial.h: Likewise.
23504 * include/grub/mips/qemu-mips/time.h: Likewise.
23505 * include/grub/mips/relocator.h: Likewise.
23506 * include/grub/mips/time.h: Likewise.
23507 * include/grub/mips/types.h: Likewise.
23508 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23509 * include/grub/mips/yeeloong/boot.h: Likewise.
23510 * include/grub/mips/yeeloong/kernel.h: Likewise.
23511 * include/grub/mips/yeeloong/loader.h: Likewise.
23512 * include/grub/mips/yeeloong/memory.h: Likewise.
23513 * include/grub/mips/yeeloong/pci.h: Likewise.
23514 * include/grub/mips/yeeloong/serial.h: Likewise.
23515 * include/grub/mips/yeeloong/time.h: Likewise.
23516 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23517 * kern/elf.c (grub_elf32_size): New parameter. All users
23518 updated.
23519 (grub_elf64_size): Likewise.
23520 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23521 Load modules before saying "Welcome to GRUB!".
23522 Call grub_refresh after saying "Welcome to GRUB!".
23523 * kern/mips/cache.S: New file.
23524 * kern/mips/cache_flush.S: Likewise.
23525 * kern/mips/dl.c: Likewise.
23526 * kern/mips/init.c: Likewise.
23527 * kern/mips/qemu-mips/init.c: Likewise.
23528 * kern/mips/startup.S: Likewise.
23529 * kern/mips/yeeloong/init.c: Likewise.
23530 * kern/term.c (grub_putcode): Handle NULL terminal.
23531 (grub_getcharwidth): Likewise.
23532 (grub_getkey): Likewise.
23533 (grub_checkkey): Likewise.
23534 (grub_getkeystatus): Likewise.
23535 (grub_getxy): Likewise.
23536 (grub_getwh): Likewise.
23537 (grub_gotoxy): Likewise.
23538 (grub_cls): Likewise.
23539 (grub_setcolorstate): Likewise.
23540 (grub_setcolor): Likewise.
23541 (grub_getcolor): Likewise.
23542 (grub_refresh): Likewise.
23543 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23544 (write_jump): Add hatch nop.
23545 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23546 * lib/mips/setjmp.S: New file.
23547 * loader/mips/linux.c: Likewise.
23548 * term/i386/pc/at_keyboard.c: Move from here ...
23549 * term/at_keyboard.c: ... to here.
23550 * term/i386/pc/serial.c: Moved from here ...
23551 * term/serial.c: ... to here. All users updated.
23552 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23553 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23554 (serial_translate_key_sequence): Avoid deadlock.
23555 (grub_serial_getkey): Handle backspace.
23556 (grub_serial_putchar): Fix newline handling.
23557 * util/i386/pc/grub-mkimage.c: Move from here ...
23558 * util/grub-mkrawimage.c: ... to here. All users updated.
23559 (generate_image): New parameters 'font_path' and 'format'.
23560 Support embedding font.
23561 Use grub_host_to_target* instead of grub_cpu_to_le*.
23562 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23563 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23564 (options): New option "--font".
23565 (usage): Likewise.
23566 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23567 (main): Handle "--font".
23568 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23569 (grub_virtual_screen_setup): Set bg_color_display.
23570 (redraw_screen_rect): Use bg_color_display instead of incorrect
23571 bg_color.
23572 (grub_gfxterm_cls): Likewise.
23573 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23574 Support embedding config file.
23575 (add_segments): Likewise.
23576 (options): New option "--config".
23577 (main): Handle "--config".
23578 * video/sm712.c: New file.
23579
25c2b5b3
RM
235802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23581
23582 Fix parallel builds.
23583
23584 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23585 font.c depend on ascii.h).
23586
235872010-01-12 Carles Pina i Estany <carles@pina.cat>
23588
23589 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23590
235912010-01-11 Carles Pina i Estany <carles@pina.cat>
23592
23593 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23594 By default: disabled.
23595 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23596 parameter.
23597
235982010-01-10 Carles Pina i Estany <carles@pina.cat>
23599
23600 * font/font.c: Update copyright years.
23601 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23602
236032010-01-10 Carles Pina i Estany <carles@pina.cat>
23604
23605 * font/font.c: Include `ascii.h'.
23606 (ASCII_BITMAP_SIZE): New macro.
23607 (ascii_font_glyph): Define.
23608 (ascii_glyph_lookup): New function.
23609 (grub_font_get_string_width): Change comment. If glyph not found, use
23610 ascii_glyph_lookup.
23611 (grub_font_get_glyph_with_fallback): If glyph not available returns
23612 ascii_glyph_lookup.
23613 * util/grub-mkfont.c (file_formats): New enum.
23614 (options): Add `ascii-bitmaps' new option.
23615 (usage): Add `asii-bitmaps' new option.
23616 (write_font_ascii_bitmap): New function.
23617 (write_font): Rename to ...
23618 (write_font_p2): ... this. Remove print_glyphs call.
23619 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23620 used. Call print_glyphs.
23621 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23622
236232010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23624
23625 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23626 (grub_bin2h_SOURCES): New variable.
23627 * util/bin2h.c: New file.
23628
915fc1b8
VS
236292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 * include/multiboot.h: Resynced with spec.
23632 * include/multiboot2.h: Likewise.
23633 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23634 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23635
9444b678
RM
236362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23637
23638 * include/grub/term.h (grub_term_register_input,
23639 grub_term_register_output): Check return of terminal init()
23640 routines, and abort if errors are raised.
23641
23642 * commands/terminal.c: Update copyright year.
23643
cba98e8d
RM
236442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23645
23646 * commands/terminal.c (grub_cmd_terminal_input)
23647 (grub_cmd_terminal_output): Check return of terminal init()
23648 routines, and abort if errors are raised.
23649
6f7db5d6
VS
236502010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23651
23652 * include/grub/i386/bsd.h: Fix include pathes.
23653
262bff8d
VS
236542010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 Add missing *BSD copyright headers.
23657
23658 * include/grub/aout.h: Add BSD licence.
23659 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23660 * include/grub/i386/freebsd_linker.h: ... here,
23661 * include/grub/i386/freebsd_reboot.h: ... here,
23662 * include/grub/i386/netbsd_bootinfo.h: ... here,
23663 * include/grub/i386/netbsd_reboot.h: ... here,
23664 * include/grub/i386/openbsd_bootarg.h: ... here,
23665 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23666 licence to each file.
23667
b2cab848
RM
236682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23669
23670 * acinclude.m4: Remove `nop' assembly instruction; it's not
23671 implemented by all architectures.
23672
2cb6be4b
RM
236732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23674
23675 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23676 ELILO. This is no longer necessary.
23677
a2eaee15
BC
236782010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23679
23680 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23681
23682 * util/grub-script-check.c: grub-script-check tool.
23683 * conf/common.rmk: Make rules for grub-script-check.
23684
88d17012
RM
236852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23686
23687 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23688 spotting it back in 2008. Shame on me for forgetting he did.
23689
23690 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23691
8040619d
RM
236922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23693
23694 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23695 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23696 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23697 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23698 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23699 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23700
a0c2a0f6
RM
237012010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23702
23703 * include/grub/test.h: Add license header.
23704 * tests/example_functional_test.c: Likewise.
23705 * tests/example_unit_test.c: Likewise.
23706 * tests/lib/functional_test.c: Likewise.
23707 * tests/lib/test.c: Likewise.
23708 * tests/lib/unit_test.c: Likewise.
23709
b0b13907
VS
237102010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23711
23712 Use flag-based instead of hook-based video mode selection and "auto"
23713 keyword.
23714
23715 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23716 (grub_video_set_mode): Changed prototype. All users updated.
23717 (grub_video_check_mode_flag): New inline function.
23718 * video/video.c (parse_modespec): New function.
23719 (grub_video_set_mode): Parse flags and keywords.
23720
ea379330 237212010-01-17 Carles Pina i Estany <carles@pina.cat>
23722
23723 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23724 fprintf call.
23725
e15c215e
FZ
237262010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23727
23728 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23729
409ae1c9 237302010-01-16 Carles Pina i Estany <carles@pina.cat>
23731
23732 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23733 string.
23734 * util/grub-emu.c (usage): Likewise.
23735 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23736 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23737 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23738 * util/i386/pc/grub-setup.c (usage): Likewise.
23739
70a14d3d 237402010-01-16 Carles Pina i Estany <carles@pina.cat>
23741
23742 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23743 the message.
23744 (grub_util_info): Likewise.
23745 (grub_util_error): Likewise.
23746 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23747 and/or new lines in `grub_util_warna', `grub_util_info',
23748 `grub_util_error' calls.
23749 * util/getroot.c: Likewise.
23750 * util/grub-editenv.c: Likewise.
23751 * util/grub-emu.c: Likewise.
23752 * util/grub-fstest.c: Likewise.
23753 * util/grub-mkdevicemap.c: Likewise.
23754 * util/grub-mkfont.c: Likewise.
23755 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23756 * util/grub-mkrelpath.c: Likewise.
23757 * util/grub-pe2elf.c: Likewise.
23758 * util/grub-probe.c: Likewise.
23759 * util/hostdisk.c: Likewise.
23760 * util/i386/efi/grub-mkimage.c: Likewise.
23761 * util/i386/pc/grub-mkimage.c: Likewise.
23762 * util/i386/pc/grub-setup.c: Likewise.
23763 * util/ieee1275/ofpath.c: Likewise.
23764 * util/mkisofs/eltorito.c: Likewise.
23765 * util/mkisofs/rock.c: Likewise.
23766 * util/mkisofs/write.c: Likewise.
23767 * util/raid.c: Likewise.
23768 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23769 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23770
a0b766fc
VS
237712010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 Enable multiboot on non-pc.
23774
23775 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23776 multiboot.mod and multiboot2.mod to ...
23777 * conf/i386.rmk (pkglib_MODULES): ... here.
23778 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23779 Moved to ...
23780 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23781 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23782 Moved to ...
23783 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23784 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23785 Moved to ...
23786 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23787 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23788 Moved to ...
23789 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23790 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23791 relocator.mod.
23792 (ata_mod_SOURCES): Removed.
23793 (ata_mod_CFLAGS): Likewise.
23794 (ata_mod_LDFLAGS): Likewise.
23795 (relocator_mod_SOURCES): Removed.
23796 (relocator_mod_CFLAGS): Likewise.
23797 (relocator_mod_ASFLAGS): Likewise.
23798 (relocator_mod_LDFLAGS): Likewise.
23799 Include i386.mk.
23800 * include/grub/x86_64/multiboot.h: New file.
23801 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23802 Terminate EFI.
23803
884ade56
VS
238042010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 Video multiboot support.
23807
23808 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23809 New prototype.
23810 * include/multiboot.h: Resynced with multiboot specification.
23811 * include/multiboot2.h: Likewise.
23812 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23813 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23814 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23815 (HAS_VGA_TEXT): Likewise.
23816 (accepts_video): New variable.
23817 (grub_multiboot_set_accepts_video): New function.
23818 (grub_multiboot_get_mbi_size): Account for video structures.
23819 (set_video_mode): New function.
23820 (retrieve_video_parameters): Likewise.
23821 (grub_multiboot_make_mbi): Fill video fields.
23822
0d90e8a6
VS
238232010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23824
23825 Video driver ids.
23826
23827 * include/grub/video.h (grub_video_driver_id): New type.
23828 (grub_video_adapter): New member 'id'. All users updated.
23829 (grub_video_get_driver_id): New proto.
23830 * video/video.c (grub_video_get_driver_id): New function.
23831
5c71db1b 238322010-01-14 Carles Pina i Estany <carles@pina.cat>
23833
23834 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23835 `var=val'.
23836
cca15b52 238372010-01-14 Carles Pina i Estany <carles@pina.cat>
23838
23839 * normal/cmdline.c (print_completion): Gettextizze.
23840
c586fbb2 238412001-01-14 Carles Pina i Estany <carles@pina.cat>
23842
23843 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23844
ba2f6848 238452010-01-14 Carles Pina i Estany <carles@pina.cat>
23846
23847 * gettext/gettext.c (grub_gettext_translate): Push and pop
23848 grub_errno.
23849 (grub_gettext_delete_list): Change comment style.
23850 * kern/err.c (grub_error): Gettextizze.
23851 (grub_fatal): Gettextizze.
23852
0a46429a
RM
238532010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23854
23855 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23856 (grub_linux16_real_boot): ... this.
23857 * kern/i386/loader.S: Likewise.
23858 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23859 (grub_linux16_boot): New function. Switches to text mode and calls
23860 grub_linux16_real_boot().
23861
23862 * loader/i386/bsd.c: Include `<grub/video.h>'.
23863 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23864 text mode before calling grub_unix_real_boot().
23865
23866 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23867 (grub_multiboot_boot): Switch to text mode before calling
23868 grub_relocator32_boot().
23869
23870 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23871 (grub_chainloader_boot): Switch to text mode before calling
23872 grub_chainloader_real_boot().
23873
d6f93a66
RM
238742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
238752010-01-05 Colin Watson <cjwatson@ubuntu.com>
23876
23877 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23878 non-empty value.
23879
238802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
238812010-01-05 Colin Watson <cjwatson@ubuntu.com>
23882
23883 * util/grub.d/00_header.in: Define a "savedefault" function for use
23884 in menu entries.
23885 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23886
238872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
238882010-01-05 Colin Watson <cjwatson@ubuntu.com>
23889
23890 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23891 saved_entry if boot_once is unset.
23892 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23893 previous saved entry (i.e. grub-reboot).
23894
238952009-12-08 Colin Watson <cjwatson@ubuntu.com>
23896
23897 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23898
238992009-12-08 Colin Watson <cjwatson@ubuntu.com>
23900
23901 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23902 `var=val'.
23903 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23904
239052009-12-08 Colin Watson <cjwatson@ubuntu.com>
23906
23907 * util/grub-reboot.in: Fix --version output.
23908 * util/grub-set-default.in: Likewise.
23909
239102009-12-08 Colin Watson <cjwatson@ubuntu.com>
23911
23912 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23913 blocks.
23914
239152009-12-08 Colin Watson <cjwatson@ubuntu.com>
23916
23917 * util/grub.d/00_header.in: Quote the value assigned to `default',
23918 in case it contains spaces.
23919
239202009-12-08 Colin Watson <cjwatson@ubuntu.com>
23921
23922 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23923 `save_default_entry' call from the macosx case to the linux case.
23924
239252009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
239262009-10-25 Colin Watson <cjwatson@ubuntu.com>
23927
23928 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23929 in `chosen' environment variable.
23930 * normal/menu_text.c (get_entry_number): Check if the variable
23931 matches the title of a menu entry.
23932 (run_menu): Pass menu to get_entry_number.
23933
23934 * util/grub-reboot.in: New file.
23935 * util/grub-set-default.in: New file.
23936 * conf/common.rmk (grub-reboot): New utility.
23937 (grub-set-default): New utility.
23938
23939 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23940 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23941 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23942 move it to `saved_entry' for the next boot. Load environment on
23943 initialisation.
23944 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23945 * util/grub.d/10_hurd.in: Likewise.
23946 * util/grub.d/10_linux.in (linux_entry): Likewise.
23947 * util/grub.d/10_windows.in: Likewise.
23948 * util/grub.d/30_os-prober.in: Likewise.
23949
23950 * util/grub-install.in: Create environment block.
23951 * util/i386/efi/grub-install.in: Likewise.
23952 * util/ieee1275/grub-install.in: Likewise.
23953 * util/sparc64/ieee1275/grub-install.in: Likewise.
23954
0934d184
BC
239552010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23956
23957 Unit testing framework for GRUB.
23958
23959 * Makefile.in: Test framework build rules for 'make check'.
23960 * conf/tests.rmk: Build rules for individual tests and framework.
23961
23962 * include/grub/test.h: Header file for whitebox tests.
23963 * tests/lib/functional_test.c: Framework support for whitebox
23964 functional tests.
23965 * tests/lib/test.c: Common whitebox testing code for unit and
23966 functional tests.
23967 * tests/lib/unit_test.c: Framework support for whitebox unit
23968 tests.
23969
23970 * tests/util/grub-shell-tester.in: Support utility for grub-script
23971 tests.
23972 * tests/util/grub-shell.in: Utility to execute grub-script
23973 commands in a Qemu instance.
23974
23975 * tests/example_functional_test.c: Example whitebox functional
23976 test.
23977 * tests/example_grub_script_test.in: Example grub-script test.
23978 * tests/example_scripted_test.in: Example scripted test.
23979 * tests/example_unit_test.c: Example whitebox unit test.
23980
9c4ffeeb
VS
239812010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23982
23983 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23984 Add loader/i386/multiboot_mbi.c.
23985 (multiboot2_mod_SOURCES): Likewise.
23986 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23987 (multiboot2_mod_SOURCES): Likewise.
23988 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23989 (grub_multiboot_make_mbi): Likewise.
23990 (grub_multiboot_free_mbi): Likewise.
23991 (grub_multiboot_init_mbi): Likewise.
23992 (grub_multiboot_add_module): Likewise.
23993 (grub_multiboot_set_bootdev): Likewise.
23994 * loader/i386/multiboot.c (mbi): Removed.
23995 (mbi_dest): Likewise.
23996 (alloc_mbi): New variable.
23997 (grub_multiboot_payload_size): Removed. All users updated.
23998 (grub_multiboot_pure_size): New variable.
23999 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24000 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24001 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24002 (grub_fill_multiboot_mmap): Likewise.
24003 (grub_multiboot_get_bootdev): Likewise.
24004 (grub_multiboot): Use multiboot_mbi functions.
24005 * loader/i386/multiboot_mbi.c: New file.
24006
17383dfe
VS
240072010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24008
24009 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24010 it would result in module crash.
24011
c1f28820
VS
240122010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24015 (grub_ofconsole_getwh): Split to ...
24016 (grub_ofconsole_getwh): ... this.
24017 (grub_ofconsole_dimensions): ...and this.
24018 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24019
58655a16
RM
240202010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24021
24022 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24023
10891398
VS
240242010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24025
24026 * loader/i386/pc/multiboot2.c: Removed stalled file.
24027
0b8a223c
VS
240282010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24029
24030 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24031 Reported by: Grégoire Sutre
24032
92ab12b0
RM
240332010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24034
24035 * util/misc.c (canonicalize_file_name): New function.
24036 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24037 instead of realpath().
24038
a788afb6
CW
240392010-01-11 Colin Watson <cjwatson@ubuntu.com>
24040
24041 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24042 and make it clearer that it's optional. Based on confusion
24043 witnessed on IRC.
24044
ffa8e3d2
VS
240452010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24046
24047 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24048 in premature implicit newline.
24049
e9060a9d
VS
240502010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24053 which resulted in garbled command line at the end of screen.
24054
f0d0c0b7
RM
240552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24056
24057 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24058 initialization with similar approach as with other Linux loaders.
24059
0e60bae7
RM
240602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24061
24062 Fix i386-ieee1275 build.
24063
24064 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24065 and grub_term_height() for video_{width,height} initialization.
24066
240672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
24068
24069 Fix grub-emu build.
24070
24071 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24072
cdb3f378
RM
240732010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
240742010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24075
24076 Support for multiple terminals.
24077
24078 * Makefile.in (pkglib_DATA): terminal.lst.
24079 (terminal.lst): New target.
24080 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24081 (GRUB_MOD_INIT(handler)): Likewise.
24082 (GRUB_MOD_FINI(handler)): Likewise.
24083 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24084 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24085 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24086 (grub_cmd_sleep): Use grub_term_save_pos.
24087 * commands/terminal.c: New file.
24088 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24089 commands/terminal.c and lib/charset.c.
24090 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24091 (pkglib_MODULES): Add terminal.mod.
24092 (terminal_mod_SOURCES): New variable.
24093 (terminal_mod_CFLAGS): Likewise.
24094 (terminal_mod_LDFLAGS): Likewise.
24095 * genhandlerlist.sh: Don't handle terminals.
24096 * genmk.rb: Generate terminal-*.lst.
24097 * genterminallist.sh: New file.
24098 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24099 (grub_is_valid_utf8): Likewise.
24100 (grub_utf8_to_ucs4_alloc): Likewise.
24101 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24102 (grub_menu_register_viewer): Changed argument.
24103 (grub_menu_try_text): New proto.
24104 (grub_gfxmenu_try_hook): New declaration.
24105 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24106 (grub_menu_init_page): Additional argument term.
24107 (grub_normal_init_page): Likewise.
24108 (grub_cmdline_get): Arguments simplified.
24109 (grub_utf8_to_ucs4_alloc): Removed.
24110 (grub_print_ucs4): Additional argument term.
24111 (grub_getstringwidth): Likewise.
24112 (grub_print_message_indented): Likewise.
24113 (grub_menu_text_register_instances): New proto.
24114 (grub_show_menu): Likewise.
24115 (read_terminal_list): Likewise.
24116 (grub_set_more): Likewise.
24117 * include/grub/parser.h: Include handler.h.
24118 * include/grub/reader.h: Rewritten.
24119 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24120 (GRUB_TERM_WIDTH): Changed to function.
24121 (GRUB_TERM_HEIGHT): Likewise.
24122 (GRUB_TERM_BORDER_WIDTH): Likewise.
24123 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24124 (GRUB_TERM_NUM_ENTRIES): Likewise.
24125 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24126 (GRUB_TERM_CURSOR_X): Likewise.
24127 (grub_term_input_class): Likewise.
24128 (grub_term_output_class): Likewise.
24129 (grub_term_outputs_disabled): New declaration.
24130 (grub_term_inputs_disabled): Likewise.
24131 (grub_term_outputs): Likewise.
24132 (grub_term_inputs): Likewise.
24133 (grub_term_register_input): Rewritten.
24134 (grub_term_register_output): Likewise.
24135 (grub_term_unregister_input): Likewise.
24136 (grub_term_unregister_output): Likewise.
24137 (FOR_ACTIVE_TERM_INPUTS): New macro.
24138 (FOR_DISABLED_TERM_INPUTS): Likewise.
24139 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24140 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24141 * include/grub/terminfo.h: Add oterm argument to all protypes.
24142 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24143 Use grub_rescue_run.
24144 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24145 All users updated.
24146 * kern/reader.c: Removed. All users updated.
24147 * kern/rescue_reader.c (grub_rescue_init): Removed.
24148 (grub_rescue_reader): Likewise.
24149 (grub_register_rescue_reader): Likewise.
24150 (grub_rescue_run): New function based on kern/reader.c.
24151 * kern/term.c: Adapted for multiterm.
24152 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24153 (grub_is_valid_utf8): Likewise.
24154 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24155 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24156 right terminal.
24157 * loader/i386/linux.c (grub_linux_boot): Likewise.
24158 * normal/auth.c (grub_username_get): New function.
24159 (grub_auth_check_authentication): Use grub_username_get.
24160 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24161 * normal/color.c: Adapt for multiterm.
24162 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24163 (grub_normal_init_page): Additional argument term.
24164 (read_lists): Call read_terminal_lists.
24165 (grub_enter_normal_mode): Call grub_cmdline_run.
24166 Handle grub_normal_exit_level.
24167 (grub_cmd_normal): Make reentrant.
24168 (grub_cmd_normal_exit): New function.
24169 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24170 * normal/menu.c: Adapt for multiterm.
24171 * normal/menu_entry.c: Likewise.
24172 * normal/menu_text.c: Likewise.
24173 * normal/menu_viewer.c: Removed. All users updated.
24174 * normal/term.c: New file.
24175 * util/console.c: Change order of includes to workaround a bug in
24176 ncurses headers.
24177 * term/terminfo.c: New argument oterm on all exported functions.
24178 All users updated.
24179 * util/grub-editenv.c (grub_term_input_class): Removed.
24180 (grub_term_output_class): Likewise.
24181
1a064917
RM
241822010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24183
24184 Make loader output a bit more user-friendly.
24185
24186 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24187 is being loaded. Likewise for the Hurd.
24188
24189 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24190 that kernel of FreeBSD ${version} is being loaded.
24191
24192 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24193 grub_dprintf().
24194 (grub_cmd_initrd): Likewise.
24195 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24196 that Linux ${version} is being loaded. Likewise for initrd.
24197
5ce0a83a 241982010-01-09 Carles Pina i Estany <carles@pina.cat>
24199
24200 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24201
809bbfeb 242022010-01-08 Carles Pina i Estany <carles@pina.cat>
24203
24204 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24205 (GRUB_MOD_INIT): Gettextizze.
24206 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24207 (GRUB_MOD_INIT): Gettextizze.
24208 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24209 (grub_cmd_linux): Capitalise Linux.
24210 (GRUB_MOD_INIT): Gettextizze.
24211 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24212 (grub_cmd_linux): Capitalise Linux.
24213 (GRUB_MOD_INIT): Gettextizze.
24214 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24215 (grub_cmd_linux): Capitalise Linux.
24216 (GRUB_MOD_INIT): Gettextizze.
24217 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24218 (GRUB_MOD_INIT): Gettextizze.
24219 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24220 (grub_cmd_linux): Capitalise Linux.
24221 (GRUB_MOD_INIT): Gettextizze.
24222 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24223 (grub_cpu_xnu_init): Gettextizze.
24224 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24225 (GRUB_MOD_INIT): Gettextizze.
24226 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24227 (GRUB_MOD_INIT): Gettextizze.
24228 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24229 (grub_linux_load64): Capitalise Linux.
24230 (GRUB_MOD_INIT): Gettextizze.
24231 * loader/xnu.c: Include `<grub/i18n.h>'.
24232 (GRUB_MOD_INIT): Gettextizze.
24233 * po/POTFILES: Add `loader/efi/appleloader.c',
24234 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24235 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24236 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24237 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24238 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24239 and `loader/xnu.c'.
24240
b394b2ca
RM
242412010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24242
24243 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24244
242452010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
24246
24247 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24248 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24249 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24250
bc8b32b3
RM
242512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24252
24253 Reset Multiboot 2 support. New loader implements the draft in
24254 /branches/multiboot2 and shares as much code as possible with the
24255 production Multiboot 1 implementation.
24256
24257 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24258 * loader/multiboot2.c: Likewise.
24259 * loader/i386/multiboot_helper.S: Likewise.
24260 * include/multiboot2.h: Replace with latest version from the draft
24261 in /branches/multiboot2.
24262
24263 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24264 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24265 and `loader/multiboot2.c'.
24266 (pkglib_MODULES): Add `multiboot2.mod'.
24267 (multiboot2_mod_SOURCES): New variable.
24268 (multiboot2_mod_LDFLAGS): Likewise.
24269 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24270
24271 * conf/i386-pc.rmk: Likewise.
24272
24273 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24274 (multiboot_mod_SOURCES): Remove variable.
24275 (multiboot_mod_LDFLAGS): Likewise.
24276 (multiboot_mod_CFLAGS): Likewise.
24277
24278 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24279 `<multiboot2.h>' instead of `<multiboot.h>'.
24280 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24281 (MULTIBOOT_HEADER_MAGIC): New macros.
24282
24283 * loader/multiboot_loader.c (module_version_status): Remove variable.
24284 (find_multi_boot2_header): Remove function.
24285 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24286 logic. Always check for the Multiboot version we're compiling for.
24287 (grub_cmd_module_loader): Likewise.
24288 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24289 command instead of `multiboot'.
24290
5d2c52b8
RM
242912010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24292
24293 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24294 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24295 all users.
24296
53108d92
RM
242972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
242982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24299
24300 Fix breakage introduced with previous commit.
24301
24302 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24303 commands.
24304 * normal/handler.c (read_handler_list): Revert part of previous commit
24305 affecting this file.
24306 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24307 (grub_normal_execute): ... here.
24308
e2e936b2
RM
243092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24310
24311 Merge prefix-redefinition-fix branch.
24312
24313 * normal/autofs.c (read_fs_list): Make function capable of being
24314 run multiple times, gracefuly replacing the previous data
24315 structures.
24316 * normal/dyncmd.c (read_command_list): Likewise.
24317 * normal/handler.c (read_handler_list): Likewise.
24318 * normal/main.c (read_lists): New function. Calls all the
24319 list reading functions.
24320 (grub_normal_execute): Use read_lists() instead of calling all
24321 list reading functions explicitly. Register read_lists() as a
24322 variable hook attached to ${prefix}.
24323
607a3701
VS
243242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24325
24326 Merge crypto branch.
24327
24328 * Makefile.in (pkglib_DATA): Add crypto.lst.
24329 (crypto.lst): New target.
24330 * commands/hashsum.c: New file.
24331 * commands/password.c (check_password): Use grub_crypto_memcmp.
24332 * commands/password_pbkdf2.c: New file.
24333 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24334 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24335 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24336 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24337 -I$(srcdir)/lib/libgcrypt_wrap.
24338 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24339 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24340 password_pbkdf2.mod.
24341 (crypto_mod_SOURCES): New variable.
24342 (crypto_mod_CFLAGS): Likewise.
24343 (crypto_mod_LDFLAGS): Likewise.
24344 (hashsum_mod_SOURCES): New variable.
24345 (hashsum_mod_CFLAGS): Likewise.
24346 (hashsum_mod_LDFLAGS): Likewise.
24347 (pbkdf2_mod_SOURCES): New variable.
24348 (pbkdf2_mod_CFLAGS): Likewise.
24349 (pbkdf2_mod_LDFLAGS): Likewise.
24350 (password_pbkdf2_mod_SOURCES): New variable.
24351 (password_pbkdf2_mod_CFLAGS): Likewise.
24352 (password_pbkdf2_mod_LDFLAGS): Likewise.
24353 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24354 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24355 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24356 Include conf/gcry.rmk.
24357 * include/grub/auth.h: Rewritten.
24358 * include/grub/crypto.h: New file.
24359 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24360 * include/grub/normal.h (read_crypto_list): New prototype.
24361 * lib/crypto.c: New file.
24362 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24363 * lib/pbkdf2.c: Likewise.
24364 * normal/auth.c (grub_auth_strcmp): Removed.
24365 (grub_iswordseparator): Likewise.
24366 (grub_auth_strword): Likewise.
24367 (is_authenticated): Use grub_strword.
24368 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24369 and grub_strword. Pass entered password to authentication callback.
24370 * normal/crypto.c: New file.
24371 * normal/main.c: Call read_crypto_list.
24372 * util/grub-mkpasswd-pbkdf2.c: New file.
24373 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24374
42841caa
VS
243752010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24376
24377 Fix descent and ascent calculation.
24378
24379 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24380 (options): New option "asce".
24381 (usage): Likewise.
24382 (add_char): Ignore invalid glyphs for descent calculation.
24383 Calculate ascent from actual content.
24384 (print_glyphs): Use 'asce'.
24385 (write_font): Likewise. Allow ascent override.
24386 (main): Handle "asce" option.
24387
e7730de7 243882010-01-06 Carles Pina i Estany <carles@pina.cat>
24389
24390 * kern/err.c: Include `<grub/i18n.h>'.
24391 (grub_print_error): Add full stop. Gettextizze.
24392 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24393 (grub_bsd_load_elf): Capitalise ELF.
24394 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24395 (grub_cmd_freebsd_module): Likewise.
24396 (grub_cmd_freebsd_module_elf): Likewise.
24397 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24398
40e3a41f 243992010-01-06 Carles Pina i Estany <carles@pina.cat>
24400
24401 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24402 * commands/search_file.c (HELP_MESSAGE): New macro.
24403 * commands/search_label.c (HELP_MESSAGE): Likewise.
24404 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24405 * po/POTFILES: Add `commands/search_file.c',
24406 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24407 `commands/search.c'.
24408
83507e68
RM
244092010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24410
24411 * config.rpath: Update from Gnulib.
24412
465c787b
YB
244132010-01-05 Yves Blusseau <blusseau@zetam.org>
24414
24415 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24416
6581dd3a
YB
244172010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24418
24419 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24420
3bff18c5
CW
244212010-01-05 Colin Watson <cjwatson@ubuntu.com>
24422
24423 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24424 arguments to fread so that we get a return value in bytes, rather
24425 than something that will normally be rounded down to 0.
24426 Adjust error handling to avoid producing garbage when size_t is not
24427 the same size as long long.
24428
a1368118
CW
244292010-01-05 Colin Watson <cjwatson@ubuntu.com>
24430
24431 * util/mkisofs/write.c (padblock_write): Check return value of
24432 fread.
24433
7c302978
RM
244342010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24435
24436 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24437 floppy images now.
24438
24439 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24440
e33ace06
RM
244412010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24442
24443 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24444 instead of manual alignment.
24445 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24446 verbose). Avoid attempts to read past end of the device
24447 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24448 but GRUB_DISK_CACHE_SIZE may exceed that).
24449
4b856776
RM
244502010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24451
24452 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24453 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24454 it to upper layer.
24455
52c2d97f
VS
244562010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24459 New constant.
24460 (grub_efi_piwg_device_path): New structure
24461 (grub_efi_piwg_device_path_t): New type.
24462 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24463 (devpath_1): Transform to a structure. All users updated.
24464 (devpath_2): Likewise.
24465 (devpath_3): Likewise.
24466 (devpath_4): Likewise.
24467 (devpath_5): Likewise.
24468
98ff6a54
VS
244692010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24470
24471 * loader/efi/appleloader.c: Restored. Update all users.
24472
3a73dcb6
RM
244732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24474
24475 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24476
24477 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24478 (struct boot_blocklist): Move from here ...
24479 * include/grub/i386/pc/boot.h [ASM_FILE]
24480 (struct grub_boot_blocklist): ... to here. Update all users.
24481 (setup): Only initialize `start' member of `first_block'
24482 structure. Add assert() calls to verify the other members.
24483
24484 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24485 (generate_image): Fix broken blocklist length initialization.
24486 Add assert() call to verify blocklist `segment' field.
24487
ab0eeb0c
RM
244882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24489
24490 * loader/efi/appleloader.c: Remove. Update all users.
24491
58bc8bd5
RM
244922010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24493
24494 * boot/i386/pc/boot.S: Update copyright year.
24495 * boot/i386/pc/cdboot.S: Likewise.
24496 * boot/i386/pc/diskboot.S: Likewise.
24497 * boot/i386/pc/lnxboot.S: Likewise.
24498 * boot/i386/pc/pxeboot.S: Likewise.
24499 * bus/pci.c: Likewise.
24500 * commands/cmp.c: Likewise.
24501 * commands/help.c: Likewise.
24502 * commands/hexdump.c: Likewise.
24503 * commands/i386/pc/halt.c: Likewise.
24504 * commands/i386/pc/play.c: Likewise.
24505 * commands/i386/pc/vbeinfo.c: Likewise.
24506 * commands/ls.c: Likewise.
24507 * commands/test.c: Likewise.
24508 * disk/dmraid_nvidia.c: Likewise.
24509 * disk/i386/pc/biosdisk.c: Likewise.
24510 * disk/ieee1275/nand.c: Likewise.
24511 * disk/ieee1275/ofdisk.c: Likewise.
24512 * disk/lvm.c: Likewise.
24513 * disk/raid.c: Likewise.
24514 * disk/raid6_recover.c: Likewise.
24515 * disk/scsi.c: Likewise.
24516 * fs/affs.c: Likewise.
24517 * fs/cpio.c: Likewise.
24518 * fs/ext2.c: Likewise.
24519 * fs/hfs.c: Likewise.
24520 * fs/iso9660.c: Likewise.
24521 * fs/ntfs.c: Likewise.
24522 * fs/sfs.c: Likewise.
24523 * fs/udf.c: Likewise.
24524 * fs/ufs.c: Likewise.
24525 * fs/xfs.c: Likewise.
24526 * gencmdlist.sh: Likewise.
24527 * genmk.rb: Likewise.
24528 * include/grub/disk.h: Likewise.
24529 * include/grub/efi/api.h: Likewise.
24530 * include/grub/efi/efi.h: Likewise.
24531 * include/grub/efi/pe32.h: Likewise.
24532 * include/grub/elf.h: Likewise.
24533 * include/grub/fs.h: Likewise.
24534 * include/grub/i386/at_keyboard.h: Likewise.
24535 * include/grub/i386/pc/memory.h: Likewise.
24536 * include/grub/i386/pc/vbe.h: Likewise.
24537 * include/grub/i386/pci.h: Likewise.
24538 * include/grub/i386/tsc.h: Likewise.
24539 * include/grub/ieee1275/ieee1275.h: Likewise.
24540 * include/grub/ntfs.h: Likewise.
24541 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24542 * include/grub/sparc64/libgcc.h: Likewise.
24543 * include/grub/symbol.h: Likewise.
24544 * include/grub/types.h: Likewise.
24545 * include/multiboot2.h: Likewise.
24546 * io/gzio.c: Likewise.
24547 * kern/device.c: Likewise.
24548 * kern/disk.c: Likewise.
24549 * kern/efi/efi.c: Likewise.
24550 * kern/efi/mm.c: Likewise.
24551 * kern/elf.c: Likewise.
24552 * kern/file.c: Likewise.
24553 * kern/i386/dl.c: Likewise.
24554 * kern/i386/pc/init.c: Likewise.
24555 * kern/i386/pc/startup.S: Likewise.
24556 * kern/ieee1275/ieee1275.c: Likewise.
24557 * kern/ieee1275/init.c: Likewise.
24558 * kern/main.c: Likewise.
24559 * kern/mm.c: Likewise.
24560 * kern/powerpc/dl.c: Likewise.
24561 * kern/sparc64/dl.c: Likewise.
24562 * kern/x86_64/dl.c: Likewise.
24563 * lib/hexdump.c: Likewise.
24564 * loader/efi/appleloader.c: Likewise.
24565 * loader/i386/ieee1275/linux.c: Likewise.
24566 * loader/i386/pc/chainloader.c: Likewise.
24567 * loader/i386/pc/linux.c: Likewise.
24568 * loader/i386/pc/multiboot2.c: Likewise.
24569 * loader/ieee1275/multiboot2.c: Likewise.
24570 * loader/multiboot2.c: Likewise.
24571 * loader/multiboot_loader.c: Likewise.
24572 * loader/powerpc/ieee1275/linux.c: Likewise.
24573 * normal/completion.c: Likewise.
24574 * normal/menu_entry.c: Likewise.
24575 * partmap/apple.c: Likewise.
24576 * util/grub.d/10_hurd.in: Likewise.
24577 * util/hostfs.c: Likewise.
24578 * video/readers/png.c: Likewise.
24579
e2d70b5c
CW
245802010-01-03 Colin Watson <cjwatson@ubuntu.com>
24581
24582 * include/grub/misc.h (GNUC_PREREQ): New macro.
24583 (ATTRIBUTE_ERROR): New macro.
24584 * include/grub/list.h (grub_bad_type_cast_real): Use
24585 ATTRIBUTE_ERROR.
24586
a173283f 245872010-01-03 Carles Pina i Estany <carles@pina.cat>
24588
24589 * normal/menu_text.c (print_message): Change messages.
24590
7fa7ff74 245912010-01-03 Carles Pina i Estany <carles@pina.cat>
24592
24593 * normal/menu_entry.c (store_completion): Gettextizze.
24594
136d24f6 245952010-01-03 Carles Pina i Estany <carles@pina.cat>
24596
24597 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24598
f936862e 245992010-01-03 Carles Pina i Estany <carles@pina.cat>
24600
24601 * po/POTFILES: Sort correctly.
24602
29c44ad1 246032010-01-03 Carles Pina i Estany <carles@pina.cat>
24604
24605 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24606 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24607 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24608 full stop.
24609 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24610 summary. Gettextizze the strings.
24611 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24612 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24613 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24614 full stop.
24615 (GRUB_MOD_INIT): Remove command name from summary.
24616 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24617 summary.
24618 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24619 * term/i386/pc/serial.c (options): Add full stops.
24620 (GRUB_MOD_INIT): Remove command name from the summary.
24621
77a79592 246222010-01-03 Carles Pina i Estany <carles@pina.cat>
24623
24624 * commands/acpi.c: Gettextizze help strings and/or options. Include
24625 `grub/i18n.h' if needed.
24626 * commands/blocklist.c: Likewise.
24627 * commands/boot.c: Likewise.
24628 * commands/cat.c: Likewise.
24629 * commands/cmp.c: Likewise.
24630 * commands/configfile.c: Likewise.
24631 * commands/crc.c: Likewise.
24632 * commands/date.c: Likewise.
24633 * commands/echo.c: Likewise.
24634 * commands/efi/fixvideo.c: Likewise.
24635 * commands/efi/loadbios.c: Likewise.
24636 * commands/gptsync.c: Likewise.
24637 * commands/halt.c: Likewise.
24638 * commands/handler.c: Likewise.
24639 * commands/hdparm.c: Likewise.
24640 * commands/hexdump.c: Likewise.
24641 * commands/i386/cpuid.c: Likewise.
24642 * commands/i386/pc/drivemap.c: Likewise.
24643 * commands/i386/pc/halt.c: Likewise.
24644 * commands/i386/pc/pxecmd.c: Likewise.
24645 * commands/i386/pc/vbeinfo.c: Likewise.
24646 * commands/i386/pc/vbetest.c: Likewise.
24647 * commands/ieee1275/suspend.c: Likewise.
24648 * commands/keystatus.c: Likewise.
24649 * commands/loadenv.c: Likewise.
24650 * commands/ls.c: Likewise.
24651 * commands/lsmmap.c: Likewise.
24652 * commands/lspci.c: Likewise.
24653 * commands/memrw.c: Likewise.
24654 * commands/minicmd.c: Likewise.
24655 * commands/parttool.c: Likewise.
24656 * commands/password.c: Likewise.
24657 * commands/probe.c: Likewise.
24658 * commands/read.c: Likewise.
24659 * commands/reboot.c: Likewise.
24660 * commands/search.c: Likewise.
24661 * commands/sleep.c: Likewise.
24662 * commands/test.c: Likewise.
24663 * commands/true.c: Likewise.
24664 * commands/usbtest.c: Likewise.
24665 * commands/videotest.c: Likewise.
24666 * commands/xnu_uuid.c: Likewise.
24667 * disk/loopback.c: Likewise.
24668 * hello/hello.c: Likewise.
24669 * loader/i386/bsd.c: Likewise.
24670 * term/i386/pc/serial.c: Likewise.
24671 * po/POTFILES: Add new files.
24672
da8d5c53
CW
246732010-01-02 Colin Watson <cjwatson@ubuntu.com>
24674
24675 * term/i386/pc/at_keyboard.c
24676 (keyboard_controller_wait_untill_ready): Rename to ...
24677 (keyboard_controller_wait_until_ready): ... this. Update all users.
24678
33937904 246792010-01-01 Carles Pina i Estany <carles@pina.cat>
24680
24681 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24682 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24683 string using string width.
24684 * normal/menu_text.c (grub_print_message_indented): Use
24685 grub_print_spaces and not print_spaces.
24686 (print_timeout): Likewise.
24687 (print_spaces): Move to...
24688 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24689
3fd3b8d8
RM
246902010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24691
24692 Import from Gnulib.
24693
24694 * gnulib/getdelim.c: New file.
24695 * gnulib/getline.c: Likewise.
24696
33433555
VS
246972009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24698
24699 * include/grub/list.h (grub_assert_fail): Removed.
24700 (grub_bad_type_cast_real): New function.
24701 (grub_bad_type_cast): New macro.
24702 (GRUB_AS_LIST): Use grub_bad_type_cast.
24703 (GRUB_AS_LIST_P): Likewise.
e44721e8 24704 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24705 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24706 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24707 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24708 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24709
f5a51306
VS
247102009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24711
24712 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24713 Fix syntax error.
24714
90d1e879
RM
247152009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24716
24717 * configure.ac: Check for TARGET_CFLAGS initialization before we
24718 initialize it ourselves (sigh).
24719 Move a few modifications to TARGET_CFLAGS to be unconditional
24720 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24721 eh_frame)
24722
24723 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24724 * term/i386/pc/at_keyboard.c
24725 (keyboard_controller_wait_untill_ready): Likewise.
24726 (keyboard_controller_led): Rename `led_status' paramter to avoid
24727 name conflict.
24728
465b5a81 247292009-12-28 Carles Pina i Estany <carles@pina.cat>
24730
24731 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24732 quotes.
24733
c181849b
VS
247342009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24735
24736 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24737
9c8739a4
VS
247382009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 * normal/menu_text.c (grub_print_message_indented): Prevent
24741 past-the-end-of-array dereference.
24742
3e74249c
VS
247432009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24744
24745 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24746 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24747
64fd18ed 247482009-12-27 Carles Pina i Estany <carles@pina.cat>
24749
24750 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24751 * normal/main.c (grub_normal_read_line): Remove a space from the
24752 default prompt.
24753
714af9b9 247542009-12-27 Carles Pina i Estany <carles@pina.cat>
24755
24756 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24757 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24758 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24759 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24760 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24761 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24762 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24763
82f3e412 247642009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24765
24766 * video/readers/jpeg.c (cmd): Declare.
24767 (grub_cmd_jpegtest): Use `grub_command_t' type.
24768 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24769 Assign to `cmd'.
24770 (GRUB_MOD_FINI): Use `cmd' to unregister.
24771 * video/readers/png.c (cmd): Declare.
24772 (grub_cmd_pngtest): Use `grub_command_t' type.
24773 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24774 Assign to `cmd'.
24775 (GRUB_MOD_FINI): Use `cmd' to unregister.
24776 * video/readers/tga.c (cmd): Declare.
24777 (grub_cmd_tgatest): Use `grub_command_t' type.
24778 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24779 Assign to `cmd'.
24780 (GRUB_MOD_FINI): Use `cmd' to unregister.
24781
82f3e412 247822009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24783
24784 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24785 stops.
24786 * kern/corecmd.c (grub_register_core_commands): Likewise.
24787 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24788 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24789 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24790 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24791 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24792 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24793 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24794 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24795 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24796 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24797 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24798 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24799 * normal/handler.c (insert_handler): Likewise.
24800 * normal/main.c (GRUB_MOD_INIT): Likewise.
24801 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24802
fdcdbb66 248032009-12-26 Carles Pina i Estany <carles@pina.cat>
24804
24805 * commands/help.c (grub_cmd_help): Print the command name before the
24806 summary.
24807 (GRUB_MOD_INIT): Remove command name from the summary.
24808 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24809 string as summary.
fdcdbb66 24810 * lib/arg.c (find_long): Print the command name before the summary.
24811 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24812 summary.
24813 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24814 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24815 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24816 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24817 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24818 * commands/date.c (GRUB_MOD_INIT): Likewise.
24819 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24820 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24821 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24822 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24823 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24824 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24825 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24826 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24827 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24828 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24829 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24830 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24831 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24832 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24833 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24834 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24835 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24836 * commands/password.c (GRUB_MOD_INIT): Likewise.
24837 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24838 * commands/read.c (GRUB_MOD_INIT): Likewise.
24839 * commands/search.c (GRUB_MOD_INIT): Likewise.
24840 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24841 * commands/test.c (GRUB_MOD_INIT): Likewise.
24842 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24843 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24844 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24845 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24846 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24847 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24848 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24849 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24850 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24851 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24852 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24853 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24854 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24855 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24856
9c288be2
VS
248572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24858
24859 Use search command for preliminar UUID search.
24860
24861 * commands/search.c: Split into ...
24862 * commands/search_wrap.c: ...this
24863 * commands/search.c: ...and this.
24864 * commands/search_file.c: New file.
24865 * commands/search_label.c: New file.
24866 * commands/search_uuid.c: New file.
24867 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24868 Add commands/search_wrap.c, commands/search_file.c,
24869 commands/search_label.c and commands/search_uuid.c.
24870 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24871 (search_mod_SOURCES): Set to commands/search_wrap.c.
24872 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24873 search_label.mod.
24874 (search_fs_file_mod_SOURCES): New variable.
24875 (search_fs_file_mod_CFLAGS): Likewise.
24876 (search_fs_file_mod_LDFLAGS): Likewise.
24877 (search_label_mod_SOURCES): Likewise.
24878 (search_label_mod_CFLAGS): Likewise.
24879 (search_label_mod_LDFLAGS): Likewise.
24880 (search_fs_uuid_mod_SOURCES): New variable.
24881 (search_fs_uuid_mod_CFLAGS): Likewise.
24882 (search_fs_uuid_mod_LDFLAGS): Likewise.
24883 (fs_file_mod_SOURCES): Removed.
24884 (fs_file_mod_CFLAGS): Likewise.
24885 (fs_file_mod_LDFLAGS): Likewise.
24886 (fs_uuid_mod_SOURCES): Removed.
24887 (fs_uuid_mod_CFLAGS): Likewise.
24888 (fs_uuid_mod_LDFLAGS): Likewise.
24889 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24890 Set to util/grub-install.in.
24891 * disk/fs_file.c: Removed.
24892 * disk/fs_uuid.c: Likewise.
24893 * include/grub/search.h: New file.
24894 * util/grub-install.in: Handle sparc64.
24895 Create and use load.cfg.
24896 * util/sparc64/ieee1275/grub-install.in: Removed.
24897
db943399
VS
248982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24899
24900 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24901 Ignore return status if CF is cleared.
24902 (grub_biosdisk_get_diskinfo_standard): Likewise.
24903
3fdae612
RM
249042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24905
24906 * term/i386/pc/at_keyboard.c
24907 (keyboard_controller_wait_untill_ready): New function.
24908 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24909 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24910 for keyboard polling, rather than duplicate the same loop. This
24911 saves a few bytes in code size.
24912
7ebaa2b4
VS
249132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24914
24915 Support for (pxe[:server[:gateway]]) syntax and
24916 use environment variable for PXE.
24917
24918 * commands/i386/pc/pxecmd.c (options): Removed.
24919 (print_ip): Removed.
24920 (grub_cmd_pxe): Removed
24921 (grub_cmd_pxe_unload): New function.
24922 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24923 (grub_pxe_your_ip): Made static.
24924 (grub_pxe_default_server_ip): Likewise.
24925 (grub_pxe_default_gateway_ip): Likewise.
24926 (grub_pxe_blksize): Likewise.
24927 (parse_ip): New function.
24928 (grub_pxe_open): Support server and gateway specification.
24929 (grub_pxe_close): Free disk->data.
24930 (grub_pxefs_open): Use disk->data.
24931 (grub_pxefs_read): Likewise.
24932 (grub_env_write_readonly): New function.
24933 (set_mac_env): Likewise.
24934 (set_env_limn_ro): Likewise.
24935 (parse_dhcp_vendor): Likewise.
24936 (grub_pxe_detect): Set the environment variables.
24937 (set_ip_env): New function.
24938 (write_ip_env): Likewise.
24939 (grub_env_write_pxe_default_server): Likewise.
24940 (grub_env_write_pxe_default_gateway): Likewise.
24941 (grub_env_write_pxe_blocksize): Likewise.
24942 (GRUB_MOD_INIT(pxe)): Set environment variables.
24943 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24944 (grub_pxe_mac_addr_t): ... this. All users updated.
24945 (grub_pxe_your_ip): Removed.
24946 (grub_pxe_server_ip): Likewise.
24947 (grub_pxe_gateway_ip): Likewise.
24948 (grub_pxe_blksize): Likewise.
24949
ec5f98ab 249502009-12-25 Carles Pina i Estany <carles@pina.cat>
24951
24952 * commands/help.c: Include `<grub/i18n.h>'.
24953 (grub_cmd_help): Gettextizze.
24954 (GRUB_MOD_INIT): Likewise.
24955 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24956 (GRUB_MOD_INIT): Gettextizze.
24957 * commands/search.c: Include `<grub/i18n.h>'.
24958 (options): Gettextizze.
24959 (GRUB_MOD_INIT): Gettextizze.
24960 * lib/arg.c: Include `<grub/i18n.h>'.
24961 (help_options): Gettextizze.
24962 (find_long): Likewise.
24963 (grub_arg_show_help): Likewise.
24964 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24965 (read_command_list): Gettextizze.
24966 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24967 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24968
22815526
RM
249692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24970
24971 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24972 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24973 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24974 (led_status): New variable.
24975 (keyboard_controller_led): New function.
24976 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24977 update led status for caps lock, num lock and scroll lock.
24978
0ad46fd7
FZ
249792009-12-25 Felix Zielcke <fzielcke@z-51.de>
24980
24981 * util/hostdisk.c (open_device): Fix a comment.
24982
d0e158c2
RM
249832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24984
24985 * util/grub-install.in (host_os): New variable.
24986 * util/i386/efi/grub-install.in (host_os): Likewise.
24987
401c0ad6
RM
249882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24989
24990 * util/mkisofs/write.c (padblock_write): Abort when given an
24991 excedingly large embed image, instead of silently truncating it.
24992
d14d3370
RM
249932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24994
24995 * include/multiboot.h: Indentation fixes.
24996
eeed10b4
RM
249972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24998
24999 * include/multiboot.h (struct multiboot_aout_symbol_table)
25000 (struct multiboot_elf_section_header_table): New structure
25001 declarations (stolen from GRUB Legacy).
25002 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25003 table information.
25004
25005 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25006 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25007 type aliases.
25008
681c70ab
RM
250092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25010
25011 * include/multiboot.h: Make comments src2texi-friendly.
25012
e4d47d8d
RM
250132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25014
25015 For consistency with [multiboot]/docs/boot.S.
25016
25017 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25018 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25019 (MULTIBOOT_MAGIC2): Rename from this ...
25020 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25021
a0b70bda
RM
250222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25023
25024 * include/multiboot.h: Remove `<grub/types.h>'.
25025 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25026 types. Update all users.
25027
61ba42be 250282009-12-25 Carles Pina i Estany <carles@pina.cat>
25029
25030 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25031 `couldn't' and `can not' by `cannot'.
25032 * commands/i386/pc/drivemap.c: Likewise.
25033 * disk/ata.c: Likewise.
25034 * disk/ieee1275/nand.c: Likewise.
25035 * fs/affs.c: Likewise.
25036 * fs/fat.c: Likewise.
25037 * fs/hfs.c: Likewise.
25038 * fs/hfsplus.c: Likewise.
25039 * fs/iso9660.c: Likewise.
25040 * fs/jfs.c: Likewise.
25041 * fs/minix.c: Likewise.
25042 * fs/reiserfs.c: Likewise.
25043 * fs/sfs.c: Likewise.
25044 * fs/udf.c: Likewise.
25045 * fs/ufs.c: Likewise.
25046 * fs/xfs.c: Likewise.
25047 * loader/powerpc/ieee1275/linux.c: Likewise.
25048 * loader/sparc64/ieee1275/linux.c: Likewise.
25049 * util/grub-probe.c: Likewise.
25050 * util/misc.c: Likewise.
25051
7fd0baee 250522009-12-24 Carles Pina i Estany <carles@pina.cat>
25053
25054 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25055 grub_errno calls.
25056 * commands/acpi.c: Likewise.
25057 * commands/blocklist.c: Likewise.
25058 * commands/efi/loadbios.c: Likewise.
25059 * commands/i386/pc/drivemap.c: Likewise.
25060 * commands/loadenv.c: Likewise.
25061 * commands/memrw.c: Likewise.
25062 * commands/password.c: Likewise.
25063 * commands/videotest.c: Likewise.
25064 * disk/ata.c: Likewise.
25065 * disk/ata_pthru.c: Likewise.
25066 * disk/dmraid_nvidia.c: Likewise.
25067 * disk/ieee1275/nand.c: Likewise.
25068 * disk/ieee1275/ofdisk.c: Likewise.
25069 * disk/loopback.c: Likewise.
25070 * disk/lvm.c: Likewise.
25071 * disk/mdraid_linux.c: Likewise.
25072 * disk/raid.c: Likewise.
25073 * disk/raid6_recover.c: Likewise.
25074 * disk/scsi.c: Likewise.
25075 * efiemu/main.c: Likewise.
25076 * efiemu/mm.c: Likewise.
25077 * efiemu/pnvram.c: Likewise.
25078 * efiemu/symbols.c: Likewise.
25079 * font/font.c: Likewise.
25080 * fs/cpio.c: Likewise.
25081 * fs/hfsplus.c: Likewise.
25082 * fs/iso9660.c: Likewise.
25083 * fs/jfs.c: Likewise.
25084 * fs/minix.c: Likewise.
25085 * fs/ntfs.c: Likewise.
25086 * fs/ntfscomp.c: Likewise.
25087 * fs/reiserfs.c: Likewise.
25088 * fs/ufs.c: Likewise.
25089 * fs/xfs.c: Likewise.
25090 * gettext/gettext.c: Likewise.
25091 * include/grub/auth.h: Likewise.
25092 * kern/elf.c: Likewise.
25093 * kern/file.c: Likewise.
25094 * kern/ieee1275/init.c: Likewise.
25095 * kern/ieee1275/mmap.c: Likewise.
25096 * kern/ieee1275/openfw.c: Likewise.
25097 * kern/powerpc/dl.c: Likewise.
25098 * kern/sparc64/dl.c: Likewise.
25099 * lib/arg.c: Likewise.
25100 * loader/i386/bsd.c: Likewise.
25101 * loader/i386/bsdXX.c: Likewise.
25102 * loader/i386/efi/linux.c: Likewise.
25103 * loader/i386/efi/xnu.c: Likewise.
25104 * loader/i386/ieee1275/linux.c: Likewise.
25105 * loader/i386/linux.c: Likewise.
25106 * loader/i386/multiboot.c: Likewise.
25107 * loader/i386/pc/linux.c: Likewise.
25108 * loader/i386/pc/multiboot2.c: Likewise.
25109 * loader/i386/xnu.c: Likewise.
25110 * loader/ieee1275/multiboot2.c: Likewise.
25111 * loader/macho.c: Likewise.
25112 * loader/machoXX.c: Likewise.
25113 * loader/multiboot2.c: Likewise.
25114 * loader/multiboot_loader.c: Likewise.
25115 * loader/powerpc/ieee1275/linux.c: Likewise.
25116 * loader/sparc64/ieee1275/linux.c: Likewise.
25117 * loader/xnu.c: Likewise.
25118 * loader/xnu_resume.c: Likewise.
25119 * mmap/i386/pc/mmap.c: Likewise.
25120 * normal/menu_viewer.c: Likewise.
25121 * partmap/acorn.c: Likewise.
25122 * partmap/amiga.c: Likewise.
25123 * partmap/apple.c: Likewise.
25124 * script/lexer.c: Likewise.
25125 * term/gfxterm.c: Likewise.
25126 * term/i386/pc/serial.c: Likewise.
25127 * term/i386/pc/vga.c: Likewise.
25128 * term/ieee1275/ofconsole.c: Likewise.
25129 * term/terminfo.c: Likewise.
25130 * video/bitmap.c: Likewise.
25131 * video/efi_gop.c: Likewise.
25132 * video/efi_uga.c: Likewise.
25133 * video/fb/video_fb.c: Likewise.
25134 * video/i386/pc/vbe.c: Likewise.
25135 * video/readers/tga.c: Likewise.
25136 * video/video.c: Likewise.
25137
0ad46fd7 251382009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
25139
25140 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25141 * commands/lspci.c: Likewise.
25142 * commands/probe.c: Likewise.
25143 * commands/xnu_uuid.c: Likewise.
25144 * conf/i386-coreboot.rmk: Likewise.
25145 * conf/i386-efi.rmk: Likewise.
25146 * conf/i386-ieee1275.rmk: Likewise.
25147 * conf/i386-pc.rmk: Likewise.
25148 * conf/powerpc-ieee1275.rmk: Likewise.
25149 * conf/sparc64-ieee1275.rmk: Likewise.
25150 * conf/x86_64-efi.rmk: Likewise.
25151 * fs/i386/pc/pxe.c: Likewise.
25152 * gettext/gettext.c: Likewise.
25153 * include/grub/efi/graphics_output.h: Likewise.
25154 * include/grub/i386/pc/memory.h: Likewise.
25155 * kern/env.c: Likewise.
25156 * kern/i386/qemu/startup.S: Likewise.
25157 * lib/i386/pc/biosnum.c: Likewise.
25158 * lib/i386/relocator.c: Likewise.
25159 * lib/i386/relocator_asm.S: Likewise.
25160 * lib/relocator.c: Likewise.
25161 * loader/i386/bsd.c: Likewise.
25162 * loader/i386/multiboot.c: Likewise.
25163 * loader/i386/pc/chainloader.c: Likewise.
25164 * loader/i386/xnu.c: Likewise.
25165 * loader/xnu.c: Likewise.
25166 * normal/main.c: Likewise.
25167 * normal/menu_text.c: Likewise.
25168 * util/getroot.c: Likewise.
25169 * util/grub-mkconfig_lib.in: Likewise.
25170 * util/grub.d/00_header.in: Likewise.
25171 * util/i386/pc/grub-mkimage.c: Likewise.
25172 * util/mkisofs/eltorito.c: Likewise.
25173 * util/mkisofs/exclude.h: Likewise.
25174 * util/mkisofs/hash.c: Likewise.
25175 * util/mkisofs/iso9660.h: Likewise.
25176 * util/mkisofs/joliet.c: Likewise.
25177 * util/mkisofs/mkisofs.c: Likewise.
25178 * util/mkisofs/mkisofs.h: Likewise.
25179 * util/mkisofs/multi.c: Likewise.
25180 * util/mkisofs/name.c: Likewise.
25181 * util/mkisofs/rock.c: Likewise.
25182 * util/mkisofs/tree.c: Likewise.
25183 * util/mkisofs/write.c: Likewise.
25184 * video/efi_gop.c: Likewise.
25185
009ec743
VS
251862009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25187
25188 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25189 size counting.
25190
0ad46fd7 251912009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
25192
25193 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25194 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25195
d3d30ea0
VS
251962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25197
25198 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25199 (GRUB_MOD_INIT(memrw)): Update help line.
25200
a34f5c70
VS
252012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25202
25203 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25204 Use grub_extcmd_t. All users updated.
25205 (options): New variable.
25206 (grub_cmd_read): Restructure for readability. Support "-v" option.
25207 (grub_cmd_write): Restructure for readability.
25208
0ad46fd7 252092009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
25210
25211 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25212
0ad46fd7 252132009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
25214
25215 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25216 with the actual contents of the correspondending make variable.
25217 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25218 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25219 specifying `*.lst' and `efiemu??.o'
25220
0ad46fd7 252212009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
25222
25223 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25224 after function name.
25225 Noticed by Rene Engelhard <rene@debian.org>.
25226
dc77a799
VS
252272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25230 (options): New variable.
25231 (iospace): Likewise.
25232 (grub_lspci_iter): List IO spaces if "-i" was given.
25233 (grub_cmd_lspci): Parse options.
25234 (GRUB_MOD_INIT(lspci)): Use extcmd.
25235 (GRUB_MOD_FINI(lspci)): Likewise.
25236
0ad46fd7 252372009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
25238
25239 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25240 `function' keyword.
25241 Patch by Tony Mancill <tmancill@debian.org>.
25242
b5d5993b
VS
252432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25244
25245 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25246 (grub_uhci_portstatus): Likewise.
25247 (grub_uhci_portstatus): Add necessary delay.
11d18281 25248 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 25249
941903f2 252502009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 25251
941903f2 25252 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25253 (GRUB_MOD_INIT): Likewise.
25254 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 25255 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25256 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 25257 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25258 (enable_rom_area): Likewise.
25259 (GRUB_MOD_INIT): Likewise.
25260 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25261 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25262 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25263 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25264 * commands/hexdump.c (options): Likewise.
25265 * commands/i386/cpuid.c (options): Likewise.
25266 (GRUB_MOD_INIT): Likewise.
25267 * commands/i386/pc/drivemap.c (options): Likewise.
25268 (GRUB_MOD_INIT): Likewise.
25269 * commands/i386/pc/halt (options): Likewise.
25270 (GRUB_MOD_INIT): Likewise.
25271 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25272 * commands/i386/pc/pxecmd.c (options): Likewise.
25273 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25274 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25275 * commands/keystatus.c (options): Likewise.
25276 (GRUB_MOD_INIT): Likewise.
25277 * commands/loadenv.c (options): Likewise.
25278 * commands/ls.c (options): Likewise.
25279 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25280 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25281 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25282 * commands/parttool.c (helpmsg): Likewise.
25283 * commands/probe.c (options): Likewise.
25284 * commands/read.c (GRUB_MOD_INIT): Likewise.
25285 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25286 * commands/search.c (options): Likewise.
25287 * commands/sleep.c (options): Likewise.
25288 * commands/test.c (GRUB_MOD_INIT): Likewise.
25289 * commands/true.c (GRUB_MOD_INIT): Likewise.
25290 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25291 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25292 * lib/arg.c (help_options): Likewise.
e9bbb4e7 25293 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25294 `$(XGETTEXT)'.
98a50553 25295 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 25296
0ad46fd7 252972009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 25298
ef3c2c3a 25299 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
25300 instead of specifying them explicit.
25301
7922f68b
RM
253022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25303
25304 * NEWS: Add grub-probe support for GNU/Hurd.
25305
537ce47f
RM
253062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25307
25308 * NEWS: gettext was added after 1.97.
25309
9b214e3a
RM
253102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25311
25312 * util/mkisofs/msdos_partition.h: New file (based on
25313 include/grub/msdos_partition.h).
25314 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25315 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25316 (ld_options, main): Recognize --protective-msdos-label.
25317 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25318 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25319 (padblock_write): If `use_protective_msdos_label' is set, patch a
25320 protective DOS-style label in the output image.
25321
25322 * util/grub-mkrescue.in: Use --protective-msdos-label.
25323
e9309813
RM
253242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25325
25326 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25327 boot.
25328
0ae56929
RM
253292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25330
25331 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25332 variables.
25333 (ld_options, main): Recognize `--embedded-boot'.
25334 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25335 declarations.
25336 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25337 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25338 (padblock_write): Likewise. Rewrite to support embedded boot image.
25339
25340 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25341 for BIOS-based disk boot instead of only ElTorito.
25342
b15937b1
RM
253432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25344
25345 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25346 build (not needed for bootstrap).
25347
52cc3ce0
RM
253482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25349
25350 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25351 from i386-pc build (not needed for bootstrap).
25352 Rewrite a pair of strings.
25353
36f5ff04
RM
253542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25355
25356 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25357
973c6c85 253582009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25359
25360 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25361
05d21547
AB
253622009-12-21 Andreas Born <futur.andy@googlemail.com>
25363
25364 * kern/env.c (grub_env_context_open): Mark exported variable for
25365 reexport.
25366
0175d51f
AB
253672009-12-21 Andreas Born <futur.andy@googlemail.com>
25368
25369 * kern/env.c (grub_env_export): Create nonexistent variables before
25370 exporting.
25371
7f39d92f 253722009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25373
7f39d92f 25374 * include/grub/auth.h: Include `<grub/i18n.h>'.
25375 (GRUB_GET_PASSWORD): Gettextizze string.
25376 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25377 menu_text.c.
25378 (grub_utf8_to_ucs4_alloc): Fix indentation.
25379 (grub_print_ucs4): Likewise.
25380 (grub_getstringwidth): Likewise.
25381 (print_message_indented): New declaration.
25382 * normal/auth.c: Include `<grub/i18n.h>'.
25383 (grub_auth_check_authentication): Gettexttize string.
25384 * normal/cmdline.c: Include `<grub/i18n.h>'.
25385 (grub_cmdline_get): Gettextizze.
25386 * normal/color.c: Include `<grub/i18n.h>'.
25387 (grub_parse_color_name_pair): Gettexttize strings.
25388 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25389 string (use `print_message_indented').
25390 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25391 `include/grub/normal.h'.
25392 (print_message_indented): Renamed to ...
25393 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25394 used in normal/main.c).
25395 (print_message): Use `grub_print_message_indented' instead of
25396 `print_message_indented'.
25397 (print_timeout): Likewise.
25398 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25399 (grub_normal_print_device_info): Gettexttize strings.
25400 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25401
3041d898
VS
254022009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25403
25404 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25405 of arguments. Return number of tokens and not arguments. All users
25406 updated.
25407
de15bf8e
VS
254082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25409
25410 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25411 non-MSDOS paritions.
25412
e0a6ca52
VS
254132009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25414
25415 * include/grub/types.h (UNUSED): Removed since it conflicts with
25416 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25417 Reported by Grégoire Sutre.
25418
b99518d1 254192009-12-19 Carles Pina i Estany <carles@pina.cat>
25420
25421 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25422 (grub_print_ucs4_alloc): Likewise.
25423 (grub_getstringwidth): Likewise.
25424 * normal/main.c (grub_normal_init_page): Gettextize version string.
25425 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25426 (getstringwidth): Renamed to ...
25427 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25428 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25429 (grub_print_ucs4): Remove `static' qualifer (now used in
25430 normal/main.c).
25431 * po/POTFILES: Add normal/main.c.
25432
bfd5e52b 254332009-12-19 Carles Pina i Estany <carles@pina.cat>
25434
25435 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25436 (print_message_indented): Add `margin_left' and `margin_right'
25437 parameters.
25438 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25439 strings.
25440 (print_timeout): Use `print_message_indented' to print the message.
25441 Deletes `second_stage' parameter.
25442 (run_menu): Update `print_timeout' calls.
25443
5a1ad2b9
VS
254442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25445
25446 Fix console palette on OpenFirmware.
25447
25448 * term/ieee1275/ofconsole.c (MAX): Removed.
25449 (colors): Redone based on VGA palette.
25450 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25451 colors are supported.
25452 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25453
b045f00a
VS
254542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25455
25456 Fix potential EfiEmu double prepare.
25457
25458 * efiemu/main.c (prepared): New variable
25459 (grub_efiemu_unload): Set prepare to '0'.
25460 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25461
25462 set_virtual_address_map support.
25463
25464 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25465 prototype.
25466 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25467 prototype.
25468 (grub_efiemu_crc32): Likewise.
25469 (grub_efiemu_crc64): Likewise.
25470 (grub_efiemu_set_virtual_address_map): Likewise.
25471 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25472 New definition.
25473 (grub_autoefi_set_virtual_address_map): Likewise.
25474 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25475 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25476 Restructure flow to accomodate it.
25477 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25478 (grub_efiemu_crc): Recompute CRC32.
25479 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25480 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25481 * efiemu/symbols.c (relocated_handle): New variable.
25482 (grub_efiemu_free_syms): Free relocated_handle.
25483 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25484 (grub_efiemu_write_sym_markers): New function.
25485 (grub_efiemu_set_virtual_address_map): Likewise.
25486
25487 Newer XNU parameters.
25488
25489 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25490 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25491 (grub_xnu_fill_devicetree): New prototype.
25492 (grub_xnu_heap_real_start): New variable.
25493 * loader/xnu.c (get_name_ptr): New function.
25494 (grub_xnu_load_driver): Fill namelen and name.
25495
25496 64-bit xnu support.
25497
25498 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25499 and 'loader/macho64.c'.
25500 * conf/i386-pc.rmk: Likewise.
25501 * conf/x86_64-efi.rmk: Likewise.
25502 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25503 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25504 * include/grub/macho.h (grub_macho_segment64): New structure.
25505 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25506 (grub_macho_size32): ... to this.
25507 (grub_macho32_get_entry_point): Renamed from ...
25508 (grub_macho_get_entry_point32): ... to this.
25509 (grub_macho_contains_macho64): New prototype.
25510 (grub_macho_size64): Likewise.
25511 (grub_macho_get_entry_point64): Likewise.
25512 (grub_macho32_load): Renamed from ...
25513 (grub_macho_load32): ... to this.
25514 (grub_macho32_filesize): Renamed from ...
25515 (grub_macho_filesize32): ... to this.
25516 (grub_macho32_readfile): Renamed from ...
25517 (grub_macho_readfile32): ... to this.
25518 (grub_macho_filesize64): New prototype.
25519 (grub_macho_readfile64): Likewise.
25520 (grub_macho_parse32): Likewise.
25521 (grub_macho_parse64): Likewise.
25522 * loader/macho.c: Split into ...
25523 * loader/machoXX.c: ... and this. Replace 32 with XX.
25524 * loader/macho32.c: New file.
25525 * loader/macho64.c: Likewise.
25526 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25527 (grub_cmd_xnu_kernel): Make 32-bit only.
25528 (grub_cmd_xnu_kernel64): New function.
25529 (grub_xnu_load_driver): Support Mach-O 64.
25530 (grub_cmd_xnu_mkext): Likewise.
25531 * util/grub.d/30_os-prober.in (osx_entry): New function.
25532 Generate entries for 64-bit boot too.
25533
25534 Eliminate ad-hoc tree format in XNU and EfiEmu.
25535
25536 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25537 * efiemu/pnvram.c: Rewritten to use environment variables.
25538 All users updated.
25539
25540 Inline utf16_to_utf8.
25541
25542 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25543 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25544 All users updated.
25545 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25546
25547 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25548 * commands/usbtest.c (grub_usb_get_string): ... move here.
25549 (usb_print_str): Fix error handling.
25550 * include/grub/usb.h (grub_usb_get_string): Remove.
25551
25552 UTF-8 to UTF-16 transformation.
25553
25554 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25555 (charset_mod_SOURCES): New variable.
25556 (charset_mod_CFLAGS): Likewise.
25557 (charset_mod_LDFLAGS): Likewise.
25558 * include/grub/utf.h: New file.
25559 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25560
25561 Support for device properties.
25562
25563 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25564 (grub_xnu_devprop_device_header): Likewise.
25565 (grub_xnu_devprop_device_descriptor): Likewise.
25566 (grub_xnu_devprop_add_device): New prototype.
25567 (grub_xnu_devprop_remove_device): Likewise.
25568 (grub_xnu_devprop_remove_property): Likewise.
25569 (grub_xnu_devprop_add_property_utf8): Likewise.
25570 (grub_xnu_devprop_add_property_utf16): Likewise.
25571 (grub_cpu_xnu_init): Likewise.
25572 (grub_cpu_xnu_fini): Likewise.
25573 (grub_cpu_xnu_unload): Likewise.
25574 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25575 (property_descriptor): Likewise.
25576 (devices): New variable.
25577 (grub_xnu_devprop_remove_property): New function.
25578 (grub_xnu_devprop_add_device): Likewise.
25579 (grub_xnu_devprop_remove_device): Likewise.
25580 (grub_xnu_devprop_add_property): Likewise.
25581 (grub_xnu_devprop_add_property_utf8): Likewise.
25582 (grub_xnu_devprop_add_property_utf16): Likewise.
25583 (hextoval): Likewise.
25584 (grub_cpu_xnu_fill_devprop): Likewise.
25585 (grub_cmd_devprop_load): Likewise.
25586 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25587 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25588 (cmd_devprop_load): New variable.
25589 (grub_cpu_xnu_init): New function.
25590 (grub_cpu_xnu_fini): Likewise.
25591 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25592 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25593 (grub_cmd_xnu_devtree): Likewise.
25594 (hextoval): New function.
25595 (unescape): Likewise.
25596 (grub_xnu_fill_devicetree): Likewise.
25597
25598 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25599 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25600
0945f181
VS
256012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25602
25603 Workaround for broken ATI VBE.
25604
25605 * video/i386/pc/vbe.c (last_set_mode): New variable.
25606 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25607 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25608 (grub_video_vbe_setup): Don't check for reserved flag.
25609
0ad46fd7 256102009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25611
25612 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25613 the `find' command.
25614
c179ebe4
VS
256152009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25616
25617 UUID support for HFS.
25618
25619 * fs/hfs.c (grub_hfs_uuid): New function.
25620 (grub_hfs_fs): New value .uuid.
25621 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25622
0ad46fd7 256232009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25624
25625 Fix a segfault with parsing unknown long options.
25626
25627 * util/grub-mkrelpath.c (options): Zero terminate it.
25628
c4a3e41a
CPE
256292009-12-13 Carles Pina i Estany <carles@pina.cat>
25630
25631 * include/grub/misc.h (grub_puts): New declaration.
25632 (grub_puts_): Likewise.
a22008a6 25633 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25634 (grub_puts_): Likewise.
25635
2e8a7602
RM
256362009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25637
25638 * util/grub-probe.c (probe): Improve error message.
25639
b50b77b9
RM
256402009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25641
25642 * loader/i386/multiboot_elfxx.c
25643 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25644 initialization.
25645
256462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25647
25648 Relocator framework
25649
25650 * loader/i386/xnu_helper.S: Removed. All users updated.
25651 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25652 (relocator_mod_SOURCES): New variable.
25653 (relocator_mod_CFLAGS): Likewise.
25654 (relocator_mod_LDFLAGS): Likewise.
25655 (relocator_mod_ASFLAGS): Likewise.
25656 * conf/x86_64.rmk: Likewise.
25657 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25658 (grub_multiboot_payload_entry_offset): Likewise.
25659 (grub_multiboot_forward_relocator): Likewise.
25660 (grub_multiboot_forward_relocator_end): Likewise.
25661 (grub_multiboot_backward_relocator): Likewise.
25662 (grub_multiboot_backward_relocator_end): Likewise.
25663 (grub_multiboot_payload_eip): New variable.
25664 (grub_multiboot_payload_orig): Likewise.
25665 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25666 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25667 * include/grub/i386/memory.h
25668 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25669 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25670 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25671 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25672 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25673 * include/grub/i386/relocator.h: New file.
25674 * include/grub/x86_64/relocator.h: Likewise.
25675 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25676 (XNU_RELOCATOR): New macro.
25677 (grub_xnu_launcher_start): Remove.
25678 (grub_xnu_launcher_end): Likewise.
25679 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25680 (grub_xnu_heap_real_start): Remove.
25681 (grub_xnu_heap_start): Change to void *. All users updated.
25682 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25683 * lib/i386/relocator.c: New file.
25684 * lib/i386/relocator_asm.S: Likewise.
25685 * lib/i386/relocator_backward.S: Likewise.
25686 * lib/mips/relocator.c: Likewise.
25687 * lib/mips/relocator_asm.S: Likewise.
25688 * lib/relocator.c: Likewise.
25689 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25690 (entry): Removed.
25691 (playground): Likewise.
25692 (grub_multiboot_payload_orig): New variable.
25693 (grub_multiboot_payload_dest): Likewise.
25694 (grub_multiboot_payload_size): Likewise.
25695 (grub_multiboot_payload_eip): Likewise.
25696 (grub_multiboot_payload_esp): Likewise.
25697 (grub_multiboot_boot): Use grub_relocator32_boot.
25698 (grub_multiboot_unload): Free relocators.
25699 (grub_multiboot): Setup stack. Use relocators.
25700 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25701 (grub_multiboot_load_elfXX): Use relocators.
25702 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25703 (grub_multiboot_payload_size): Likewise.
25704 (grub_multiboot_payload_dest): Likewise.
25705 (grub_multiboot_payload_entry_offset): Likewise.
25706 (grub_multiboot_forward_relocator): Likewise.
25707 (grub_multiboot_backward_relocator): Likewise.
25708 (grub_multiboot_real_boot): Likewise.
25709 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25710 (grub_xnu_entry_point): Likewise.
25711 (grub_xnu_arg1): Likewise.
25712 (grub_xnu_stack): Likewise.
25713 (grub_xnu_launch): Removed.
25714 (grub_xnu_boot_resume): New function.
25715 (grub_xnu_boot): Use relocators.
25716 * loader/i386/xnu_helper.S: Removed.
25717 * loader/xnu.c (grub_xnu_heap_start): New variable.
25718 (grub_xnu_heap_size): Likewise.
25719 (grub_xnu_heap_malloc): Use relocators.
25720 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25721
29eb90c6
VS
257222009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25725 anything.
25726
31027430
CPE
257272009-12-13 Carles Pina i Estany <carles@pina.cat>
25728
25729 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25730 GRUB_ERR_NONE before calling grub_env_set.
25731
dc0c71d9
RM
257322009-12-12 Robert Millan <rmh@aybabtu.com>
25733
25734 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25735 * genmk.rb (video): New variable.
25736 (CLEANFILES, VIDEOFILES): Add #{video}.
25737 (#{video}): New target rule.
25738 * genvideolist.sh: New file.
25739 * Makefile.in (pkglib_DATA): Add video.lst.
25740 (video.lst): New target rule.
25741 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25742 `video.lst'.
25743 * util/grub.d/30_os-prober.in: Replace `vbe' with
25744 ${GRUB_VIDEO_BACKEND}.
25745
2a4bfcf0
RM
257462009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25747
25748 * THANKS: Add David Miller.
25749
2a3aa4d5
RM
257502009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25751
25752 libpciaccess support.
25753
25754 * Makefile.in (LIBPCIACCESS): New variable.
25755 (enable_grub_emu_pci): Likewise.
25756 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25757 util/pci.c and commands/lspci.c.
25758 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25759 * configure.ac (grub-emu-pci): New option.
25760 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25761 (grub_pci_device_unmap_range): Likewise.
25762 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25763 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25764 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25765 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25766 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25767 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25768 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25769 * include/grub/pciutils.h: New file.
25770 * util/pci.c: Likewise.
25771
0ad46fd7 257722009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25773
25774 * util/misc.c: Don't include <errno.h> twice.
25775
0ad46fd7 257762009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25777
25778 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25779 name in an error message.
25780 (grub_biosdisk_rw): Likewise.
25781
2e59983c
VS
257822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25783
25784 Eliminate NTFS 4Gib barrier.
25785
25786 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25787 (read_run_data): Likewise.
25788 (grub_ntfs_read_run_list): Likewise.
25789 (grub_ntfs_read_block): Likewise.
25790 (grub_ntfs_iterate_dir): Likewise.
25791 (read_mft): Likewise.
25792 (read_data): Likewise.
25793 Use COM_LOG_LEN.
25794 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25795 to avoid 64-bit division
25796 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25797 (grub_ntfs_rlst): Use grub_disk_addr_t.
25798
71ee178a
VS
257992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25800
25801 Eliminate grub-fstest 4Gib barrier.
25802
25803 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25804 (read_file): Fix error reporting.
25805
2520d4b8
VS
258062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 Eliminate hexdump 4Gib barrier.
25809
25810 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25811 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25812
e1f27065
VS
258132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25814
25815 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25816 Fixes amarsh bug.
25817
1a0f7f45
RM
258182009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25819
25820 Remove miscellaneous files in distclean target.
25821
25822 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25823
c631d9fb
CW
258242009-12-09 Colin Watson <cjwatson@ubuntu.com>
25825
25826 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25827 if they're already set. This resolves the conflict between my
25828 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25829 fixing the --grub-probe option again.
25830 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25831 change on 2009-10-06, so that we now once again source
25832 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25833
7c7b6106
RM
258342009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25835
25836 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25837 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25838 `util/devicemap.c'.
25839
e3069ec1
CPE
258402009-12-08 Carles Pina i Estany <carles@pina.cat>
25841
25842 * include/grub/misc.h (grub_printf_): New declaration.
25843 * kern/misc.c (grub_printf_): New definition.
25844 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25845 instead of `grub_printf' and `_'.
25846 * normal/menu_entry.c (store_completion): Likewise.
25847 (run): Likewise.
25848 (grub_menu_entry_run): Likewise.
25849 * normal/menu_text.c (grub_wait_after_message): Likewise.
25850 (notify_booting): Likewise.
25851 (notify_fallback): Likewise.
25852 (notify_execution_failure): Likewise.
25853
d6ceebf1
CW
258542009-12-07 Colin Watson <cjwatson@ubuntu.com>
25855
25856 * configure.ac: Check for vasprintf.
25857 * util/misc.c (asprintf): Move allocation from here ...
25858 (vasprintf): ... to here. New function.
25859 (xasprintf): New function.
25860 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25861 prototypes.
25862 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25863 * util/grub-mkfont.c (write_font): Likewise.
25864 * util/grub-probe.c (probe): Likewise.
25865 * util/hostdisk.c (make_device_name): Likewise.
25866
de6daa8b
DM
258672009-12-06 David S. Miller <davem@sunset.davemloft.net>
25868
25869 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25870 anything even prefixed with 'cdrom' as a cdrom.
25871
0ad46fd7 258722009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25873
25874 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25875 mount points.
25876
98d3dc02
CPE
258772009-12-05 Carles Pina i Estany <carles@pina.cat>
25878
25879 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25880 grub_gettext_msg_list.
25881 (grub_gettext_gettranslation_from_position): Return const char *
25882 and not char *.
a2c1332b 25883 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25884 returns from the list if existing there.
25885 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25886 (grub_gettext_delete_list): Delete the list.
25887 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25888 lang environment variable is changed.
25889 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25890
b283f108
VS
258912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25892
25893 Rename kernel.mod to kernel.img.
25894
25895 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25896 (kernel_mod_EXPORTS): Rename to ...
25897 (kernel_img_EXPORTS): ... this.
25898 (kernel_mod_SOURCES): Rename to ...
25899 (kernel_img_SOURCES): ... this.
25900 (kernel_mod_HEADERS): Rename to ...
25901 (kernel_img_HEADERS): ... this. All users updated.
25902 (kernel_mod_CFLAGS): Rename to ...
25903 (kernel_img_CFLAGS): ... this.
25904 (kernel_mod_ASFLAGS): Rename to ...
25905 (kernel_img_ASFLAGS): ... this.
25906 (kernel_mod_LDFLAGS): Rename to ...
25907 (kernel_img_LDFLAGS): ... this.
25908 * conf/x86_64-efi.rmk: Likewise.
25909 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25910 (read_kernel_image): ... this. All users updated.
25911 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25912
69055f8a
CPE
259132009-12-05 Carles Pina i Estany <carles@pina.cat>
25914
25915 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25916 (print_spaces): New function.
25917 (grub_print_ucs4): New function.
25918 (getstringwidth): New function.
25919 (print_message_indented): New function.
25920 (print_message): Gettexttize strings using print_message_indented.
25921 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25922 width.
25923 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25924 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25925 Gettextize.
25926 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25927 string.
25928 (run): Likewise.
25929 (grub_menu_entry_run): Likewise.
25930 * PO/POTFILES: Add normal/menu_entry.c.
25931
f616f51c
VS
259322009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25933
25934 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25935
57bbe3be
CPE
259362009-12-05 Carles Pina i Estany <carles@pina.cat>
25937
25938 * util/grub-install.in: Install gettext .mo files.
25939 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25940
013d67a1
CPE
259412009-12-05 Carles Pina i Estany <carles@pina.cat>
25942
25943 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25944 grub_dprintf.
25945
fb954db0
RM
259462009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25947
25948 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25949 non-firmware-dependant one in realmode.S takes precedence.
25950
6b8474f8
RM
259512009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25952
25953 * commands/halt.c: Replace misc arch-specific headers with
25954 `<grub/misc.h>'.
25955 * commands/reboot.c: Likewise.
25956 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25957 `<grub/misc.h>'.
25958 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25959 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25960 (kernel_img_SOURCES): ... to here.
25961
25962 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25963 * include/grub/i386/pc/init.h: Likewise.
25964 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25965 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25966
25967 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25968
25969 * include/grub/i386/halt.h: Remove.
25970 * include/grub/i386/reboot.h: Likewise.
25971
25972 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25973
4b2e6ca2
DM
259742009-12-03 David S. Miller <davem@sunset.davemloft.net>
25975
25976 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25977 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25978 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25979 "progname.h"
25980 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25981 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25982 (usage): Add missing comma in printf.
25983
5239348f
RM
259842009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25985
25986 Use the same reboot approach on i386 coreboot and qemu as we do on
25987 BIOS.
25988
25989 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25990 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25991 * kern/i386/reboot.c: Remove.
25992 * include/grub/i386/reboot.h (grub_reboot): Export function.
25993 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25994 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25995 0xf000:0xfff0 instead of 0xffff:0x0000.
25996 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25997 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25998
ef34cbd4
RM
259992009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26000
26001 Fix $srcdir != $objdir build.
26002
26003 * Makefile.in (po/%.po): Rewrite as ...
26004 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26005
dc9837ea
ST
260062009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26007
26008 Fix GNU/Hurd grub-install crash.
26009 * util/grub-probe.c (probe): Try to access `path' only when it is not
26010 NULL.
26011
2f857f98
VS
260122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26013
26014 Correct module naming.
26015
26016 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26017 (GRUB_MOD_INIT(efi_uga)): ... to this
26018 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26019 (GRUB_MOD_FINI(efi_uga)): ... to this
26020 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26021 (GRUB_MOD_INIT(efi_gop)): ... to this
26022 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26023 (GRUB_MOD_FINI(efi_gop)): ... to this
26024
c5448046
RM
260252009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26026
26027 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26028 translatable.
26029 (usage): Translate `arg' strings using gettext().
26030 Thanks to Jordi Mallach for the suggestion.
26031
c85184ad
VS
260322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26033
26034 GOP support. Based on patch from Bean
26035 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26036
26037 * video/efi_gop.c: New file.
26038 * include/grub/efi/graphics_output.h: Likewise.
26039 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26040 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26041 variables.
26042 * conf/x86_64-efi.rmk: Likewise.
26043
8a4c48d8
VS
260442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26045
26046 Rename efi_fb to efi_uga.
26047
26048 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26049 'efi_uga.mod'.
26050 (efi_fb_mod_SOURCES): Rename this ...
26051 (efi_uga_mod_SOURCES): ... to this.
26052 (efi_fb_mod_CFLAGS): Rename this ...
26053 (efi_uga_mod_CFLAGS): ... to this.
26054 (efi_fb_mod_LDFLAGS): Rename this ...
26055 (efi_uga_mod_LDFLAGS): ... to this.
26056 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26057 'efi_uga.mod'.
26058 (efi_fb_mod_SOURCES): Rename this ...
26059 (efi_uga_mod_SOURCES): ... to this.
26060 (efi_fb_mod_CFLAGS): Rename this ...
26061 (efi_uga_mod_CFLAGS): ... to this.
26062 (efi_fb_mod_LDFLAGS): Rename this ...
26063 (efi_uga_mod_LDFLAGS): ... to this.
26064 * video/efi_fb.c: Move this ...
26065 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26066
fb6c1a7b
RM
260672009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26068
26069 * po/README: New file. Explain our PO file workflow.
26070
3bc7896c
RM
260712009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26072
26073 * po/ChangeLog: Remove. Move relevant entries back to ...
26074 * ChangeLog: ... here.
26075 * po/ca.po: Remove (now handled by TLP).
26076 * po/id.po: Likewise.
26077 * po/zh_CN.po: Likewise.
26078 * Makefile.in (LINGUAS): Initialize in a way that supports
26079 empty set.
26080
9ed4841d
RM
260812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26082
26083 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26084 reliing on po/LINGUAS.
26085 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26086 (po/%.po): ... this.
26087
0ad46fd7 260882009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
26089
26090 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26091 (main): Use `program_name' instead of nonexistent `progname'.
26092
e30dd392
FZ
260932009-11-26 Felix Zielcke <fzielcke@z-51.de>
26094
26095 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26096 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26097
7656de4f
RM
260982009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26099
26100 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26101 commit.
26102 * conf/i386-efi.rmk: Likewise.
26103 * conf/i386-ieee1275.rmk: Likewise.
26104 * conf/powerpc-ieee1275.rmk: Likewise.
26105 * conf/sparc64-ieee1275.rmk: Likewise.
26106 * conf/x86_64-efi.rmk: Likewise.
26107
db77c4d4
FZ
261082009-11-26 Felix Zielcke <fzielcke@z-51.de>
26109
26110 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26111
a755bb04
FZ
261122009-11-26 Felix Zielcke <fzielcke@z-51.de>
26113
26114 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26115
8a4c07fd
RM
261162009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26119 (grub_mkdevicemap_SOURCES): New variable.
26120 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26121 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26122 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26123 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26124 (grub_mkdevicemap_SOURCES): Remove.
26125 * conf/i386-efi.rmk: Likewise.
26126 * conf/i386-ieee1275.rmk: Likewise.
26127 * conf/i386-pc.rmk: Likewise.
26128 * conf/powerpc-ieee1275.rmk: Likewise.
26129 * conf/sparc64-ieee1275.rmk: Likewise.
26130 * conf/x86_64-efi.rmk: Likewise.
26131 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26132 (usage): Fix strings to use `program_name'.
26133 (main): Initialize gettext.
26134 * util/grub-editenv.c: Likewise.
26135 * util/grub-emu.c: Likewise.
26136 * util/grub-fstest.c: Likewise.
26137 * util/grub-mkdevicemap.c: Likewise.
26138 * util/grub-mkfont.c: Likewise.
26139 * util/grub-mkrelpath.c: Likewise.
26140 * util/grub-pe2elf.c: Likewise.
26141 * util/grub-probe.c: Likewise.
26142 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26143 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26144 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26145
26146 * util/misc.c: Include `"progname.h"'.
26147 (progname): Remove variable.
26148 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26149
6f61ed55
FZ
261502009-11-25 Felix Zielcke <fzielcke@z-51.de>
26151
26152 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26153 printf and print a newline after the menuentry header line.
26154 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26155
f022876b
FZ
261562009-11-25 Felix Zielcke <fzielcke@z-51.de>
26157
26158 autoconf >= 2.60 support $(localedir).
26159
26160 * INSTALL: Note that autoconf 2.60 is required.
26161 * configure.ac (AC_PREREQ): Bump to 2.60.
26162 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26163 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26164
6717926e
YB
261652009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26166
26167 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26168 aclocal is run.
26169
08806a54
RM
261702009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26171
26172 * normal/main.c (grub_normal_read_line): Fix off-by-one
26173 buffer overflow.
26174
13b33fba
RM
261752009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26176
26177 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26178 "parser.grub" in grub_command_execute() call.
26179
4a8572e9
CPE
261802009-11-24 Carles Pina i Estany <carles@pina.cat>
26181
26182 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26183 * conf/i386-efi.rmk: Likewise.
26184 * conf/i386-ieee1275.rmk: Likewise.
26185 * conf/i386-pc.rmk: Likewise.
26186 * conf/powerpc-ieee1275.rmk: Likewise.
26187 * conf/sparc64-ieee1275.rmk: Likewise.
26188 * conf/x86_64-efi.rmk: Likewise.
26189 * gettext/gettex.c: Include <grub/i18n.h>.
26190 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26191 here ...
26192 * include/grub/i18n.h: ... to here
26193 * include/grub/i18n.h: ... to here.
26194 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 26195 (grub_gettext_dummy): Move above user.
4a8572e9 26196
bee48093
FZ
261972009-11-24 Felix Zielcke <fzielcke@z-51.de>
26198
26199 * util/Makefile.in (install-local): Convert a `for' into a normal
26200 shell expansion.
26201
a031e91c
RM
262022009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26203
26204 * autogen.sh: Add automake call.
26205 * config.guess: Remove.
26206 * config.sub: Likewise.
26207 * install-sh: Likewise.
26208
26bec39d
FZ
262092009-11-24 Felix Zielcke <fzielcke@z-51.de>
26210
26211 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26212
8e2532fd
FZ
262132009-11-24 Felix Zielcke <fzielcke@z-51.de>
26214
26215 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26216 function to a normal shell `for'.
26217
fefa1b7d
FZ
262182009-11-24 Felix Zielcke <fzielcke@z-51.de>
26219
26220 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26221
4501250b
FZ
262222009-11-24 Felix Zielcke <fzielcke@z-51.de>
26223
26224 * util/grub-mkrelpath.c: New file.
26225 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26226 (grub_mkrelpath_SOURCES): New variable.
26227 * include/grub/util/misc.h: New function prototype.
26228 * util/misc.c (make_system_path_relative_to_its_root): New function.
26229
26230 * util/grub-mkconfig_lib.in (bindir): New variable.
26231 (grub_mkrelpath): Likewise.
26232 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26233
26234 * util/probe.c (probe): Make the file path relative to its root.
26235 Change a info message to use the GRUB path. Enable again the
26236 check if we can read the file with GRUB facilities.
26237
26238 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26239 to its root.
26240
11d9778b
FZ
262412009-11-24 Felix Zielcke <fzielcke@z-51.de>
26242
26243 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26244 platform.
26245
4465287d
FZ
262462009-11-24 Felix Zielcke <fzielcke@z-51.de>
26247
26248 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26249 strncmp().
26250
62b47f22
FZ
262512009-11-24 Felix Zielcke <fzielcke@z-51.de>
26252
26253 * util/getroot.c (grub_util_is_dmraid): New function.
26254 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26255 devices as normal ones, not as LVM.
26256
1eafb9b9 262572009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
26258
26259 * conf/common.rmk: Add grub-gettext_lib target and updates
26260 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26261 LDFLAGS.
26262 * gettext/gettext.c: New file. (Reads mo files).
26263 * include/grub/file.h (grub_file_pread): New prototype.
26264 * include/grub/i18n.h (_): New prototype.
26265 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26266 prototypes.
26267 * kern/misc.c (grub_gettext_dummy): New function.
26268 * normal/menu_text.c: Include <grub/i18n.h>.
26269 * normal/menu_text.c (print_timeout): Gettexttize string.
26270 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
26271 * po/POTFILES: Add `normal/menu_text.c'.
26272 * po/ca.po: Add new translations.
c3ea6bd4
CPE
26273 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26274 gettext module and defines locale_dir and lang in grub.cfg.
26275 * NEWS: Add gettext support.
26276
0fdb2568
RM
262772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26278
26279 * util/hostdisk.c: Include `<grub/i18n.h>'.
26280 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26281 (make_device_name): Rewrite using asprintf.
26282 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26283 (find_system_device): If a device is not found, generate one just
26284 by reusing the OS path name.
26285 (read_device_map): Make it permissible for device.map not to exist.
26286
f515aa62
RM
262872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26288
26289 * script/sh/execute.c: Move from here ...
26290 * script/execute.c: ... to here. Update all users.
26291 * script/sh/function.c: Move from here ...
26292 * script/function.c: ... to here. Update all users.
26293 * script/sh/lexer.c: Move from here ...
26294 * script/lexer.c: ... to here. Update all users.
26295 * script/sh/main.c: Move from here ...
26296 * script/main.c: ... to here. Update all users.
26297 * script/sh/parser.y: Move from here ...
26298 * script/parser.y: ... to here. Update all users.
26299 * script/sh/script.c: Move from here ...
26300 * script/script.c: ... to here. Update all users.
26301
f84b481b
RM
263022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26303
26304 * configure.ac: Detect all `emu' platforms. Define
26305 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26306 --enable-grub-emu logic. Disable include/grub/machine
26307 symlink on `emu' platforms.
26308
26309 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26310 * gensymlist.sh.in: Likewise.
26311
26312 * include/grub/i386/coreboot/machine.h: Remove file.
26313 * include/grub/i386/efi/machine.h: Likewise.
26314 * include/grub/i386/ieee1275/machine.h: Likewise.
26315 * include/grub/i386/pc/machine.h: Likewise.
26316 * include/grub/i386/qemu/machine.h: Likewise.
26317 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26318 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26319 * include/grub/x86_64/efi/machine.h: Likewise.
26320
26321 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26322 * commands/halt.c: Likewise.
26323 * commands/reboot.c: Likewise.
26324 * include/grub/autoefi.h: Likewise.
26325 * include/grub/i386/at_keyboard.h: Likewise.
26326 * include/grub/i386/kernel.h: Likewise.
26327 * include/grub/i386/loader.h: Likewise.
26328 * include/grub/i386/pc/memory.h: Likewise.
26329 * kern/dl.c: Likewise.
26330 * kern/i386/coreboot/init.c: Likewise.
26331 * loader/i386/bsd.c: Likewise.
26332 * loader/i386/linux.c: Likewise.
26333 * loader/multiboot_loader.c: Likewise.
26334 * term/i386/pc/serial.c: Likewise.
26335 * term/usb_keyboard.c: Likewise.
26336
26337 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26338 `<grub/machine/machine.h>'
26339 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26340 * util/misc.c: Remove `<grub/machine/machine.h>' and
26341 `<grub/machine/time.h>'.
26342
26343 * Makefile.in (enable_grub_emu): Remove variable.
26344 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26345
26346 * conf/any-emu.rmk: New file.
26347 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26348 (grub_emu_init.c): Move from here ...
26349 * conf/any-emu.rmk: ... to here.
26350
26351 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26352 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26353 * conf/any-emu.rmk: ... to here.
26354
4efeab03
RM
263552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26356
26357 * include/grub/parser.h (grub_parser_register): Document need
26358 of `name' parameter.
26359 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26360 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26361 "sh" to "grub".
26362
ea1dd8bf
RM
263632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26364
26365 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26366 `$(XGETTEXT)'.
26367 * include/grub/i18n.h (N_): New macro.
26368 * util/mkisofs/mkisofs.h: Likewise.
26369 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26370 around N_().
26371 (usage): Use gettext() to translate help strings when printing them.
26372
0c140626
RM
263732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26374
26375 Based on patch from Bean
26376 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26377
26378 * video/efi_fb.c: New file.
26379 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26380 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26381 variables.
26382 * conf/x86_64-efi.rmk: Likewise.
26383
87d58298
RM
263842009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26385
26386 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26387 * util/i386/pc/grub-setup.c: Likewise.
26388
994cc3a3
ST
263892009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26390
26391 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26392 <hurd/fs.h>
26393 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26394 file_get_storage_info to implement grub_guess_root_device.
26395
26a61d6a
FZ
263962009-11-21 Felix Zielcke <fzielcke@z-51.de>
26397
26398 * Makefile.in (target): Use make's builtin $(shell) function
26399 instead of calling directly $(SHELL) to create the locale directories,
26400 inside the $(foreach) function.
26401
74ff1dd5
FZ
264022009-11-21 Felix Zielcke <fzielcke@z-51.de>
26403
26404 * util/grub-mkrescue.in: Print an error and usage if output option
26405 has not been given.
26406
0b787d0e
FZ
264072009-11-21 Felix Zielcke <fzielcke@z-51.de>
26408
26409 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26410 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26411 root and /boot are on different devices.
26412
1164b270
RM
264132009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26414
26415 Fix build for srcdir != objdir.
26416
26417 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26418 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26419 $(srcdir).
26420 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26421 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26422 reference for input.
26423
13774a2f
RM
264242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26425
26426 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26427 or hardlinking it). Remove -J option, Joliet is not compatible with
26428 multiple source directories.
26429
efda854e
RM
264302009-11-21 Carles Pina i Estany <carles@pina.cat>
264312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26432
26433 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26434 (process_input_dir): New function. Process an arbitrary input
26435 directory.
26436 Misc adjustments to support both "override mode" and system-wide mode.
26437
6c09890c
FZ
264382009-11-20 Felix Zielcke <fzielcke@z-51.de>
26439
26440 * configure.ac (UNIFONT_BDF): Rename to ...
26441 (FONT_SOURCE): ... this. Update all users.
26442
a797824f
FZ
264432009-11-20 Felix Zielcke <fzielcke@z-51.de>
26444
26445 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26446 to the list of unifont files to look for.
26447
cd4f42b0
RM
264482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26449
26450 Patch from Joe Auricchio <jauricchio@gmail.com>
26451 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26452 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26453 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26454
393c783d
FZ
264552009-11-19 Felix Zielcke <fzielcke@z-51.de>
26456
26457 * Makefile.in (install-local): Add a missing backslash.
26458
b2f1e327
FZ
264592009-11-19 Felix Zielcke <fzielcke@z-51.de>
26460
26461 * include/grub/x86_64/io.h: New file.
26462
f577f7a0
RM
264632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26466 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26467 Include `"progname.h"'.
26468 (main): Initialize gettext.
26469 * util/i386/pc/grub-setup.c: Gettexttize.
26470 * util/i386/pc/grub-mkimage.c: Likewise.
26471
26472 * Makefile.in (po/*.po): Redefine as ...
26473 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26474
3bc7896c
RM
26475 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26476
c37943b6
RM
264772009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26478
26479 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26480 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26481 (program_name): Remove.
26482 (main): Initialize gettext support.
6323f705
RM
26483 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26484 Include `<libintl.h>'.
26485 (_): New macro.
c37943b6
RM
26486
26487 * util/mkisofs/eltorito.c: Gettexttize.
26488 * util/mkisofs/joliet.c: Likewise.
26489 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26490 * util/mkisofs/multi.c: Likewise.
26491 * util/mkisofs/rock.c: Likewise.
26492 * util/mkisofs/tree.c: Likewise.
26493 * util/mkisofs/write.c: Likewise.
26494
3bc7896c
RM
26495 * po/POTFILES: Update with new files.
26496
5ce77c6e
RM
264972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26498
26499 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26500 * util/mkisofs/iso9660.h: Likewise.
26501 * util/mkisofs/joliet.c: Likewise.
26502 * util/mkisofs/mkisofs.c: Likewise.
26503 * util/mkisofs/mkisofs.h: Likewise.
26504 * util/mkisofs/rock.c: Likewise.
26505 * util/mkisofs/tree.c: Likewise.
26506 * util/mkisofs/write.c: Likewise.
26507
26508 * util/mkisofs/eltorito.c (rcsid): Remove.
26509 * util/mkisofs/hash.c: Likewise.
26510 * util/mkisofs/joliet.c: Likewise.
26511 * util/mkisofs/name.c: Likewise.
26512 * util/mkisofs/rock.c: Likewise.
26513 * util/mkisofs/tree.c: Likewise.
26514 * util/mkisofs/write.c: Likewise.
26515
1dabbc77
RM
265162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26517
26518 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26519 instead of static allocation.
26520 * util/mkisofs/match.h: Likewise.
26521
633877cb
RM
265222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26523
3bc7896c
RM
26524 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26525 and `util/grub.d/10_linux.in'.
633877cb
RM
26526 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26527 translatable Shell files.
26528
af1c0c85
RM
265292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26530
26531 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26532
769ae37b
RM
265332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26534
26535 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26536 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26537 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26538 Add gettext initialization.
26539 (kfreebsd_entry): Make menuentry output translatable.
26540
265412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26542
26543 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26544 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26545 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26546 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26547 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26548 * po/LINGUAS: New file.
769ae37b
RM
26549
265502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26551
26552 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26553 other things).
26554 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26555 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26556 bindtextdomain() calls for gettext initialization.
26557
265582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26559
26560 * gnulib/progname.c: New file (imported from Gnulib).
26561 * gnulib/progname.h: Likewise.
26562 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26563 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26564 (usage): Replace `progname' with `program_name'.
26565 (main): Use set_program_name() for program name initialization.
26566
265672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26570 from here ...
26571 * Makefile.in (CPPFLAGS): ... to here.
26572
265732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * aclocal.m4: Move from here ...
26576 * acinclude.m4: ... to here.
26577 * autogen.sh: Add call to `aclocal'.
26578 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26579
265802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26581
26582 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26583 (LINGUAS): New variable.
26584 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26585 (install-local): Install MO files.
26586 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26587 * include/grub/i18n.h: New file.
3bc7896c
RM
26588 * po/POTFILES: New file.
26589 * po/ca.po: New file.
769ae37b
RM
26590 * util/grub.d/10_linux.in (bindir): New variable.
26591 Add gettext initialization.
26592 (linux_entry): Make menuentry output translatable.
26593 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26594 (usage): Make --help output translatable.
26595 (main): Initialize gettext.
26596
02c0a6ad
RM
265972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26598
26599 * import_gcry.py: New file (written by Vladimir with minor
26600 adjustments).
26601 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26602 ciphers.
26603 * INSTALL: Document that Python is required for bootstrap.
26604
266052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26606
26607 Import ciphers from libgcrypt 1.4.4.
26608
26609 * lib/libgcrypt/cipher/ChangeLog
26610 * lib/libgcrypt/cipher/ac.c
26611 * lib/libgcrypt/cipher/arcfour.c
26612 * lib/libgcrypt/cipher/bithelp.h
26613 * lib/libgcrypt/cipher/blowfish.c
26614 * lib/libgcrypt/cipher/camellia-glue.c
26615 * lib/libgcrypt/cipher/camellia.c
26616 * lib/libgcrypt/cipher/camellia.h
26617 * lib/libgcrypt/cipher/cast5.c
26618 * lib/libgcrypt/cipher/cipher.c
26619 * lib/libgcrypt/cipher/crc.c
26620 * lib/libgcrypt/cipher/des.c
26621 * lib/libgcrypt/cipher/dsa.c
26622 * lib/libgcrypt/cipher/ecc.c
26623 * lib/libgcrypt/cipher/elgamal.c
26624 * lib/libgcrypt/cipher/hash-common.c
26625 * lib/libgcrypt/cipher/hash-common.h
26626 * lib/libgcrypt/cipher/hmac-tests.c
26627 * lib/libgcrypt/cipher/md.c
26628 * lib/libgcrypt/cipher/md4.c
26629 * lib/libgcrypt/cipher/md5.c
26630 * lib/libgcrypt/cipher/primegen.c
26631 * lib/libgcrypt/cipher/pubkey.c
26632 * lib/libgcrypt/cipher/rfc2268.c
26633 * lib/libgcrypt/cipher/rijndael-tables.h
26634 * lib/libgcrypt/cipher/rijndael.c
26635 * lib/libgcrypt/cipher/rmd.h
26636 * lib/libgcrypt/cipher/rmd160.c
26637 * lib/libgcrypt/cipher/rsa.c
26638 * lib/libgcrypt/cipher/seed.c
26639 * lib/libgcrypt/cipher/serpent.c
26640 * lib/libgcrypt/cipher/sha1.c
26641 * lib/libgcrypt/cipher/sha256.c
26642 * lib/libgcrypt/cipher/sha512.c
26643 * lib/libgcrypt/cipher/tiger.c
26644 * lib/libgcrypt/cipher/twofish.c
26645 * lib/libgcrypt/cipher/whirlpool.c
26646
af2f93ac
RM
266472009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 Fix build for systems without error().
26650
26651 * gnulib/error.c: New file (imported from Gnulib).
26652 * gnulib/error.h: Likewise.
26653 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26654 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26655 (this variable is now used by error()).
26656
73fb3dd5
FZ
266572009-11-16 Felix Zielcke <fzielcke@z-51.de>
26658
814f5e96
FZ
26659 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26660 instead of relying that char is signed.
73fb3dd5 26661
a691ca33
VS
266622009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26663
26664 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26665 blocksize different from specified.
26666 (grub_pxefs_read): Likewise.
26667
2af8f0f4
FZ
266682009-11-16 Felix Zielcke <fzielcke@z-51.de>
26669
26670 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26671
26672 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26673 (grub_ata_readwrite): Likewise. Update 2 format strings.
26674 (grub_atapi_read): Likewise.
26675
26676 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26677 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26678 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26679 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26680 (ata_mod_LDFLAGS): Move from here ...
26681 * conf/i386.rmk: ... to here ...
26682 * conf/x86_64-efi.rmk: ... and here.
26683 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26684 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26685
83bdecaf
RM
266862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26687
26688 Relicense multiboot.h, with RMS' blessing.
26689
26690 * include/multiboot.h: Change to X11 license.
26691
fd6fd3d7
RM
266922009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26693
26694 Support --version in grub-mkisofs.
26695
26696 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26697 (OPTION_VERSION): New macro.
26698 (ld_options): Recognize --version.
26699 (usage): Move `program_name' from here ...
26700 (program_name): ... to here. Add `static' qualifier.
26701 (main): Recognize `OPTION_VERSION'.
26702
16a88c49
FZ
267032009-11-15 Felix Zielcke <fzielcke@z-51.de>
26704
26705 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26706 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26707
a4158476
RM
267082009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26709
26710 Fix help2man generation for mkisofs.
26711
26712 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26713 (usage): Send output to stdout (rather than stderr).
26714
fc2208b0
RM
267152009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26716
26717 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26718 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26719 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26720 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26721 (bin_SCRIPTS): Add `grub-mkfloppy'.
26722 (grub_mkfloppy_SOURCES): New variable.
26723
26724 * util/grub-mkrescue.in: New file.
26725 * util/i386/pc/grub-mkfloppy.in: New file.
26726
26727 * util/i386/coreboot/grub-mkrescue.in: Remove.
26728 * util/i386/pc/grub-mkrescue.in: Remove.
26729
8d0edf4a
RM
267302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26731
26732 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26733 from here ...
26734 * include/multiboot.h (struct multiboot_header): ... to here. Update
26735 all users.
26736 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26737 from here ...
26738 * include/multiboot.h (struct multiboot_info): ... to here. Update
26739 all users.
26740 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26741 from here ...
26742 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26743 Update all users.
26744 * include/grub/multiboot.h (struct grub_mod_list): Move
26745 from here ...
26746 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26747 Update all users.
26748
a73f5969
RM
267492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26750
26751 * include/multiboot2.h (multiboot_word): Rename from this ...
26752 (multiboot2_word): ... to this. Update all users.
26753 (multiboot_header): Rename from this ...
26754 (multiboot2_header): ... to this. Update all users.
26755 (multiboot_tag_header): Rename from this ...
26756 (multiboot2_tag_header): ... to this. Update all users.
26757 (multiboot_tag_start): Rename from this ...
26758 (multiboot2_tag_start): ... to this. Update all users.
26759 (multiboot_tag_name): Rename from this ...
26760 (multiboot2_tag_name): ... to this. Update all users.
26761 (multiboot_tag_module): Rename from this ...
26762 (multiboot2_tag_module): ... to this. Update all users.
26763 (multiboot_tag_memory): Rename from this ...
26764 (multiboot2_tag_memory): ... to this. Update all users.
26765 (multiboot_tag_unused): Rename from this ...
26766 (multiboot2_tag_unused): ... to this. Update all users.
26767 (multiboot_tag_end): Rename from this ...
26768 (multiboot2_tag_end): ... to this. Update all users.
26769
1c8927f0
RM
267702009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26771
26772 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26773 this platform we should support Multiboot1 first.
26774
26775 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26776 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26777 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26778
6e1e0d89
RM
267792009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26780
26781 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26782 of write calls (converting them to fwrite() if they aren't already).
26783 (get_torito_desc): Likewise.
26784 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26785
7f2b34d8
RM
267862009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26787
26788 * util/i386/pc/grub-install.in: Move from here ...
26789 * util/grub-install.in: ... to here. Update all users.
26790
c0ef3311
CW
267912009-11-11 Colin Watson <cjwatson@ubuntu.com>
26792
26793 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26794
e1f240ff
RM
267952009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26796
26797 Support for El Torito without floppy emulation.
26798
26799 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26800 (init_boot_catalog): Improve error handling.
26801 (get_torito_desc): Don't use floppy emulation unless requested by
26802 user. Patch boot information table when requested via
26803 `-boot-info-table'.
26804 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26805 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26806 (use_boot_info_table): New variables.
26807 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26808 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26809 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26810 `--eltorito-emul-floppy'.
26811 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26812 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26813 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26814 (use_boot_info_table, get_731): New prototypes.
26815 * util/mkisofs/write.c (get_731): New function.
26816
af7d4de5
FZ
268172009-11-11 Felix Zielcke <fzielcke@z-51.de>
26818
26819 Fix the generation of the man page.
26820
26821 * util/pc/i386/grub-install.in: Source
26822 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26823
2c55dbc0
RM
268242009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26825
26826 Large file support for grub-mkisofs.
26827
26828 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26829 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26830 (session_start): Upgrade type to `uint64_t'. Update all users.
26831 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26832 (struct directory_entry): Upgrade type of `starting_block' and
26833 `size' to `uint64_t'. Update all users.
26834 (struct deferred): Remove unused structure.
26835 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26836 Update all users.
26837 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26838 file is larger than `UINT32_MAX'.
26839 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26840 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26841 return value.
26842 (struct deferred_write): Upgrade type of `extent' and `size' to
26843 `uint64_t'. Update all users.
26844 (last_extent_written): Upgrade type to `uint64_t'. Update all
26845 users.
26846 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26847 Update all users. Upgrade type of `remain' to `int64_t' and
26848 `use' to `size_t'. Use error() to handle fread() errors.
26849 (write_files): Rely on write_one_file() rather than calling
26850 xfwrite() directly.
26851
6a9cead5
FZ
268522009-11-09 Felix Zielcke <fzielcke@z-51.de>
26853
26854 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26855
4825d790
RM
268562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26857
26858 * util/mkisofs/fnmatch.c: Remove.
26859 * util/mkisofs/getopt1.c: Likewise.
26860 * util/mkisofs/getopt.c: Likewise.
26861 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26862 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26863 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26864 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26865 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26866
26867 * configure.ac: Detect `mingw32msvc' host_os.
26868 Check for lstat(), getuid() and getgid().
26869
26870 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26871 instances of `u_char' with `uint8_t'.
26872
26873 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26874 [!HAVE_GETUID] (getuid): New function (stub).
26875 [!HAVE_GETGID] (getgid): Likewise.
26876 [!HAVE_LSTAT] (lstat): Likewise.
26877 [!S_IROTH] (S_IROTH): New macro (dummy).
26878 [!S_IRGRP] (S_IRGRP): Likewise.
26879
84b860d8
RM
268802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26881
26882 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26883 conditional expression).
26884
66e9b712
RM
268852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26886
26887 Import from Gnulib.
26888
26889 * gnulib/fnmatch.c: New file.
26890 * gnulib/fnmatch.h: Likewise.
26891 * gnulib/fnmatch_loop.c: Likewise.
26892 * gnulib/getopt.c: Likewise.
26893 * gnulib/getopt.h: Likewise.
26894 * gnulib/getopt1.c: Likewise.
26895 * gnulib/getopt_int.h: Likewise.
26896 * gnulib/gettext.h: Likewise.
26897
34f4a5b0
RM
268982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26899
26900 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26901 * normal/handler.c (read_handler_list): Likewise.
26902
ac451143
RM
269032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26904
26905 Misc cleanup.
26906
26907 * kern/command.c (grub_register_command_prio): Use
26908 grub_zalloc() instead of explicitly zeroing data.
26909 * kern/list.c: Include `<grub/mm.h>'.
26910 (grub_named_list_find): Replace `0' with `NULL'.
26911 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26912 (fs_module_list): Change type to `grub_named_list_t'. Update all
26913 users.
26914 * normal/dyncmd.c (read_command_list): Add space between function
26915 call and parenthesis.
26916 * normal/handler.c (read_handler_list): Likewise.
26917
4089b167
RM
269182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26919
26920 * normal/auth.c (punishment_delay): Moved from here ...
26921 (grub_auth_strcmp): ... to here (inside function).
26922
325f5037
RM
269232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26924
26925 * include/grub/list.h (struct grub_named_list): Remove `const'
26926 qualifier from `name'.
26927 (struct grub_prio_list): Likewise.
26928
7aea29a3
RM
269292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26930
26931 * normal/auth.c: Include `<grub/time.h>'.
26932 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26933
3fd6f044
RM
269342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26935
26936 * normal/auth.c (punishment_delay): New variable.
26937 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26938 (grub_auth_check_authentication): Punish failed login attempts with
26939 an incremental (2^N) delay.
26940
a4cd68e4
RM
269412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26942
26943 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26944 path with $(srcdir).
26945
7ad12f43
VS
269462009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26949
c1129f03
RM
269502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26951
26952 * util/i386/coreboot/grub-mkrescue.in: New file.
26953 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26954 variables.
26955
26956 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26957 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26958 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26959 requirements.
26960 * util/mkisofs/defaults.h: New file.
26961 * util/mkisofs/eltorito.c: Likewise.
26962 * util/mkisofs/exclude.h: Likewise.
26963 * util/mkisofs/fnmatch.c: Likewise.
26964 * util/mkisofs/getopt.c: Likewise.
26965 * util/mkisofs/getopt1.c: Likewise.
26966 * util/mkisofs/hash.c: Likewise.
26967 * util/mkisofs/include/fctldefs.h: Likewise.
26968 * util/mkisofs/include/mconfig.h: Likewise.
26969 * util/mkisofs/include/prototyp.h: Likewise.
26970 * util/mkisofs/include/statdefs.h: Likewise.
26971 * util/mkisofs/iso9660.h: Likewise.
26972 * util/mkisofs/joliet.c: Likewise.
26973 * util/mkisofs/match.c: Likewise.
26974 * util/mkisofs/match.h: Likewise.
26975 * util/mkisofs/mkisofs.c: Likewise.
26976 * util/mkisofs/mkisofs.h: Likewise.
26977 * util/mkisofs/multi.c: Likewise.
26978 * util/mkisofs/name.c: Likewise.
26979 * util/mkisofs/rock.c: Likewise.
26980 * util/mkisofs/tree.c: Likewise.
26981 * util/mkisofs/write.c: Likewise.
26982
ec8bb77d
VS
269832009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26984
26985 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26986 being insecure.
26987
3716b12c
RM
269882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26989
26990 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26991 `grub-mkimage' (and use $0 when possible).
26992
b97b7b91
RM
269932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26994
26995 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26996 error message for excessively large memory map.
26997
04114812
RM
269982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26999
27000 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27001 executable bit.
27002
e4eb2373
RM
270032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27004
27005 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27006 message for coreboot users.
27007
c926e1d5 270082009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27009
27010 Fix build with GNU gold.
27011
27012 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27013 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27014 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27015 link addresses.
27016 * aclocal.m4: Likewise.
27017
86e5b1db 270182009-11-04 Felix Zielcke <fzielcke@z-51.de>
27019
27020 * configure.ac (AC_PREREQ): Bump to 2.59d.
27021 * INSTALL: Make it more clear when Autoconf and Ruby are
27022 needed and when to run `./autogen.sh'.
27023
246cd78f 270242009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27025
27026 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27027 OSes.
27028
4f9dfb37 270292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27030
27031 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27032
b82bd5e1 270332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27034
27035 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27036 giving it to GNU Mach.
27037
ff1a9bca 270382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27039
27040 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27041 GNU partition number to get internal GRUB partition number.
27042
61697d9c 270432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27044
27045 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27046 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27047
a50569e1 270482009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27049
27050 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27051 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27052 case.
27053
5b153867 270542009-11-01 Felix Zielcke <fzielcke@z-51.de>
27055
27056 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27057
d9e2cd70 270582009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27059
27060 Fix build problem.
27061
27062 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27063 `-isystem=$(srcdir)/include'.
27064
805111a4 270652009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27066
27067 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27068 checked (grub-install doesn't currently rely on it).
27069
fa6e945f 270702009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27071
27072 Revert SVN r2660.
27073
27074 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27075 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27076 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27077 * conf/i386-ieee1275.rmk: Likewise.
27078 * conf/i386-pc.rmk: Likewise.
27079 * conf/powerpc-ieee1275.rmk: Likewise.
27080 * conf/sparc64-ieee1275.rmk: Likewise.
27081 * conf/x86_64-efi.rmk: Likewise.
27082
cee15086 270832009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27084
27085 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27086
95b9239e 270872009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27088
27089 * include/grub/misc.h: Stop checking for APPLE_CC.
27090
2ed19dfd 270912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27092
27093 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27094 doesn't cause an infinite call loop.
27095
fdcdde19 270962009-10-28 Felix Zielcke <fzielcke@z-51.de>
27097
27098 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27099 strings.
27100
cefabfe1 271012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27102
27103 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27104 variable.
27105 * Makefile.in: Likewise.
27106
ed96ab6d 271072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27108
27109 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27110
0579b753 271112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27112
27113 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27114
478df409 271152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27116
27117 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27118
083d1679 271192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27120
27121 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27122 from here ...
27123 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27124
5947ae32 271252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27126
27127 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27128 in $(MAKEINFO) invocation. This makes it clear in output that
27129 errors are being ignored.
27130
94180ff6 271312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27132
27133 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27134 from here ...
27135 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27136 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27137 * conf/i386-ieee1275.rmk: Likewise.
27138 * conf/i386-pc.rmk: Likewise.
27139 * conf/powerpc-ieee1275.rmk: Likewise.
27140 * conf/sparc64-ieee1275.rmk: Likewise.
27141 * conf/x86_64-efi.rmk: Likewise.
27142
9031b03a 271432009-10-26 Colin Watson <cjwatson@ubuntu.com>
27144
27145 * util/grub-editenv.c (main): If only a command is given, use
27146 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27147 (usage): FILENAME is now optional and has a default.
27148
e4f6809b 271492009-10-26 Colin Watson <cjwatson@ubuntu.com>
27150
27151 Improve grub-mkconfig performance when there are several menu
27152 entries on a single filesystem.
27153
27154 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27155 prepare_grub_to_access_device.
27156 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27157 * util/grub.d/30_os-prober.in: Likewise.
27158
67937d4d 271592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27160
27161 * util/grub.d/10_freebsd.in: Remove.
27162 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27163 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27164
ee3756cc 271652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27166
5c35048e 27167 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 27168
4dea1c6f 271692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27170
27171 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27172 grub_util_error() call.
27173
042484d7 271742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27175
27176 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27177 `reserved_first_sector' member.
27178 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27179 `reserved_first_sector' to 1.
27180 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27181 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27182 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27183 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27184 filesystems which begin at first sector.
27185 (options): New option --skip-fs-probe.
27186 (main): Handle --skip-fs-probe and pass it to setup().
27187
d64448a7 271882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27189
27190 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27191 (memset): Fix function prototype.
27192
508d42ec 271932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
271942009-10-25 Vasily Averin <vvs@parallels.com>
27195
27196 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27197 `dirent.direntlen == 0'.
27198
b240e30c 271992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27200
27201 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27202 `cpio'.
27203 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27204
346e7fbe 272052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27206
27207 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27208 `__trampoline_setup' and `__ucmpdi2'.
27209 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27210 that libgcc provides.
27211
cdb308b0 272122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27213
27214 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27215 * include/grub/sparc64/libgcc.h (memset): Likewise.
27216 * include/grub/misc.h (memset, memcmp): New function prototypes.
27217
fb26abc2 272182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27221 `cpio'.
27222 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27223
f6693890 272242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27225
27226 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27227 * docs/grub.cfg: Compensate for recent change in multiboot
27228 loader (since 2009-08-14 it won't pass filename to payload).
27229 * util/grub.d/10_hurd.in: Likewise.
27230
0933cdc0 272312009-10-21 Felix Zielcke <fzielcke@z-51.de>
27232
27233 * config.guess: Update to latest version from config git
27234 repository.
27235 * config.sub: Likewise.
27236
3b2fe8c2 272372009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27238
27239 Fix build on sparc64.
27240
27241 * configure.ac: Perform checks for libgcc symbols before
27242 adding `-nostdlib' to LDFLAGS.
27243
46695a62 272442009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27245
27246 Let user specify OpenBSD root device.
27247
27248 * loader/i386/bsd.c (openbsd_root): New variable.
27249 (openbsd_opts): New option 'root'.
27250 (OPENBSD_ROOT_ARG): New macro.
27251 (grub_openbsd_boot): Use 'openbsd_root'.
27252 (grub_cmd_openbsd): Fill 'openbsd_root'.
27253
d2b6b7fc 272542009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27255
27256 * NEWS: Misc adjustments.
27257
421bd7ac 272582009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27259
27260 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27261
f1d29d87 272622009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27263
27264 * configure.ac: Bump version to 1.97.
27265
6f3cd880 272662009-10-16 Colin Watson <cjwatson@ubuntu.com>
27267
27268 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27269 -mno-3dnow on x86 architectures. Some toolchains enable these
27270 features by default, but they rely on registers that aren't enabled
27271 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27272
035f7122 272732009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27274
27275 Make entry text a bit more readable.
27276
27277 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27278
44998e58 272792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27280
27281 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27282
cd2851b3 272832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27286 operations.
27287
c6f3b249 272882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27289
27290 * configure.ac: Add missing dollar.
27291
6b5886ba 272922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27293
27294 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27295
27296 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27297 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27298 exports.
27299 * include/grub/sparc64/libgcc.h: Likewise. Use
27300 preprocessor conditionals.
27301
e9d66f6d 273022009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27303
27304 * conf/common.rmk (grub-dumpbios): Remove rule.
27305 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27306 * util/grub-dumpbios.in: Remove file.
27307
9155bc17 273082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27309
27310 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27311 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27312
27313 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27314 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27315 users.
27316
27317 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27318 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27319 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27320 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27321 users.
27322
bf7f7a18 273232009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27324
27325 * term/tparm.c: Switch to GPLv3.
27326
86564c26 273272009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27328
27329 * include/grub/i386/cpuid.h: Add header protection.
27330
5c936493 273312009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27332
27333 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27334
27335 * include/grub/i386/cpuid.h: New file.
27336 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27337 (has_longmode): Rename to ...
27338 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27339 `static' attribute.
27340 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27341 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27342 on a CPU that doesn't implement AMD64 instruction set.
27343
186e7cf2 273442009-10-06 Colin Watson <cjwatson@ubuntu.com>
27345
27346 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27347 that version.texi is rebuilt on version number changes.
27348
83b65c4a 273492009-10-06 Colin Watson <cjwatson@ubuntu.com>
27350
27351 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27352 Fixes bug #27602.
27353
d244281c 273542009-10-06 Colin Watson <cjwatson@ubuntu.com>
27355
27356 * util/i386/pc/grub-install.in: Source
27357 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27358 that the --grub-probe option will work.
27359 * util/sparc64/ieee1275/grub-install.in: Likewise.
27360
da25306d 273612009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27362
27363 * configure.ac: Bump version to 1.97~beta4.
27364
e8ee83c0 273652009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27366
27367 Resync grub-mkdevicemap in x86_64-efi.
27368
27369 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27370 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27371 `util/devicemap.c'.
27372
50dcabcf 273732009-10-01 Colin Watson <cjwatson@ubuntu.com>
27374
27375 * util/grub-editenv.c (create_envblk_file): Write new block with a
27376 .new suffix and then rename it into place, to ensure atomic
27377 creation.
27378
0e51c3a7 273792009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27380
27381 Do not automatically install headers.
27382
27383 * Makefile.in (include_DATA): Remove. Update all users.
27384
31299a95 273852009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27386
27387 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27388 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27389
27390 * util/osdetect.lua: Remove.
27391 * script/lua/lauxlib.c: Likewise.
27392 * script/lua/ldebug.c: Likewise.
27393 * script/lua/grub_main.c: Likewise.
27394 * script/lua/lauxlib.h: Likewise.
27395 * script/lua/ldebug.h: Likewise.
27396 * script/lua/ltablib.c: Likewise.
27397 * script/lua/liolib.c: Likewise.
27398 * script/lua/lstrlib.c: Likewise.
27399 * script/lua/lualib.h: Likewise.
27400 * script/lua/ldo.c: Likewise.
27401 * script/lua/ldump.c: Likewise.
27402 * script/lua/ldo.h: Likewise.
27403 * script/lua/loslib.c: Likewise.
27404 * script/lua/lundump.c: Likewise.
27405 * script/lua/grub_lib.c: Likewise.
27406 * script/lua/ldblib.c: Likewise.
27407 * script/lua/lundump.h: Likewise.
27408 * script/lua/lmem.c: Likewise.
27409 * script/lua/grub_lib.h: Likewise.
27410 * script/lua/lmathlib.c: Likewise.
27411 * script/lua/lstate.c: Likewise.
27412 * script/lua/ltm.c: Likewise.
27413 * script/lua/lvm.c: Likewise.
27414 * script/lua/lmem.h: Likewise.
27415 * script/lua/lstate.h: Likewise.
27416 * script/lua/ltm.h: Likewise.
27417 * script/lua/ltable.c: Likewise.
27418 * script/lua/lvm.h: Likewise.
27419 * script/lua/llex.c: Likewise.
27420 * script/lua/lgc.c: Likewise.
27421 * script/lua/grub_lua.h: Likewise.
27422 * script/lua/loadlib.c: Likewise.
27423 * script/lua/lfunc.c: Likewise.
27424 * script/lua/lopcodes.c: Likewise.
27425 * script/lua/lparser.c: Likewise.
27426 * script/lua/ltable.h: Likewise.
27427 * script/lua/llex.h: Likewise.
27428 * script/lua/lgc.h: Likewise.
27429 * script/lua/lfunc.h: Likewise.
27430 * script/lua/lbaselib.c: Likewise.
27431 * script/lua/lopcodes.h: Likewise.
27432 * script/lua/lparser.h: Likewise.
27433 * script/lua/lzio.c: Likewise.
27434 * script/lua/linit.c: Likewise.
27435 * script/lua/lobject.c: Likewise.
27436 * script/lua/llimits.h: Likewise.
27437 * script/lua/lstring.c: Likewise.
27438 * script/lua/lzio.h: Likewise.
27439 * script/lua/lapi.c: Likewise.
27440 * script/lua/lcode.c: Likewise.
27441 * script/lua/lua.h: Likewise.
27442 * script/lua/lobject.h: Likewise.
27443 * script/lua/lstring.h: Likewise.
27444 * script/lua/lapi.h: Likewise.
27445 * script/lua/lcode.h: Likewise.
27446 * script/lua/luaconf.h: Likewise.
27447
cb8a2c38 274482009-09-26 Colin Watson <cjwatson@ubuntu.com>
27449
27450 * docs/grub.texi (Command-line and menu entry commands): Document
27451 date and echo commands.
27452
6b9b6276 274532009-09-24 Pavel Roskin <proski@gnu.org>
27454
27455 * include/grub/kernel.h (struct grub_module_header): Remove
27456 `grub_module_header_types'. Make `type' unsigned. Make `size'
27457 32-bit on all platforms.
27458 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27459 8-bit field. Use grub_host_to_target32() for `size'.
27460 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27461 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27462 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27463
4e5a02a7 274642009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27465
27466 Fix "lost keypress" bug in at_keyboard.
27467
27468 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27469 Checks for readyness of input buffer (without flushing it).
27470 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27471 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27472
c6dcedf6 274732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27474
27475 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27476 size check within GRUB_MACHINE_PCBIOS section.
27477
74c958b1 274782009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27479
27480 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27481 return value.
27482 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27483 KEYBOARD_ISREADY check.
27484 (grub_at_keyboard_checkkey): Rename to ...
27485 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27486 Remove gratuitous cast.
27487
ff420223 274882009-09-23 Colin Watson <cjwatson@ubuntu.com>
27489
27490 * configure.ac: Call AC_PROG_MKDIR_P.
27491 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27492 version.texi in $(builddir) rather than $(srcdir).
27493 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27494 to makeinfo's @include search path.
27495
d96875df 274962009-09-23 Felix Zielcke <fzielcke@z-51.de>
27497
27498 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27499
9b3f8365 275002009-09-23 Felix Zielcke <fzielcke@z-51.de>
27501
27502 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27503 for `*.dpkg-new'.
27504
c44c90db 275052009-09-21 Colin Watson <cjwatson@ubuntu.com>
27506
27507 Build info documentation. Some code borrowed from Automake.
27508
27509 * configure.ac: Check for makeinfo.
27510 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27511 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27512 docs/version.texi.
27513 (MOSTLYCLEANFILES): Add vti.tmp.
27514 (docs/version.texi, docs/stamp-vti): Update automatically.
27515 (docs/grub.info): Build info documentation. Use --force and ignore
27516 errors for now.
27517 (all-local): Add $(INFOS).
27518 (install-local): Install info files.
27519 (uninstall): Uninstall info files.
27520 * docs/version.texi: Remove from revision control. This file is
27521 automatically generated on build now.
27522 * gendistlist.sh: Add `*.info'.
27523
e0b37bb5 275242009-09-21 Felix Zielcke <fzielcke@z-51.de>
27525
27526 * kern/term.c: Fix indentation.
27527
5a78865b 275282009-09-21 Felix Zielcke <fzielcke@z-51.de>
27529
27530 * util/hostdisk.c: Fix a comment.
27531
dace7e8a 275322009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27533
27534 Fix regression introduced in r2539.
27535
27536 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27537 to 0xA1.
27538
a83d079b 275392009-09-19 Colin Watson <cjwatson@ubuntu.com>
27540
27541 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27542 os-prober. Under normal operation, it does not print anything to
27543 stderr; if it does, we need to debug it, and throwing away stderr
27544 makes that excessively difficult.
a83d079b 27545
be94a509 275462009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27547
27548 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27549
63f745e8 275502009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27551
27552 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27553 AC_LANG_PROGRAM from autoconf.
27554 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27555 prototypes (fixes warning).
27556
27557 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27558 `--disable-werror' was used.
27559
bbb2a70f 275602009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27561
27562 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27563 uninitialized `lastaddr'.
27564
77c24f1d 275652009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27566
0f0b8c87 27567 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27568
07197f23 275692009-09-14 Colin Watson <cjwatson@ubuntu.com>
27570
27571 * commands/test.c (get_fileinfo): Return immediately if
27572 grub_fs_probe fails.
27573
dabf1798 275742009-09-14 José Martínez <xosemp@gmail.com>
27575
27576 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27577
d52109a7 275782009-09-14 Colin Watson <cjwatson@ubuntu.com>
27579
27580 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27581 output.
27582
56532179 275832009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27584
27585 * configure.ac: Remove --enable-grub-pe2elf. Only build
27586 grub-pe2elf when needed by the build system itself.
27587 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27588
8ef070f5 275892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27590
27591 * configure.ac: Bump version to 1.97~beta3.
27592 * docs/version.texi: Likewise.
27593
61229557 275942009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27595
27596 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27597 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27598 from here ...
27599 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27600 (grub_linux_setup_video): ... to here (with some adjustments).
27601
5c9f8d84 276022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27603
27604 Fix memory corruption issue (spotted by Colin Watson).
27605
27606 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27607 causing returned size to be stored in an incorrect memory location.
27608 Fix use of uninitialized value when storing the returned size.
27609
e8f5d6e9 276102009-09-12 Yves Blusseau <blusseau@zetam.org>
27611
27612 Change clean rules to properly remove files
27613
27614 * genmk.rb: add new clean rules
27615 * Makefile.in (clean): add the new targets
27616 (mostlyclean): likewise
27617
cda2a409 276182009-09-11 Colin Watson <cjwatson@ubuntu.com>
27619
27620 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27621 to grub_uint64_t.
27622 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27623 non-resident files.
27624
86695375 276252009-09-11 Colin Watson <cjwatson@ubuntu.com>
27626
27627 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27628 part of bug #27349.
27629
8aa1541a 276302009-09-10 Felix Zielcke <fzielcke@z-51.de>
27631
27632 * util/grub-mkconfig.in: Make the created config mode 400 and
27633 print a warning if it fails.
27634
48d9bb0a 276352009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27636
27637 * util/grub.d/40_custom.in: Ask user to type custom entries below
27638 comment, rather than below 'exec tail' line.
27639
3b0521be 276402009-09-10 Colin Watson <cjwatson@ubuntu.com>
27641
27642 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27643 visible in grub.cfg.
27644
50051d55 276452009-09-10 Colin Watson <cjwatson@ubuntu.com>
27646
27647 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27648 file.
27649
c0d34387 276502009-09-10 Felix Zielcke <fzielcke@z-51.de>
27651
27652 * docs/grub.cfg: Add an example menu entry for memtest86+.
27653
80a608f3 276542009-09-09 Felix Zielcke <fzielcke@z-51.de>
27655
a2094832 27656 * config.guess: Update to latest version from config git.
80a608f3 27657 * config.sub: Likewise.
27658
99423078 276592009-09-08 Colin Watson <cjwatson@ubuntu.com>
27660
27661 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27662 unknown-command case. Fixes bug #27320.
27663
44454e4c 276642009-09-08 Felix Zielcke <fzielcke@z-51.de>
27665
27666 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27667 `help' if the command exists.
27668
e30d87ad 276692009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27670
27671 * INSTALL: Require GCC 4.1.3 or later.
27672
9a86f1ec 276732009-09-06 Yves Blusseau <blusseau@zetam.org>
27674
27675 * Makefile.in (RMKFILES): add i386-qemu.rmk
27676 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27677 $(srcdir)/stamp-h.in
27678
7f26d466 276792009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27680
27681 * util/grub-probe.c (probe): Comment out buggy codepath, which
27682 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27683 should be re-enabled after 1.97.
27684
3a613259 276852009-09-05 Felix Zielcke <fzielcke@z-51.de>
27686
27687 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27688 find searches for.
27689
197f76c7 276902009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27691
27692 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27693 unnecessary calls to grub_error.
27694
70ba68ce 276952009-09-04 Colin Watson <cjwatson@ubuntu.com>
27696
27697 * NEWS: Mention `keystatus' and Unicode fonts.
27698
4ff0d7a4 276992009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27700
27701 * configure.ac: Bump version to 1.97~beta2.
27702 * docs/version.texi: Likewise.
27703
77c55a87 277042009-09-03 Colin Watson <cjwatson@ubuntu.com>
27705
27706 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27707 containing unwind information in some cases where it previously did
27708 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27709 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27710 discussion.
27711
f79572cd 277122009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27713
27714 Embedding loadenv module into grub-emu
27715
27716 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27717 commands/loadenv.c
27718 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27723 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27724
93a81088 277252009-09-03 Magnus Granberg <zorry@ume.nu>
27726
27727 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27728 include -fPIE in the default specs.
27729 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27730 to TARGET_CFLAGS.
27731
160034b2 277322009-09-03 Felix Zielcke <fzielcke@z-51.de>
27733
27734 * INSTALL: Note that GNU Bison 2.3 or later is required.
27735
087c07c4 277362009-09-03 Colin Watson <cjwatson@ubuntu.com>
27737
27738 * kern/i386/pc/startup.S: Fix typo.
27739
cbf978c0 277402009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27741
27742 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27743 according to GCS.
27744
277452009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27746
27747 * docs/grub.texi (Naming convention): Describe one-based partition
27748 numbering.
27749 (Device syntax): Likewise.
27750 (File name syntax): Likewise.
27751 (Block list syntax): Likewise.
27752 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27753 menu.lst.
27754 (File name syntax): Likewise.
27755 (Command-line and menu entry commands): Document acpi, blocklist,
27756 crc, export, insmod, keystatus, ls, set, and unset commands.
27757
f3e8cdfd 277582009-09-02 Colin Watson <cjwatson@ubuntu.com>
27759
27760 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27761 to avoid implying that only one of --shift, --ctrl, or --alt may be
27762 used.
27763
c0bc232b 277642009-09-02 Colin Watson <cjwatson@ubuntu.com>
27765
27766 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27767 rather than comparing against S_IFREG, which will almost never work.
27768
aa0f752d 277692009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27770
27771 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27772 (write_blocklists): Likewise.
27773
ecb3166a 277742009-09-01 Colin Watson <cjwatson@ubuntu.com>
27775
27776 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27777 argument to grub_printf.
27778
c403a125 277792009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27780
27781 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27782 non GNU test.
31aba781 27783
b5e7312c 277842009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27785
27786 * kern/file.c (grub_file_read): Spelling fix
27787
fe00f472 277882009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27789
27790 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27791 loading of headers in some cases.
27792
cc55302e 277932009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27794
27795 * configure.ac: Bump version to 1.97~beta1.
27796 * docs/version.texi: Likewise.
27797
5c90cdd2 277982009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27799
27800 * include/grub/i386/xnu.h: Add license header.
27801 include grub/err.h explicitly.
27802
c90edae4 278032009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27804
27805 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27806 to `ufs' in the vfs.root.mountfrom kernel parameter.
27807
d8888b5c 278082009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27809
27810 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27811
27812 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27813 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27814
27815 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27816 `ARRAY_SIZE' macro.
27817
6f07b921 278182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27819
27820 * kern/file.c (grub_file_read): Check offset.
27821 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27822 * fs/jfs.c (grub_jfs_read_file): Likewise.
27823 * fs/ntfs.c (grub_ntfs_read): Likewise.
27824 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27825 * fs/minix.c (grub_minix_read_file): Correct offset check.
27826 * fs/ufs.c (grub_ufs_read_file): Likewise.
27827
b4f34077 278282009-08-28 Colin Watson <cjwatson@ubuntu.com>
27829
27830 * term/i386/pc/console.c (bios_data_area): Cast
27831 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27832
e7c69859 278332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27834
27835 1-bit optimised blitters.
27836
27837 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27838 prototype.
27839 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27840 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27841 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27842 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27843 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27844 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27845 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27846 function.
27847 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27848 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27849 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27850 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27851 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27852 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27853 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27854 when possible.
27855 * video/video.c (grub_video_get_blit_format): Return
27856 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27857
a57da43f 278582009-08-28 Colin Watson <cjwatson@ubuntu.com>
27859
27860 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27861 the first argument to grub_printf.
27862
4cbe67e5 278632009-08-28 Colin Watson <cjwatson@ubuntu.com>
278642009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27865
27866 Add `getkeystatus' terminal method. Add a new `keystatus' command
27867 to query it.
27868
27869 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27870 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27871 modifier key bitmasks.
27872 (struct grub_term_input): Add `getkeystatus' member.
27873 (grub_getkeystatus): Add prototype.
27874 * kern/term.c (grub_getkeystatus): New function.
27875
27876 * include/grub/i386/pc/memory.h
27877 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27878 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27879 Data Area layout.
27880 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27881 (grub_console_term_input): Set `getkeystatus' member.
27882 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27883 constants.
27884 (grub_usb_keyboard_getreport): Likewise.
27885 (grub_usb_keyboard_checkkey): Likewise.
27886 (grub_usb_keyboard_getkeystatus): New function.
27887 (grub_usb_keyboard_term): Set `getkeystatus' member.
27888
27889 * commands/keystatus.c: New file.
27890 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27891 (keystatus_mod_SOURCES): New variable.
27892 (keystatus_mod_CFLAGS): Likewise.
27893 (keystatus_mod_LDFLAGS): Likewise.
27894 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27895 commands/keystatus.c.
27896 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27897 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27898 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27901 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27902
6e2a9085 279032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27904
27905 Split befs.mod and afs.mod into *_be.mod and *.mod
27906
27907 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27908 (grub_fstest_SOURCES): Likewise.
27909 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27910 (afs_be_mod_SOURCES): New variable.
27911 (afs_be_mod_CFLAGS): Likewise.
27912 (afs_be_mod_LDFLAGS): Likewise.
27913 (befs_be_mod_SOURCES): Likewise.
27914 (befs_be_mod_CFLAGS): Likewise.
27915 (befs_be_mod_LDFLAGS): Likewise.
27916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27917 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27918 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27919 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27920 (grub_emu_SOURCES): Likewise.
27921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27923 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27924 * fs/afs_be.c: New file.
27925 * fs/befs_be.c: New file.
27926 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27927 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27928 (U16): Replaced with ...
27929 (grub_afs_to_cpu16): ...this. All users updated.
27930 (U32): Replaced with ...
27931 (grub_afs_to_cpu32): ...this. All users updated.
27932 (U64): Replaced with ...
27933 (grub_afs_to_cpu64): ...this. All users updated.
27934 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27935 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27936 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27937 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27938 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27939 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27940 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27941 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27942 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27943 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27944 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27945
32a71655 279462009-08-26 Bean <bean123ch@gmail.com>
27947
27948 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27949 64-bit number.
27950 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27951 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27952 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27953
552bf6c5 279542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 NetBSD memory map support.
27957
27958 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27959 (grub_netbsd_btinfo_mmap_header): New structure.
27960 (grub_netbsd_btinfo_mmap_entry): Likewise.
27961 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27962
1ae2078c 279632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27964
27965 Enable bsd.mod on coreboot.
27966
27967 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27968 (bsd_mod_SOURCES): New variable.
27969 (bsd_mod_CFLAGS): Likewise.
27970 (bsd_mod_LDFLAGS): Likewise.
27971 (bsd_mod_ASFLAGS): Likewise.
27972 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27973 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27974
beefc598 279752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 Cleanup NetBSD root support.
27978
27979 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27980 grub_bsd_get_device.
27981 Fix typo.
27982
3b76e68b 279832009-08-25 Felix Zielcke <fzielcke@z-51.de>
27984
27985 * util/grub.d/00_header.in: Move check for the video backend of
27986 gfxterm from here ...
27987 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27988 a suitable video backend.
27989
aea664ea 279902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 Fix breakage in grub-setup.
27993
27994 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27995 "msdos_partition_map".
27996
ff747d50 279972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27998
27999 Fix breakage in normal/auth.c.
28000
28001 * normal/auth.c (grub_iswordseparator): New function.
28002
e7e1f93f 280032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28004
28005 Authentication support.
28006
28007 * commands/password.c: New file.
28008 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28009 (password_mod_SOURCES): New variable.
28010 (password_mod_CFLAGS): Likewise.
28011 (password_mod_LDFLAGS): Likewise.
28012 (normal_mod_SOURCES): Add normal/auth.c.
28013 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28014 normal/auth.c.
28015 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28016 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28017 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28019 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28020 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28021 * include/grub/auth.h: New file.
28022 * include/grub/err.h (grub_err_t): New enum value
28023 GRUB_ERR_ACCESS_DENIED.
28024 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28025 'users'.
28026 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28027 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28028 users updated.
28029 * normal/auth.c: New file.
28030 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28031 (grub_cmdline_run): Don't allow to go to command line without
28032 authentication.
28033 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28034 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28035 menuentry without superuser rights.
28036 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28037 user isn't a superuser.
28038
70f1161d 280392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Save space by inlining misc.c functions.
28042
28043 * kern/misc.c (grub_iswordseparator): Made static.
28044 * kern/misc.c (grub_strcat): Moved from here ...
28045 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28046 * kern/misc.c (grub_strncat): Moved from here ...
28047 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28048 * kern/misc.c (grub_strcasecmp): Moved from here ...
28049 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28050 * kern/misc.c (grub_strncasecmp): Moved from here ...
28051 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28052 * kern/misc.c (grub_isalpha): Moved from here ...
28053 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28054 * kern/misc.c (grub_isdigit): Moved from here ...
28055 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28056 * kern/misc.c (grub_isgraph): Moved from here ...
28057 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28058 * kern/misc.c (grub_tolower): Moved from here ...
28059 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28060
48e40bff 280612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 * script/sh/function.c (grub_script_function_find): Cut error message
28064 not to flood terminal.
28065 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28066 limit.
28067 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28068
c385bfc3 280692009-08-24 Colin Watson <cjwatson@ubuntu.com>
28070
28071 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28072 `report' grub_uint8_t *.
28073 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28074 Use a 50-millisecond timeout rather than just repeating
28075 grub_usb_keyboard_getreport 50 times.
28076 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28077
2d21e3e8 280782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28079
28080 Rename *_partition_map to part_*
28081
28082 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28083 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28084 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28085 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28086 All users updated.
28087 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28088 All users updated.
28089 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28090 * util/grub-probe.c (probe_partmap): Don't transform partition name
28091 to get module name.
28092
dd103c4e 280932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28094
28095 Fix OpenBSD and NetBSD support.
28096
28097 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28098 memory address conflict.
28099 (OPENBSD_MMAP_ACPI): New definition.
28100 (OPENBSD_MMAP_NVS): Likewise.
28101 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28102 and OPENBSD_MMAP_NVS.
28103 Add memory map terminator
28104 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 28105 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 28106
16c84d74 281072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28108
28109 Let user specify NetBSD root device.
28110
28111 * loader/i386/bsd.c (netbsd_root): New variable.
28112 (netbsd_opts): New option 'root'.
28113 (NETBSD_ROOT_ARG): New macro.
28114 (grub_netbsd_boot): Use 'netbsd_root'.
28115 (grub_bsd_unload): Free 'netbsd_root'.
28116 (grub_cmd_netbsd): Fill 'netbsd_root'.
28117
adb29902 281182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28119
28120 Support for 64-bit NetBSD.
28121
28122 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28123 point when booting non-FreeBSD.
28124
f5ae9f74 281252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 Support --no-smp and --no-acpi for NetBSD.
28128
28129 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28130 (NETBSD_AB_NOACPI): Likewise.
28131 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28132 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28133
de74f136 281342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28137 errors.
28138 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28139 errors. Call grub_error when needed.
28140
e9a925da 281412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 * commands/search.c (search_fs): Try searching without autoload first.
28144 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28145 filesystem module explicitly for faster booting.
28146
5174302b 281472009-08-23 Colin Watson <cjwatson@ubuntu.com>
28148
28149 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28150
c8c80635 281512009-08-23 Colin Watson <cjwatson@ubuntu.com>
28152
28153 * util/grub.d/30_os-prober.in: Disable os-prober if
28154 `GRUB_DISABLE_OS_PROBER' was set to true.
28155
71acf5e5 281562009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28157
28158 * partmap/pc.c: Rename to ...
28159 * partmap/msdos.c: ... this. Update all users.
28160 (grub_pc_partition_map): Rename to ...
28161 (grub_msdos_partition_map): ... this. Update all users.
28162
28163 * parttool/pcpart.c: Rename to ...
28164 * parttool/msdospart.c: ... this. Update all users.
28165
28166 * include/grub/pc_partition.h: Rename to ...
28167 * include/grub/msdos_partition.h: ... this. Update all users.
28168 (grub_pc_partition_bsd_entry): Rename to ...
28169 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28170 (grub_pc_partition_disk_label): Rename to ...
28171 (grub_msdos_partition_disk_label): ... this. Update all users.
28172 (grub_pc_partition_entry): Rename to ...
28173 (grub_msdos_partition_entry): ... this. Update all users.
28174 (grub_pc_partition_mbr): Rename to ...
28175 (grub_msdos_partition_mbr): ... this. Update all users.
28176 (grub_pc_partition): Rename to ...
28177 (grub_msdos_partition): ... this. Update all users.
28178 (grub_pc_partition_is_empty): Rename to ...
28179 (grub_msdos_partition_is_empty): ... this. Update all users.
28180 (grub_pc_partition_is_extended): Rename to ...
28181 (grub_msdos_partition_is_extended): ... this. Update all users.
28182 (grub_pc_partition_is_bsd): Rename to ...
28183 (grub_msdos_partition_is_bsd): ... this. Update all users.
28184
28185 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28186 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28187 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28188 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28189 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28190 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28191 (gpt_mod_LDFLAGS): Rename to ...
28192 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28193 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28194 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28195 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28196 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28197 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28198 (part_gpt_mod_LDFLAGS): ... this.
28199 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28200 `pcpart.mod' to `msdospart.mod'.
28201 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28202 to ...
28203 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28204 (msdospart_mod_LDFLAGS): ... this.
28205
c11fded5 282062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28207
28208 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28209 (openbsd_opts): Likewise.
28210 (netbsd_opts): Likewise.
28211 (freebsd_flags): Added 0 terminator.
28212 (openbsd_flags): Likewise.
28213 (netbsd_flags): Likewise.
28214 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28215 (grub_cmd_freebsd): Transformed into extended command.
28216 (grub_cmd_openbsd): Likewise.
28217 (grub_cmd_netbsd): Likewise.
28218 (cmd_freebsd): Changed type to grub_extcmd_t.
28219 (cmd_openbsd): Likewise.
28220 (cmd_netbsd): Likewise.
28221 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28222 grub_cmd_openbsd as extended commands.
28223 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28224 cmd_netbsd and cmd_openbsd
28225
11d1c769 282262009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28227
28228 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28229
7a9094e5 282302009-08-21 Pavel Roskin <proski@gnu.org>
28231
5496c37e 28232 * Makefile.in (install-local): When checking if a file is in the
28233 build directory, use "test -e" to detect symlinks.
28234
7a9094e5 28235 * Makefile.in (install-local): Remove all files in
28236 $(DESTDIR)$(pkglibdir) before installing new files there.
28237
e53cea11 282382009-08-18 Felix Zielcke <fzielcke@z-51.de>
28239
28240 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28241 grub-mkelfimage.
28242
9aced544 282432009-08-18 Felix Zielcke <fzielcke@z-51.de>
28244
28245 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28246 explicitly specified by the user.
28247
b7da6bab 282482009-08-18 Pavel Roskin <proski@gnu.org>
28249
28250 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28251 grub_uint8_t pointer for data.
28252 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28253 Likewise.
28254 * video/fb/fbutil.c: Remove unnecessary casts.
28255
19f1b335 282562009-08-17 Michal Suchanek <hramrach@centrum.cz>
28257
28258 VBE cleanup.
28259
28260 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28261 (grub_vbe_set_video_mode): Save active mode info
28262 only after setting the mode.
28263 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28264 second argument.
28265
2f467aa9 282662009-08-17 Michal Suchanek <hramrach@centrum.cz>
28267
28268 Rename variables for clarity.
28269
28270 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28271 (active_vbe_mode_info): ... this. All users updated.
28272 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28273 All users updated.
28274 (initial_mode): Rename to ...
28275 (initial_vbe_mode): ... this. All users updated.
28276 (mode_in_use): Rename to ..
28277 (vbe_mode_in_use): ... this. All users updated.
28278 (mode_list): Rename to ..
28279 (vbe_mode_list): ... this. All users updated.
28280 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28281 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28282 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28283 'mode_list_size' to 'vbe_mode_list_size'.
28284 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28285 'best_mode_info' to 'best_vbe_mode_info' and
28286 'best_mode' to 'best_vbe_mode'
28287
6025fcd7 282882009-08-17 Michal Suchanek <hramrach@centrum.cz>
28289
28290 Remove duplicate grub_video_fb_get_video_ptr.
28291
28292 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28293 (grub_video_fb_get_video_ptr): ... this.
28294 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28295 * video/fb/fbutil.c: Add comment about addressing.
28296 (get_data_ptr): Rename to ...
28297 (grub_video_fb_get_video_ptr): ... this. All users updated.
28298 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28299
cc8c6faf 283002009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28301
28302 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28303 grub_dprintf() that was just added.
28304
08aa61f0 283052009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28306
28307 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28308 (DEFAULT_VIDEO_MODE): Remove macros.
28309 (grub_linux_boot): Remove assumption that Linux has FB support,
28310 and use "text" as default video mode.
28311
7cef4f75 283122009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28315 grub_dprintf.
28316 * fs/fat.c (grub_fat_read_data): Likewise.
28317
e1f39873 283182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28319
28320 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28321 payload.
28322 (grub_module): Likewise.
28323
c166d79e 283242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28325
28326 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28327 mbi->cmdline but free playground.
28328
c60cee8e 283292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28330
28331 Handle group offset on UFS1.
28332
28333 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28334 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28335
c0d8b5d4 283362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 Split ufs.mod into ufs1.mod and ufs2.mod.
28339
28340 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28341 (grub_fstest_SOURCES): Likewise.
28342 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28343 (ufs_mod_SOURCES): Remove.
28344 (ufs_mod_CFLAGS): Likewise.
28345 (ufs_mod_LDFLAGS): Likewise.
28346 (ufs1_mod_SOURCES): New variable.
28347 (ufs1_mod_CFLAGS): Likewise.
28348 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28349 (ufs2_mod_SOURCES): New variable.
28350 (ufs2_mod_CFLAGS): Likewise.
28351 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28352 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28353 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28354 Likewise.
28355 (grub_emu_SOURCES): Likewise.
28356 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28357 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28358 (grub_setup_SOURCES): Likewise.
28359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28360 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28361 (grub_setup_SOURCES): Likewise.
28362 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28363 Likewise.
28364 * fs/ufs2.c: New file.
28365 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28366
d3539132 283672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28368
28369 Framebuffer split.
28370
28371 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28372 subsystem at the end.
28373 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28374 (video_fb_mod_SOURCES): New variable.
28375 (video_fb_mod_CFLAGS): Likewise.
28376 (video_fb_mod_LDFLAGS): Likewise.
28377 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28378 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28379 * video/i386/pc/vbeblit.c: Moved from here ...
28380 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28381 * video/i386/pc/vbefill.c: Moved from here ...
28382 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28383 * video/i386/pc/vbeutil.c: Moved from here ...
28384 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28385 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28386 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28387 * include/grub/i386/pc/vbefill.h: Moved from here ...
28388 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28389 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28390 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28391 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28392 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28393 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28394 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28395 (grub_video_adapter): Added 'get_info_and_fini'.
28396 (grub_video_get_info_and_fini): New prototype.
28397 (grub_video_set_mode): make modestring const char *.
28398 * loader/i386/linux.c (grub_linux_setup_video): Use
28399 grub_video_get_info_and_fini.
28400 (grub_linux_boot): Move modesetting just before booting.
28401 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28402 grub_video_get_info_and_fini.
28403 * video/i386/pc/vbe.c: Moved framebuffer part ...
28404 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28405 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28406 grub_video_fbstd_colors and grub_video_fb_set_palette.
28407 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28408 grub_video_fb_init.
28409 (grub_video_vbe_fini): Use grub_video_fb_fini.
28410 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28411 render_target and use grub_video_fb_set_active_render_target and
28412 grub_video_fb_set_palette.
28413 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28414 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28415 (grub_video_vbe_adapter): Use framebuffer.
28416 * video/video.c (grub_video_get_info_and_fini): New function.
28417 (grub_video_set_mode): Make modestring const char *.
28418 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28419 values are already initialised.
28420
d404ee56 284212009-08-14 Pavel Roskin <proski@gnu.org>
28422
28423 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28424 ABS and APPLE_CC.
28425 * boot/i386/pc/diskboot.S: Likewise.
28426 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28427 sectors allow compilation on MacOSX.
28428 * conf/i386-pc.rmk: Enable unconditional compilation of
28429 lnxboot.img.
28430
9a10df16 284312009-08-13 Colin Watson <cjwatson@ubuntu.com>
28432
28433 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28434 * util/grub.d/00_header.in: Enter interruptible sleep if
28435 GRUB_HIDDEN_TIMEOUT is set.
28436
be3c9ca7 284372009-08-13 Yves Blusseau <blusseau@zetam.org>
28438
28439 * include/grub/symbol.h: Add the LOCAL macro.
28440 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28441 starting with "L_".
28442
1f9e557e 284432009-08-13 Pavel Roskin <proski@gnu.org>
28444
9ca62843 28445 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28446 any modern compilers we support.
28447
1f9e557e 28448 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28449 Use local labels starting with "L_" so that Apple assembler
28450 knows they are local.
28451
81623db6 284522009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28453
28454 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28455 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28456 (bsd_kernel_types): ... this enum.
28457
28458 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28459 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28460 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28461
28462 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28463 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28464 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28465 messages.
28466
f5d35e7a 284672009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28468
28469 * util/grub-dumpdevtree: Moved from here ...
28470 * util/i386/efi/grub-dumpdevtree: ... to here.
28471 (hexify): New function. Converts a string to its hex version.
28472 Generate hex versions of "efi" and "device-properties" by calling
28473 hexify() on the ASCII strings rather than by hardcoding numbers.
28474
d1e1d527 284752009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28476
28477 * fs/jfs.c: Update copyright year.
28478
1ebbe064 284792009-08-08 Felix Zielcke <fzielcke@z-51.de>
28480
28481 * util/grub.d/00_header.in: Fix a comment.
28482 * util/grub.d/10_linux.in: Likewise.
28483 * util/grub.d/10_windows.in: Likewise.
28484 * util/grub.d/10_hurd.in: Likewise.
28485
a78c8d24 284862009-08-08 Felix Zielcke <fzielcke@z-51.de>
28487
28488 * util/grub-mkconfig.in: Allow the user to specify the used font
28489 with GRUB_FONT.
28490
29a6b9e8 284912009-08-08 Pavel Roskin <proski@gnu.org>
28492
b5f16cc4 28493 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28494 available, xfs.mod needs it now.
28495
2f5cb827 28496 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28497 the "g" modifier in sed when the intention is to strip something
28498 once. This fixes comparison of kernels with multiple dashes.
28499
29a6b9e8 28500 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28501 on it. Add missing space before closing bracket. Fix
28502 misleading formatting.
28503
892a3d98 285042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28505
28506 * docs/grub.texi: Major overhaul. Remove all sections that are
28507 specific to GRUB Legacy, or mostly composed of Legacy-specific
28508 information.
28509
ed94253f 285102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28511
28512 * docs/version.texi: New file. Provides version information for
28513 grub.texi.
28514
126d6628 285152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28516
28517 * docs/grub.texi: Update CVS information to SVN.
28518 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28519
998b5aa9 285202009-08-07 Felix Zielcke <fzielcke@z-51.de>
28521
28522 * util/grub-mkconfig.in: Remove a wrong `fi'.
28523
818e094a 285242009-08-07 Felix Zielcke <fzielcke@z-51.de>
28525
28526 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28527 (grub_jfs_uuid): New function.
28528 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28529
b969c52f 285302009-08-07 Felix Zielcke <fzielcke@z-51.de>
28531
28532 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28533 of it to ...
28534 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28535 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28536
7a4894cc 285372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28538
28539 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28540 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28541 Update all users.
28542
28543 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28544 not just "vmlinu[zx]".
28545 Moved from here ...
28546 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28547 all users.
28548
28549 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28550 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28551 all users.
28552
4e2171f8 285532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28554
28555 * util/grub.d/10_freebsd.in: Use an absolute device path for
28556 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28557
6dcfcb32 285582009-08-06 Felix Zielcke <fzielcke@z-51.de>
28559
28560 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28561 handling of multiple abstraction modules.
28562
f56a8756 285632009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28564
28565 Fix a bug resulting in black screen when loading Linux using a
28566 packed video mode.
28567
28568 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28569 function.
28570
28571 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28572 (grub_vbe_bios_getset_dac_palette_width): New function.
28573 (grub_vbe_bios_get_dac_palette_width)
28574 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28575 grub_vbe_bios_getset_dac_palette_width()).
28576
28577 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28578 check for return status.
28579 (grub_vbe_get_video_mode_info): When getting information for a packed
28580 mode (<= 8 bpp), obtain DAC palette width using
28581 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28582 {red,green,blue}_mark_size.
28583
222671b2 285842009-08-04 Felix Zielcke <fzielcke@z-51.de>
28585
ecb1a6d9 28586 * commands/search.c (options): Fix help output to match actual code.
222671b2 28587
f84114f5 285882009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28589
28590 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28591 of homegrown code.
28592
bd288a20 285932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28594
28595 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28596 on XFS or ReiserFS.
28597
8aab5e25 285982009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 Support Apple partition map with sector size different from 512 bytes.
28601
28602 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28603 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28604 and 'apart.partmap_size'.
28605
6ad6258a 286062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
286072009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28608
28609 Fix cpuid command.
28610
28611 * commands/i386/cpuid.c (options): New variable.
28612 (grub_cmd_cpuid): Return real error.
28613 (GRUB_MOD_INIT(cpuid)): Declare options.
28614
67459bc6 286152009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28616
28617 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28618 valid.
28619
fbc6ab54 286202009-07-31 Bean <bean123ch@gmail.com>
28621
28622 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28623 log2_inode.
28624 (grub_fshelp_node): Move inode field to the end.
28625 (grub_xfs_data): Remove inode field.
28626 (grub_xfs_inode_block): Calculate inode size using sblock.
28627 (grub_xfs_inode_offset): Likewise.
28628 (grub_xfs_read_inode): Calculate inode size using sblock.
28629 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28630 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28631 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28632 to match inode size.
28633 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28634 not accessible when data is null.
28635 (grub_xfs_open): Likewise.
28636
f45d6cfc 286372009-07-31 Bean <bean123ch@gmail.com>
28638
28639 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28640 Don't change pv->disk if it's already set.
28641
28642 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28643 (grub_raid_register): ... here.
28644 (grub_raid_rescan): Removed.
28645
28646 * include/grub/raid.h (grub_raid_rescan): Removed.
28647
28648 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28649 (fstest): Replace grub_raid_rescan with module fini function followed
28650 by init function.
28651
28652 * util/grub-probe.c: Add include file <grub/raid.h>.
28653 (probe_raid_level): New function.
28654 (probe): Detect abstraction by walking the disk device, support two
28655 level of abstraction (LVM on RAID) when detecting partition map.
28656
24443b5a 286572009-07-31 Pavel Roskin <proski@gnu.org>
28658
28659 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28660 to grub_zalloc(), it was erroneous.
28661 Reported by Bean <bean123ch@gmail.com>
28662
a275d9e7 286632009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28664
28665 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28666 embedding zone, not only the first one.
a275d9e7 28667
56c5a47f 286682009-07-29 Joe Auricchio <jauricchio@gmail.com>
28669
28670 * term/gfxterm.c (clear_char): New function.
28671 (grub_virtual_screen_setup): Use clear_char.
28672 (scroll_up): Likewise.
28673 (grub_virtual_screen_cls): Likewise.
28674
67bb323a 286752009-07-29 Felix Zielcke <fzielcke@z-51.de>
28676
28677 * util/deviceiter.c (get_acceleraid_disk_name): New static
28678 function.
28679 (grub_util_iterate_devices): Handle Accelraid devices.
28680 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28681
388a7c75 286822009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28683
28684 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28685 separator for the suggested gfxpayload string (';' collides with the
28686 parser and needs escaping).
28687
3bb7abcf 286882009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28689
28690 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28691 Clear direction flag before jumping to OS.
28692 (grub_multiboot2_real_boot): Likewise.
28693
2ddd36d7 286942009-07-28 Felix Zielcke <fzielcke@z-51.de>
28695
28696 * util/i386/pc/grub-install: Fix parsing of --disk-module
28697 option.
28698
c521b62b 286992009-07-28 Felix Zielcke <fzielcke@z-51.de>
28700
28701 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28702 when embedding.
28703
880e0a0c 287042009-07-26 Felix Zielcke <fzielcke@z-51.de>
28705
28706 * util/grub-mkconfig.in (package_version): New variable.
28707 Use it do display the version.
28708
2366e356 287092009-07-25 Felix Zielcke <fzielcke@z-51.de>
28710
28711 * kern/file.c (grub_file_open): Revert to previous check with
28712 grub_errno.
28713
7ad8c80e 287142009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28715
28716 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28717 from help line. It's out of sync with code.
28718
72b9658b 287192009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28720
28721 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28722 entries on failed boot.
28723
77435277 287242009-07-25 Felix Zielcke <fzielcke@z-51.de>
28725
28726 * kern/file.c (grub_file_open): Fix an error check.
28727
fcaa8b21 287282009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28729
35d16c74 28730 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28731 partition map couldn't be identified.
fcaa8b21 28732
48904cd1 287332009-07-23 Pavel Roskin <proski@gnu.org>
28734
ef3c317f 28735 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28736 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28737 case of little endian words becomes just an optimization.
28738 Respect const modifier.
ad8ea1f4 28739 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28740
48904cd1 28741 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28742 to avoid loss of upper bits if align is unsigned and shorter
28743 than addr.
28744
260c9a89 287452009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28746
28747 UUID support for UFS
28748
28749 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28750 (grub_ufs_uuid): New function.
28751 (grub_ufs_fs): add .uuid
28752
f76ce889 287532009-07-21 Pavel Roskin <proski@gnu.org>
28754
28755 * kern/dl.c (grub_dl_check_header): Make static.
28756
6a6cbcaf 287572009-07-21 Felix Zielcke <fzielcke@z-51.de>
28758
28759 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28760 add drivemap for Vista. It breaks Windows 7.
28761
cffcddb2 287622009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28763
28764 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28765 128 bytes
28766
1ef44b80 287672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28768
28769 Add BFS support
28770
28771 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28772 (grub_fstest_SOURCES): Likewise.
28773 (pkglib_MODULES): Add befs.mod.
28774 (befs_mod_SOURCES): New variable.
28775 (befs_mod_CFLAGS): Likewise.
28776 (befs_mod_LDFLAGS): Likewise.
28777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28778 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28779 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28780 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28781 (grub_setup_SOURCES): Likewise.
28782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28783 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28784 (grub_setup_SOURCES): Likewise.
28785 * fs/befs.c: New file.
28786 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28787 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28788 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28789 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28790 (B_KEY_INDEX_ALIGN): New declaration.
28791 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28792 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28793 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28794 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28795 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28796 (grub_afs_mount) [MODE_BFS]: Likewise.
28797 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28798 (grub_afs_fs): Use GRUB_AFS_FSNAME
28799 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28800 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28801 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28802 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28803
4f253044 288042009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28805
28806 * util/getroot.c (find_root_device): Add support for MacOSX.
28807 * util/hostdisk.c: Likewise.
28808
57a55913 288092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 * font/font.c (find_glyph): Check whether a font is present to avoid
28812 segmentation fault.
75421ca9 28813
288142009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28815
28816 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28817
e98cd0c2 288182009-07-20 Pavel Roskin <proski@gnu.org>
28819
28820 * configure.ac: Trim excessively wordy excuses.
28821
1d2d169a 288222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28823
28824 Add symlink, mtime and label support to AtheFS.
28825
28826 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28827 (grub_afs_iterate_dir): Handle symlinks.
28828 (grub_afs_open): Use grub_afs_read_symlink.
28829 (grub_afs_dir): Likewise.
28830 Pass mtime.
28831 (grub_afs_label): New function.
28832 (grub_afs_fs): Add grub_afs_label.
28833 (grub_afs_read_symlink): New function.
28834
186f3189 288352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28836
28837 Fix AtheFS support.
28838
28839 * fs/afs.c: Fix comments style.
28840 (grub_afs_blockrun): Declare as packed.
28841 (grub_afs_datastream): Likewise.
28842 (grub_afs_bnode): Likewise.
28843 (grub_afs_btree): Likewise.
28844 (grub_afs_sblock): Likewise.
28845 Declare `name' as char.
28846 (grub_afs_inode): Declare as packed.
28847 Change void *vnode to grub_uint32_t unused.
28848 (grub_afs_iterate_dir): Check that key_size is positive.
28849 (grub_afs_mount): Don't read superblock twice.
75421ca9 28850 (grub_afs_dir): Don't free node in case of error,
186f3189 28851 grub_fshelp_find_file already handles this.
28852 (grub_afs_open): Likewise.
28853
5680109e 288542009-07-19 Pavel Roskin <proski@gnu.org>
28855
28856 * Makefile.in: Remove LIBLZO and enable_lzo.
28857 * conf/i386-pc.rmk: Remove lzo support.
28858 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28859 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28860 support.
28861 * kern/i386/pc/lzo1x.S: Remove.
28862 * kern/i386/pc/startup.S: Remove lzo support.
28863 * util/i386/pc/grub-mkimage.c: Likewise.
28864
ac70fa32 288652009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28866
28867 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28868 * fs/xfs.c (grub_xfs_dir): Likewise.
28869 * fs/afs.c (grub_afs_dir): Likewise.
28870 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28871 (grub_iso9660_open): Likewise.
28872 * fs/jfs.c (grub_jfs_open): Likewise.
28873 * fs/ext2.c (grub_ext2_dir): Likewise.
28874 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28875 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28876
eab58da2 288772009-07-16 Pavel Roskin <proski@gnu.org>
28878
d2838156 28879 * configure.ac: Never add "-c" to CFLAGS.
28880
55c70904 28881 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28882
43e6200c 28883 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28884 grub_cv_cc_efiemu should be used.
28885
ce7a733d 28886 * configure.ac: Typo fixes.
28887
eab58da2 28888 * kern/mm.c (grub_zalloc): New function.
28889 (grub_debug_zalloc): Likewise.
28890 * include/grub/mm.h: Declare grub_zalloc() and
28891 grub_debug_zalloc().
28892 * util/misc.c (grub_zalloc): New function.
28893 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28894 instead of grub_malloc(), remove unneeded initializations.
28895 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28896 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28897 * commands/parttool.c (grub_cmd_parttool): Likewise.
28898 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28899 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28900 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28901 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28902 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28903 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28904 (grub_cmd_efiemu_pnvram): Likewise.
28905 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28906 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28907 (grub_iso9660_iterate_dir): Likewise.
28908 * fs/jfs.c (grub_jfs_opendir): Likewise.
28909 * fs/ntfs.c (list_file): Likewise.
28910 (grub_ntfs_mount): Likewise.
28911 * kern/disk.c (grub_disk_open): Likewise.
28912 * kern/dl.c (grub_dl_load_core): Likewise.
28913 * kern/elf.c (grub_elf_file): Likewise.
28914 * kern/env.c (grub_env_context_open): Likewise.
28915 (grub_env_set): Likewise.
28916 (grub_env_set_data_slot): Likewise.
28917 * kern/file.c (grub_file_open): Likewise.
28918 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28919 * loader/i386/multiboot.c (grub_module): Likewise.
28920 * loader/xnu.c (grub_xnu_create_key): Likewise.
28921 (grub_xnu_create_value): Likewise.
28922 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28923 (read_config_file): Likewise.
28924 * normal/menu_entry.c (make_screen): Likewise.
28925 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28926 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28927 * script/sh/script.c (grub_script_parse): Likewise.
28928 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28929 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28930 * video/readers/png.c (grub_png_output_byte): Likewise.
28931 (grub_video_reader_png): Likewise.
28932
830afef7 289332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28934
28935 Enable all targets that can be built by default
28936
830afef7 28937 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28938 grub-mkfont and grub-fstest if they can be built
28939
ee293aee 289402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28941
28942 Fix hang and segmentation fault in grub-emu-usb
28943
28944 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28945 * util/usb.c (grub_libusb_devices): likewise
28946 (grub_libusb_init): rename to ...
28947 (GRUB_MOD_INIT (libusb)):...this
28948 (grub_libusb_fini): rename to ..
28949 (GRUB_MOD_FINI (libusb)):...this
28950 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28951 * include/grub/disk.h (grub_raid_init): removed, it's useless
28952 (grub_raid_fini): likewise
28953 (grub_lvm_init): likewise
28954 (grub_lvm_fini): likewise
28955 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28956 by grub_init_all
28957
94414221 289582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28959
28960 Fix libusb
28961
28962 * Makefile.in (LIBUSB): new macro
28963 * genmk.rb (Utility/print_tail): new method
28964 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28965 (top level): call util.print_tail at the end.
28966
59ade63d 289672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28968
28969 Make FreeBSD accept zpool.cache
28970
28971 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28972 type is /boot/zfs/zpool.cache
28973
a58da8c7 289742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28975
28976 Fix 64-bit efiemu
28977
28978 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28979 correct wrong typedef
28980 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28981
20591577 289822009-07-15 Pavel Roskin <proski@gnu.org>
28983
560ca572 28984 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28985 * kern/disk.c (struct grub_disk_cache): Likewise.
28986
e8e8e4fd 28987 * commands/probe.c (options): Typo fix.
28988
fde24e10 28989 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28990 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28991 accordingly.
28992 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28993
379c54c1 28994 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28995 the end of "Error" to make the message more readable.
28996
7bd8f5bf 28997 * boot/i386/pc/boot.S (kernel_segment): Remove.
28998 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28999 for destination.
29000
40b132c5 29001 * boot/i386/pc/boot.S (boot_version): Remove.
29002 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29003 Remove.
29004
20591577 29005 * include/grub/i386/pc/boot.h: Sort all offsets.
29006 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29007 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29008 * boot/i386/pc/boot.S: Assert location of every offset listed in
29009 include/grub/i386/pc/boot.h.
29010
2df32b2c 290112009-07-13 Pavel Roskin <proski@gnu.org>
29012
44b5d879 29013 * include/grub/i386/coreboot/machine.h: Rename
29014 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29015 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29016 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29017
17dc3751 29018 * kern/dl.c: Force native word size to suppress warnings when
29019 compiling grub-emu.
29020
2df32b2c 29021 * kern/device.c (grub_device_iterate): Change struct part_ent to
29022 hold the name, not a pointer to it. Use one grub_malloc() per
29023 partition, not two. Free partition_name if grub_malloc() fails.
29024 Set ents to NULL only before grub_partition_iterate() is called.
29025
75c59f59 290262009-07-11 Bean <bean123ch@gmail.com>
29027
29028 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29029 childname.
29030
0ae1bf88 290312009-07-10 Bean <bean123ch@gmail.com>
290322009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29033
29034 * kern/ieee1275/openfw.c (grub_children_iterate)
29035 (grub_devalias_iterate): Fix size evaluation for property or path
29036 strings, which was broken since r2132.
29037
8279cade 290382009-07-07 Pavel Roskin <proski@gnu.org>
29039
7d8a52d3 29040 * commands/search.c (search_file): Merge into ...
29041 (search_fs): ... this. Accept search type as argument.
29042 (grub_cmd_search): Pass search type to search_fs().
29043
25f9a05a 29044 * include/grub/util/console.h: New file.
29045 * util/console.c: Use it instead of grub/machine/console.h.
29046 * util/grub-emu.c: Likewise.
29047
8279cade 29048 * lib/arg.c (find_long_option): Remove.
29049 (find_long): Add `len' argument, make `s' const char *.
29050 (grub_arg_parse): Parse long options in place, not in a
29051 temporary buffer.
29052
4a11b60f 290532009-07-06 Pavel Roskin <proski@gnu.org>
29054
99f68041 29055 * commands/search.c (search_fs): Fix potential NULL pointer
29056 dereference.
29057
4a11b60f 29058 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29059 function pointer.
29060
e110f4de 290612009-07-06 Daniel Mierswa <impulze@impulze.org>
29062
29063 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29064 comparison.
29065
46eeb6a2 290662009-07-05 Pavel Roskin <proski@gnu.org>
29067
bab74958 29068 * include/grub/i386/linux.h (struct linux_kernel_params):
29069 Restore padding3, it's still needed.
29070
46eeb6a2 29071 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29072 FreeBSD.
29073 * util/osdetect.lua: Likewise.
29074
b4a1dc79 290752009-07-05 Bean <bean123ch@gmail.com>
29076
29077 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29078
29079 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29080 (grub_lua_getenv): Likewise.
29081 (grub_lua_setenv): Likewise.
29082 (save_errno): New function.
29083 (push_result): Likewise.
29084 (grub_lua_enum_device): Likewise.
29085 (grub_lua_enum_file): Likewise.
29086 (grub_lua_file_open): Likewise.
29087 (grub_lua_file_close): Likewise.
29088 (grub_lua_file_seek): Likewise.
29089 (grub_lua_file_read): Likewise.
29090 (grub_lua_file_getline): Likewise.
29091 (grub_lua_file_getsize): Likewise.
29092 (grub_lua_file_getpos): Likewise.
29093 (grub_lua_file_eof): Likewise.
29094 (grub_lua_file_exist): Likewise.
29095 (grub_lua_add_menu): Likewise.
29096
29097 * script/lua/grub_lua.h (isupper): New inline function.
29098 (islower): Likewise.
29099 (ispunct): Likewise.
29100 (isxdigit): Likewise.
29101 (strcspn): Change to normal function.
29102 (strpbkr): New function declaration.
29103 (memchr): Likewise.
29104
29105 * script/lua/grub_main.c (scan_str): New function.
29106 (strcspn): Likewise.
29107 (strpbrk): Likewise.
29108 (memchr): Likewise.
29109
29110 * script/lua/linit.c (lualibs): Enable the string library.
29111
29112 * util/osdetect.lua: New file.
29113
2da92295 291142009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29115
29116 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29117 `capabilities' member.
29118
b2582ec9 291192009-07-02 Pavel Roskin <proski@gnu.org>
29120
29121 * genparttoollist.sh: Add missing newline at the end.
29122
32622956 291232009-07-01 Pavel Roskin <proski@gnu.org>
29124
87a7339e 29125 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29126
d23af54e 29127 * util/hostdisk.c (open_device): Remove `const' from
29128 `sysctl_size', as sysctlbyname() can change it (in this case it
29129 doesn't actually happen).
29130
c94b18a9 29131 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29132 using signed long int constants.
29133
c6cd3ef0 29134 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29135 constant to avoid a warning on FreeBSD.
29136
0df63420 29137 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29138 where it's needed.
29139
999577f1 29140 * Makefile.in: Install include/grub/machine symlink.
29141
6f41557f 29142 * Makefile.in: When installing symlinks, use "cp -fR", which
29143 works on FreeBSD and MacOSX.
29144 From Yves Blusseau <cl7m42e02@sneakemail.com>
29145
c8d22988 29146 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29147 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29148
1b96e952 29149 * util/misc.c: Move grub_reboot() and grub_halt() ...
29150 * util/grub-emu.c: ... here. Make main_env static.
29151 * include/grub/util/misc.h: Remove main_env.
29152
2ef0084d 29153 * kern/mm.c: Use correct format to print size_t.
29154
32622956 29155 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29156 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29157 * kern/powerpc/dl.c: Likewise.
29158 * kern/sparc64/dl.c: Likewise.
29159 * kern/x86_64/dl.c: Likewise.
29160
3f7f0cd0 291612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29162
29163 Fix grub-emu build on sparc64-ieee1275.
29164
75421ca9 29165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 29166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29167
211d06b5 291682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29169
29170 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29171 (grub_reboot, grub_halt): New functions.
29172
29173 * util/i386/pc/misc.c: Delete. Update all users.
29174 * util/sparc64/ieee1275/misc.c: Likewise.
29175 * util/powerpc/ieee1275/misc.c: Likewise.
29176
aaf53e3c 291772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29178
29179 * conf/i386.rmk (setjmp_mod_SOURCES)
29180 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29181 * conf/common.rmk (setjmp_mod_SOURCES)
29182 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29183 to use $(target_cpu).
29184 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29185 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29186 * conf/powerpc-ieee1275.rmk: Likewise.
29187 * conf/sparc64-ieee1275.rmk: Likewise.
29188
29189 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29190 $(target_cpu) for kern/$(target_cpu)/dl.c.
29191 * conf/i386-efi.rmk: Likewise.
29192 * conf/i386-ieee1275.rmk: Likewise.
29193 * conf/x86_64-efi.rmk: Likewise.
29194 * conf/i386-coreboot.rmk: Likewise.
29195 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29196 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29197 kern/$(target_cpu)/cache.S.
29198 * conf/sparc64-ieee1275.rmk: Likewise.
29199
a337130b 292002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29201
29202 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29203 type to `grub_uint8_t', and adjust `padding9' accordingly.
29204
c6fe4d53 292052009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29206
b09db61d 29207 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29208
c6fe4d53 29209 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29210 assembly in final jump, using register constraints.
29211
b09db61d 29212 (grub_linux_boot): For text mode, initialize `have_vga' using
29213 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29214
29215 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29216 right before the final jump.
29217
29218 Set `video_mode' to 0x3.
29219
29220 Document initialization of `video_page', `video_mode' and
29221 `video_ega_bx'.
29222
28333ad0 292232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29224
29225 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29226 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 29227 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 29228
02164e1b 292292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29230
29231 Fix build on Debian / sparc.
29232
29233 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29234
18b6c557 292352009-06-28 Pavel Roskin <proski@gnu.org>
29236
85f2aab6 29237 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29238 fix a warning.
29239
18b6c557 29240 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29241
ad760f81 292422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29243
29244 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29245 `err'.
29246
87a4623b 292472009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29248
29249 Revert r2338.
29250
29251 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29252 file can't be opened. grub_file_open() is already supposed to set
75421ca9 29253 grub_errno / grub_errmsg appropriately.
87a4623b 29254 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29255
8231fb77 292562009-06-27 Pavel Roskin <proski@gnu.org>
292572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29258
29259 * include/grub/dl.h: Include grub/elf.h.
29260 (struct grub_dl): Add symtab field.
29261 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29262 GRUB_MODULES_MACHINE_READONLY.
29263 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29264 of the header for read-only modules.
29265 (grub_dl_unload): Free mod->symtab for read-only modules.
29266 * kern/i386/dl.c: Use mod->symtab.
29267 * kern/powerpc/dl.c: Likewise.
29268 * kern/sparc64/dl.c: Likewise.
29269 * kern/x86_64/dl.c: Likewise.
29270
29271 * conf/i386-qemu.rmk: New file.
29272 * kern/i386/qemu/startup.S: Likewise.
29273 * kern/i386/qemu/mmap.c: Likewise.
29274 * boot/i386/qemu/boot.S: Likewise.
29275 * include/grub/i386/qemu/time.h: Likewise.
29276 * include/grub/i386/qemu/serial.h: Likewise.
29277 * include/grub/i386/qemu/kernel.h: Likewise.
29278 * include/grub/i386/qemu/console.h: Likewise.
29279 * include/grub/i386/qemu/boot.h: Likewise.
29280 * include/grub/i386/qemu/init.h: Likewise.
29281 * include/grub/i386/qemu/machine.h: Likewise.
29282 * include/grub/i386/qemu/loader.h: Likewise.
29283 * include/grub/i386/qemu/memory.h: Likewise.
29284
29285 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29286 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29287 [qemu] (pkglib_IMAGES): Add `boot.img'.
29288 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29289 [qemu] (boot_img_FORMAT): New variables.
29290 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29291 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29292 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29293 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29294 [qemu] (kernel_img_FORMAT): New variables.
29295
29296 * configure.ac: Recognise `i386-qemu'.
29297
29298 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29299 (for no compression).
29300 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29301 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29302 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29303 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29304 ifdefs).
29305
97fe384e 293062009-06-27 Pavel Roskin <proski@gnu.org>
29307
29308 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29309 read.
29310 * efiemu/prepare32.c: Likewise.
29311 * efiemu/prepare64.c: Likewise.
29312
c402ab17 293132009-06-26 Pavel Roskin <proski@gnu.org>
29314
29315 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29316 * include/grub/elf.h: Define symbols without "32" or "64" based
29317 on GRUB_TARGET_WORDSIZE.
29318 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29319 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29320 ELF definitions.
29321 * efiemu/loadcore64.c: Likewise.
29322 * loader/i386/bsd32.c: Likewise.
29323 * loader/i386/bsd64.c: Likewise.
29324 * kern/dl.c: Remove own ELF definitions.
29325 * util/i386/efi/grub-mkimage.c: Likewise.
29326
9bbdfd4d 293272009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29328
29329 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29330 segment 0x0 unconditionally, because the reference generated by
29331 GAS is an absolute address.
29332
a42ce6e9 293332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29334
29335 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29336 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29337
c952cf92 293382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29339
29340 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29341 indexes. Check for -f explicitly.
cc3752ad 29342 (search_file): Improve error message.
29343 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29344
132a0a59 293452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29346
29347 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29348 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29349
387a140c 293502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29351
29352 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29353 * conf/i386-ieee1275.rmk: Likewise.
29354 * conf/i386-coreboot.rmk: Likewise.
29355
29356 * kern/i386/pc/startup.S (grub_stop): Remove function.
29357 * kern/i386/ieee1275/startup.S: Likewise.
29358 * kern/i386/coreboot/startup.S: Likewise.
29359 * kern/i386/misc.S (grub_stop): New function.
29360
41da9665 293612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29362
29363 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29364 * kern/i386/realmode.S (real_to_prot): ... to here.
29365
bf337234 293662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29367
29368 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29369 with `kernel.img'.
29370 (kernel_elf_SOURCES): Rename to ...
29371 (kernel_img_SOURCES): ... this.
29372 (kernel_elf_HEADERS): Rename to ...
29373 (kernel_img_HEADERS): ... this. Update all users.
29374 (kernel_elf_ASFLAGS): Rename to ...
29375 (kernel_img_ASFLAGS): ... this.
29376 (kernel_elf_CFLAGS): Rename to ...
29377 (kernel_img_CFLAGS): ... this.
29378 (kernel_elf_LDFLAGS): Rename to ...
29379 (kernel_img_LDFLAGS): ... this.
29380 * conf/i386-coreboot.rmk: Likewise.
29381 * conf/powerpc-ieee1275.rmk: Likewise.
29382
29383 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29384 with "kernel.img".
29385
f52196ff 293862009-06-21 Pavel Roskin <proski@gnu.org>
29387
c3cee413 29388 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29389 to match nested functions.
29390 * loader/sparc64/ieee1275/linux.c: Likewise.
29391
f52196ff 29392 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29393
58750afc 293942009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29395
29396 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29397 all i386 platforms.
29398
15355c7d 293992009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29400
29401 Fix asm file handling on ELF, and remove workarounds.
29402
29403 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29404 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29405 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29406 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29407
3f3ec72b 294082009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 Load BSD ELF modules
29411
29412 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29413 and loader/i386/bsd64.c
29414 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29415 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29416 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29417 (grub_freebsd_load_elfmodule32): New declaration
29418 (grub_freebsd_load_elfmoduleobj64): Likewise
29419 (grub_freebsd_load_elf_meta32): Likewise
29420 (grub_freebsd_load_elf_meta64): Likewise
29421 (grub_freebsd_add_meta): Likewise
29422 (grub_freebsd_add_meta_module): Likewise
29423 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29424 (grub_freebsd_add_meta_module): Likewise and move module-specific
29425 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29426 (grub_cmd_freebsd): Add elf-kernel specific parts
29427 based on grub_freebsd_add_meta_module
29428 (grub_cmd_freebsd_module): Add type parsing moved from
29429 grub_freebsd_add_meta_module
29430 (grub_cmd_freebsd_module_elf): New function
29431 (cmd_freebsd_module_elf): New variable
29432 (GRUB_MOD_INIT): Register freebsd_module_elf
29433 * loader/i386/bsd32.c: New file
29434 * loader/i386/bsd64.c: Likewise
29435 * loader/i386/bsdXX.c: Likewise
29436 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29437 (grub_elf64_load): Likewise
29438 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29439 All users updated
29440 (grub_elf64_load_hook_t): Likewise
29441
0db15301 294422009-06-21 Colin Watson <cjwatson@ubuntu.com>
29443
29444 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29445 variable.
29446 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29447 don't write a menu entry for recovery mode.
29448
546796c1 294492009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29450
29451 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29452 after it's no longer needed.
29453
cd7310d5 294542009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29455
29456 * include/grub/i386/loader.h (grub_linux_prot_size)
29457 (grub_linux_tmp_addr, grub_linux_real_addr)
29458 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29459 GRUB_MACHINE_PCBIOS.
29460 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29461 common grub_util_info() call to ...
29462 (generate_image): ... here.
29463 Fix use of uninitialized memory, comparison of signed with
29464 unsigned integers and memory leak.
29465 Remove bogus module address message.
29466
ab32d3b5 294672009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29468
29469 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29470 grub_raid_register
29471 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29472
024ef597 294732009-06-19 Pavel Roskin <proski@gnu.org>
29474
29475 * configure.ac: Remove stray AC_MSG_CHECKING.
29476
3ac72b51 294772009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29478
29479 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29480
e14cd814 294812009-06-18 Pavel Roskin <proski@gnu.org>
29482
29483 * conf/common.rmk: Add fs_file.mod.
29484 * disk/fs_file.c: New file.
29485 * include/grub/disk.h (enum grub_disk_dev_id): Add
29486 GRUB_DISK_DEVICE_FILE_ID.
29487
26586d98 294882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29489
29490 Fix build with Apple's toolchain. Part 2
29491
29492 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29493 a fake start
29494
26de2bcd 294952009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29496
29497 Fix build with Apple's toolchain. Part 1
29498
29499 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29500 for long calls
29501 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29502 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29503 Apple's toolchain
29504
09b3490b 295052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29506
29507 Fix warnings
29508
29509 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29510 (decomp_block): initialize ch
29511 use grub_memcpy instead of memcpy
29512
c22a006a 295132009-06-17 Pavel Roskin <proski@gnu.org>
29514
d3638678 29515 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29516 version, use declarations needed to use vga_text as the startup
29517 console.
29518
c22a006a 29519 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29520 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29521 the kernel.
29522 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29523 and grub_at_keyboard_fini(), it's done on module load and
29524 unload.
29525
05b129e0 295262009-06-17 Felix Zielcke <fzielcke@z-51.de>
29527
29528 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29529 file can't be found.
29530 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29531
cf24ed9e 295322009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29533
29534 Fix newline handling
29535
29536 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29537 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29538 (grub_script_yylex): don't segfault on unterminated script
29539 newline terminates command and variable
29540
74aa8e4b 295412009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29542
29543 avoid double grub_adjust_range call. Bug reported by David Simner
29544
29545 * kern/disk.c (grub_disk_write): change to raw disk access before
29546 calling disk_read
29547
1bd265f3 295482009-06-17 Colin Watson <cjwatson@ubuntu.com>
29549
29550 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29551 spaces, for the benefit of help2man.
29552 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29553
a2d08c06 295542009-06-16 Pavel Roskin <proski@gnu.org>
29555
29556 * kern/i386/halt.c: Include grub/machine/init.h.
29557 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29558
b97bcb19 295592009-06-16 Felix Zielcke <fzielcke@z-51.de>
29560
29561 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29562 drivemap menuentry.
29563
0644f96c 295642009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29565
29566 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29567 `echo' command.
29568
3ef17a2e 295692009-06-16 Pavel Roskin <proski@gnu.org>
29570
29571 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29572 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29573 save %dx, we only need %dl and we never change it.
29574 * boot/i386/pc/cdboot.S: Don't set the root drive.
29575 * boot/i386/pc/pxeboot.S: Likewise.
29576 * include/grub/i386/pc/boot.h: Remove
29577 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29578 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29579 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29580 * kern/i386/pc/init.c (make_install_device): Remove references
29581 to grub_root_drive.
29582 * kern/i386/pc/startup.S: Likewise.
29583 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29584
693fe637 295852009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29586
29587 xnu_uuid command
29588
29589 * commands/xnu_uuid.c: new file
29590 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29591 (xnu_uuid_mod_SOURCES): new variable
29592 (xnu_uuid_mod_CFLAGS): likewise
29593 (xnu_uuid_mod_LDFLAGS): likewise
29594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29595 * conf/i386-ieee1275.rmk: likewise
29596 * conf/i386-pc.rmk: likewise
29597 * conf/powerpc-ieee1275.rmk: likewise
29598 * conf/sparc64-ieee1275.rmk: likewise
29599 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29600
c9da87d0 296012009-06-16 Pavel Roskin <proski@gnu.org>
29602
29603 * configure.ac: Avoid '==' in test command, it's not portable.
29604
9c6f4596 296052009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29606
29607 Probe command
29608
29609 * commands/probe.c: new file
29610 * conf/common.rmk (pkglib_MODULES): add probe.mod
29611 (probe_mod_SOURCES): new variable
29612 (probe_mod_CFLAGS): likewise
29613 (probe_mod_LDFLAGS): likewise
29614 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29615 * conf/i386-ieee1275.rmk: likewise
29616 * conf/i386-pc.rmk: likewise
29617 * conf/powerpc-ieee1275.rmk: likewise
29618 * conf/sparc64-ieee1275.rmk: likewise
29619
70b7f9fd 296202009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29621
29622 Fix handling of string like \"hello\" and "a
29623 b"
29624
29625 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29626 (grub_script_yylex): fix parsing of quoting, escaping and newline
29627
71c79a6b 296282009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29629
dd74360c 29630 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29631 handling
dd74360c 29632
0644f96c 296332009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29634
29635 * util/grub-mkconfig.in: Fix parsing of --output option.
29636
e40893c3 296372009-06-12 Pavel Roskin <proski@gnu.org>
29638
29639 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29640 genmk.rb don't need to be generated or installed.
29641
3a1acfe2 296422009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29643
29644 * commands/i386/pc/drivemap_int13h.S: add more comments
29645
3a4575d4 296462009-06-11 Pavel Roskin <proski@gnu.org>
29647
0658e928 29648 * Makefile.in (uninstall): Uninstall manuals.
29649
ca0388f0 29650 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29651 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29652 and update-grub_lib in two places.
29653 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29654
e3b27c39 29655 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29656 a compiler warning.
29657
3a4575d4 29658 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29659 `entry_lo' to fix variable shadowing.
29660
af1f4f55 296612009-06-11 Christian Franke <franke@computer.org>
29662
29663 * kern/misc.c (__enable_execute_stack): Add missing return type
29664 to prevent gcc warning.
29665
5225e649 296662009-06-11 Felix Zielcke <fzielcke@z-51.de>
29667
29668 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29669
7d83bd47 296702009-06-11 Pavel Roskin <proski@gnu.org>
29671
c1cb63ba 29672 * Makefile.in: Don't rely on any scripts being executable.
29673 Always use $(SHELL) to run shell scripts.
29674
7d83bd47 29675 * configure.ac: Always define ___main if using -nostdlib. This
29676 fixes tests on Cygwin.
29677
948f48e7 296782009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29679
29680 UDF fix
29681
7d83bd47 29682 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29683 is in bytes and not in blocks
7d83bd47 29684
8ada9bc1 296852009-06-11 Pavel Roskin <proski@gnu.org>
29686
29687 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29688 warning.
29689
25ad2323 296902009-06-11 Felix Zielcke <fzielcke@z-51.de>
29691
29692 * util/grub.d/30_os-prober.in: Fix a comment. Source
29693 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29694 to set the root device. Place drivemap command in the generated
29695 chain entry.
29696
e65acb0c 296972009-06-11 Pavel Roskin <proski@gnu.org>
29698
29699 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29700 have long been resolved.
29701
f285fe2d 297022009-06-11 Colin Watson <cjwatson@ubuntu.com>
29703
bd47b0b5 29704 * util/grub.d/10_linux.in: Capitalise "Linux".
29705
f285fe2d 29706 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29707
a0c62e4e 297082009-06-11 Pavel Roskin <proski@gnu.org>
29709
b6783cb2 29710 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29711 fix a gcc warning and ensure that the function won't ever exit.
29712
dde032e8 29713 * kern/i386/ieee1275/init.c: Add missing prototype for
29714 grub_stop_floppy().
29715
22cd079d 29716 * loader/ieee1275/multiboot2.c [__i386__]: Include
29717 grub/cpu/multiboot.h.
29718
a0c62e4e 29719 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29720 casts to short - they are not portable and cause warnings. Fix
29721 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29722
63963d17 297232009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29724
29725 Drivemap fixes
29726
29727 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29728 new function
29729 (grub_get_root_biosnumber_saved): new variable
29730 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29731 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29732 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29733 %dx after the call if necessary
29734 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29735 (boot_mod_SOURCES): remove
29736 (boot_mod_CFLAGS): remove
29737 (boot_mod_LDFLAGS): remove
29738 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29739 (boot_mod_SOURCES): new variable
29740 (boot_mod_CFLAGS): likewise
29741 (boot_mod_LDFLAGS): likewise
29742 * conf/i386-efi.rmk: likewise
29743 * conf/i386-ieee1275.rmk: likewise
29744 * conf/i386-pc.rmk: likewise
29745 * conf/powerpc-ieee1275.rmk: likewise
29746 * conf/sparc64-ieee1275.rmk: likewise
29747 * conf/x86_64-efi.rmk: likewise
29748 * include/grub/i386/pc/biosnum.h: new file
29749 * lib/i386/pc/biosnum.c: likewise
29750 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29751 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29752 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29753
33abf7ae 297542009-06-10 Pavel Roskin <proski@gnu.org>
29755
5ac35b35 29756 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29757 Use separate variables. Read only the file size at the end, but
29758 not the checksum that we don't use.
29759
5c5215d5 29760 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29761 Adjust all callers.
29762
27d5fef7 29763 * kern/ieee1275/openfw.c: Remove libc includes.
29764 * kern/ieee1275/cmain.c: Likewise.
29765 * include/grub/ieee1275/ieee1275.h: Likewise.
29766
33abf7ae 29767 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29768 compiler warnings.
29769
19d50c2b 297702009-06-10 Felix Zielcke <fzielcke@z-51.de>
29771
29772 * Makefile.in: Remove all trailing whitespace.
29773 * conf/i386-pc.rmk: Likewise.
29774 * conf/powerpc-ieee1275.rmk: Likewise.
29775 * conf/sparc64-ieee1275.rmk: Likewise.
29776 * docs/grub.texi: Likewise.
29777 * docs/texinfo.tex: Likewise.
29778 * disk/fs_uuid.c: Likewise.
29779 * disk/lvm.c: Likewise.
29780 * disk/scsi.c: Likewise.
29781 * disk/ata.c: Likewise.
29782 * disk/ieee1275/ofdisk.c: Likewise.
29783 * disk/i386/pc/biosdisk.c: Likewise.
29784 * disk/host.c: Likewise.
29785 * disk/raid.c: Likewise.
29786 * disk/efi/efidisk.c: Likewise.
29787 * disk/usbms.c: Likewise.
29788 * disk/memdisk.c: Likewise.
29789 * disk/loopback.c: Likewise.
29790 * kern/powerpc/dl.c: Likewise.
29791 * kern/device.c: Likewise.
29792 * kern/dl.c: Likewise.
29793 * kern/sparc64/dl.c: Likewise.
29794 * kern/ieee1275/ieee1275.c: Likewise.
29795 * kern/term.c: Likewise.
29796 * kern/fs.c: Likewise.
29797 * kern/i386/dl.c: Likewise.
29798 * kern/i386/pc/startup.S: Likewise.
29799 * kern/i386/pc/init.c: Likewise.
29800 * kern/i386/pc/mmap.c: Likewise.
29801 * kern/i386/pc/lzo1x.S: Likewise.
29802 * kern/i386/ieee1275/init.c: Likewise.
29803 * kern/i386/realmode.S: Likewise.
29804 * kern/i386/tsc.c: Likewise.
29805 * kern/partition.c: Likewise.
29806 * kern/corecmd.c: Likewise.
29807 * kern/file.c: Likewise.
29808 * kern/efi/efi.c: Likewise.
29809 * kern/efi/init.c: Likewise.
29810 * kern/efi/mm.c: Likewise.
29811 * kern/main.c: Likewise.
29812 * kern/err.c: Likewise.
29813 * kern/env.c: Likewise.
29814 * kern/disk.c: Likewise.
29815 * kern/generic/millisleep.c: Likewise.
29816 * kern/generic/rtc_get_time_ms.c: Likewise.
29817 * kern/misc.c: Likewise.
29818 * kern/parser.c: Likewise.
29819 * genmk.rb: Likewise.
29820 * configure.ac: Likewise.
29821 * boot/i386/pc/diskboot.S: Likewise.
29822 * boot/i386/pc/pxeboot.S: Likewise.
29823 * boot/i386/pc/boot.S: Likewise.
29824 * boot/i386/pc/lnxboot.S: Likewise.
29825 * boot/i386/pc/cdboot.S: Likewise.
29826 * parttool/pcpart.c: Likewise.
29827 * video/readers/tga.c: Likewise.
29828 * video/video.c: Likewise.
29829 * video/bitmap.c: Likewise.
29830 * lib/envblk.c: Likewise.
29831 * lib/i386/setjmp.S: Likewise.
29832 * fs/xfs.c: Likewise.
29833 * fs/afs.c: Likewise.
29834 * fs/fat.c: Likewise.
29835 * fs/ntfs.c: Likewise.
29836 * fs/udf.c: Likewise.
29837 * fs/affs.c: Likewise.
29838 * fs/iso9660.c: Likewise.
29839 * fs/hfs.c: Likewise.
29840 * fs/fshelp.c: Likewise.
29841 * fs/ext2.c: Likewise.
29842 * fs/jfs.c: Likewise.
29843 * fs/reiserfs.c: Likewise.
29844 * fs/hfsplus.c: Likewise.
29845 * fs/minix.c: Likewise.
29846 * fs/cpio.c: Likewise.
29847 * fs/sfs.c: Likewise.
29848 * fs/ufs.c: Likewise.
29849 * efiemu/prepare.c: Likewise.
29850 * efiemu/loadcore_common.c: Likewise.
29851 * efiemu/runtime/efiemu.sh: Likewise.
29852 * efiemu/runtime/efiemu.S: Likewise.
29853 * efiemu/runtime/efiemu.c: Likewise.
29854 * efiemu/pnvram.c: Likewise.
29855 * efiemu/main.c: Likewise.
29856 * efiemu/i386/pc/cfgtables.c: Likewise.
29857 * efiemu/i386/loadcore64.c: Likewise.
29858 * efiemu/i386/loadcore32.c: Likewise.
29859 * efiemu/loadcore.c: Likewise.
29860 * efiemu/symbols.c: Likewise.
29861 * efiemu/mm.c: Likewise.
29862 * include/grub/autoefi.h: Likewise.
29863 * include/grub/datetime.h: Likewise.
29864 * include/grub/term.h: Likewise.
29865 * include/grub/hfs.h: Likewise.
29866 * include/grub/lvm.h: Likewise.
29867 * include/grub/i386/tsc.h: Likewise.
29868 * include/grub/i386/linux.h: Likewise.
29869 * include/grub/i386/xnu.h: Likewise.
29870 * include/grub/i386/efiemu.h: Likewise.
29871 * include/grub/i386/pc/biosdisk.h: Likewise.
29872 * include/grub/i386/pc/memory.h: Likewise.
29873 * include/grub/i386/pc/vbe.h: Likewise.
29874 * include/grub/parttool.h: Likewise.
29875 * include/grub/video.h: Likewise.
29876 * include/grub/memory.h: Likewise.
29877 * include/grub/fs.h: Likewise.
29878 * include/grub/partition.h: Likewise.
29879 * include/grub/xnu.h: Likewise.
29880 * include/grub/efi/api.h: Likewise.
29881 * include/grub/efi/pe32.h: Likewise.
29882 * include/grub/efi/memory.h: Likewise.
29883 * include/grub/multiboot.h: Likewise.
29884 * include/grub/usbdesc.h: Likewise.
29885 * include/grub/multiboot2.h: Likewise.
29886 * include/grub/acpi.h: Likewise.
29887 * include/grub/efiemu/efiemu.h: Likewise.
29888 * include/grub/disk.h: Likewise.
29889 * include/grub/ieee1275/ieee1275.h: Likewise.
29890 * include/grub/net.h: Likewise.
29891 * include/grub/machoload.h: Likewise.
29892 * include/grub/macho.h: Likewise.
29893 * include/multiboot.h: Likewise.
29894 * genmoddep.awk: Likewise.
29895 * normal/main.c: Likewise.
29896 * normal/menu_entry.c: Likewise.
29897 * normal/menu_viewer.c: Likewise.
29898 * normal/completion.c: Likewise.
29899 * normal/cmdline.c: Likewise.
29900 * normal/misc.c: Likewise.
29901 * normal/datetime.c: Likewise.
29902 * bus/usb/usbtrans.c: Likewise.
29903 * bus/usb/ohci.c: Likewise.
29904 * bus/usb/uhci.c: Likewise.
29905 * bus/usb/usb.c: Likewise.
29906 * mmap/efi/mmap.c: Likewise.
29907 * mmap/i386/pc/mmap_helper.S: Likewise.
29908 * mmap/i386/pc/mmap.c: Likewise.
29909 * mmap/i386/mmap.c: Likewise.
29910 * mmap/i386/uppermem.c: Likewise.
29911 * mmap/mmap.c: Likewise.
29912 * commands/acpi.c: Likewise.
29913 * commands/echo.c: Likewise.
29914 * commands/blocklist.c: Likewise.
29915 * commands/loadenv.c: Likewise.
29916 * commands/usbtest.c: Likewise.
29917 * commands/boot.c: Likewise.
29918 * commands/parttool.c: Likewise.
29919 * commands/search.c: Likewise.
29920 * commands/cat.c: Likewise.
29921 * commands/i386/pc/play.c: Likewise.
29922 * commands/i386/pc/drivemap.c: Likewise.
29923 * commands/i386/pc/vbeinfo.c: Likewise.
29924 * commands/i386/pc/acpi.c: Likewise.
29925 * commands/i386/pc/vbetest.c: Likewise.
29926 * commands/ls.c: Likewise.
29927 * commands/cmp.c: Likewise.
29928 * commands/test.c: Likewise.
29929 * commands/efi/acpi.c: Likewise.
29930 * commands/gptsync.c: Likewise.
29931 * commands/help.c: Likewise.
29932 * partmap/amiga.c: Likewise.
29933 * partmap/apple.c: Likewise.
29934 * partmap/acorn.c: Likewise.
29935 * partmap/pc.c: Likewise.
29936 * partmap/sun.c: Likewise.
29937 * partmap/gpt.c: Likewise.
29938 * script/sh/lexer.c: Likewise.
29939 * script/sh/function.c: Likewise.
29940 * font/font.c: Likewise.
29941 * font/font_cmd.c: Likewise.
29942 * loader/powerpc/ieee1275/linux.c: Likewise.
29943 * loader/efi/chainloader.c: Likewise.
29944 * loader/multiboot_loader.c: Likewise.
29945 * loader/macho.c: Likewise.
29946 * loader/i386/multiboot.c: Likewise.
29947 * loader/i386/linux.c: Likewise.
29948 * loader/i386/pc/linux.c: Likewise.
29949 * loader/i386/pc/multiboot2.c: Likewise.
29950 * loader/i386/pc/chainloader.c: Likewise.
29951 * loader/i386/pc/xnu.c: Likewise.
29952 * loader/i386/bsd_trampoline.S: Likewise.
29953 * loader/i386/efi/linux.c: Likewise.
29954 * loader/i386/multiboot_elfxx.c: Likewise.
29955 * loader/i386/bsd_helper.S: Likewise.
29956 * loader/i386/bsd.c: Likewise.
29957 * loader/i386/linux_trampoline.S: Likewise.
29958 * loader/i386/xnu_helper.S: Likewise.
29959 * loader/i386/xnu.c: Likewise.
29960 * loader/i386/bsd_pagetable.c: Likewise.
29961 * loader/i386/multiboot_helper.S: Likewise.
29962 * loader/xnu.c: Likewise.
29963 * loader/xnu_resume.c: Likewise.
29964 * io/gzio.c: Likewise.
29965 * term/efi/console.c: Likewise.
29966 * term/terminfo.c: Likewise.
29967 * term/ieee1275/ofconsole.c: Likewise.
29968 * term/i386/pc/serial.c: Likewise.
29969 * term/i386/pc/vesafb.c: Likewise.
29970 * term/i386/pc/vga.c: Likewise.
29971 * term/usb_keyboard.c: Likewise.
29972 * term/gfxterm.c: Likewise.
29973 * aclocal.m4: Likewise.
29974 * util/lvm.c: Likewise.
29975 * util/grub.d/30_os-prober.in: Likewise.
29976 * util/grub.d/10_hurd.in: Likewise.
29977 * util/console.c: Likewise.
29978 * util/grub-macho2img.c: Likewise.
29979 * util/grub-probe.c: Likewise.
29980 * util/hostfs.c: Likewise.
29981 * util/i386/pc/grub-mkimage.c: Likewise.
29982 * util/i386/pc/grub-setup.c: Likewise.
29983 * util/i386/efi/grub-mkimage.c: Likewise.
29984 * util/grub-mkconfig.in: Likewise.
29985 * util/raid.c: Likewise.
29986 * util/resolve.c: Likewise.
29987 * util/grub-mkdevicemap.c: Likewise.
29988 * util/grub-emu.c: Likewise.
29989 * util/getroot.c: Likewise.
29990 * util/hostdisk.c: Likewise.
29991 * util/usb.c: Likewise.
29992 * util/grub-editenv.c: Likewise.
29993 * util/misc.c: Likewise.
29994
d2d49665 299952009-06-10 Felix Zielcke <fzielcke@z-51.de>
29996
29997 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29998 `genparttoollist.sh'.
29999 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30000 Add `*.sh' to the list find searches for and change `mdate.sh'
30001 to `mdate-sh'.
30002
fe052e37 300032009-06-10 Pavel Roskin <proski@gnu.org>
30004
2763ac18 30005 * include/grub/multiboot2.h: Provide compatibility defines for
30006 multiboot2.h.
30007 * include/multiboot2.h: Include stdint.h only if needed, using
30008 angle brackets.
30009 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30010 grub/multiboot2.h.
30011 * loader/ieee1275/multiboot2.c: Likewise.
30012 * loader/multiboot2.c: Likewise.
30013 * loader/multiboot_loader.c: Likewise.
30014
437e6adc 30015 * configure.ac: Use -nostdlib when probing for the target. It
30016 should not be required to have libc for the target.
30017
06a6836c 30018 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30019 they fail without libc headers for the target.
30020 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30021 exports.
30022 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30023 preprocessor conditionals.
30024
fe052e37 30025 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30026 build system doesn't need to be aware of the tar.c internals.
30027
afd22553 300282009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 30029
afd22553 30030 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 30031
6b787c4f 300322009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30033
30034 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30035 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30036
300372009-06-09 Felix Zielcke <fzielcke@z-51.de>
30038
30039 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 30040 aren't available if ata.mod gets used.
6b787c4f 30041
473d1e45 300422009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 30043
473d1e45 30044 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 30045 initialising controller.
473d1e45 30046 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 30047
255a27d4 300482009-06-08 Felix Zielcke <fzielcke@z-51.de>
30049
30050 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30051 to choose between ata and biosdisk module on i386-pc.
30052
473d1e45 300532009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 30054
d55842d8 30055 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30056 Subclass and Programming Interface fields in terms of the 3 byte
30057 Class Code register.
30058 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30059
fa5db0b1 30060 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30061 interface is OHCI. Add grub_dprintf for symmetry with
30062 bus/usb/uhci.c.
30063 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30064 interface is UHCI. Add interf variable for programming
30065 interface. Print interface with class/subclass.
30066
c0947beb 30067 * bus/usb/ohci.c: Set interf with correct field.
30068
69da8877 30069 * bus/usb/uhci.c: Remove unneeded doubled lines.
30070 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30071 Remove whitespace inside comment.
30072
9e172e30 300732009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30074
30075 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30076 as fallback an equivalent option without depth.
30077
de65ee2b 300782009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30079
30080 Not fail if unable to retrieve C/H/S on LBA disks
30081
473d1e45 30082 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 30083 if unable to retrieve C/H/S on LBA disks
30084
b57ea2c9 300852009-06-08 Pavel Roskin <proski@gnu.org>
30086
30087 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30088 about aliasing.
30089
af361263 300902009-06-08 Felix Zielcke <fzielcke@z-51.de>
30091
30092 * Makefile.in (uninstall): Remove all $lib_DATA files.
30093
4c9ec6b3 300942009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30095
30096 Bugfix: install on partitionless device
30097
30098 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30099 is a whole disk
30100
e76fc924 301012009-06-08 Felix Zielcke <fzielcke@z-51.de>
30102
30103 * Makefile.in (uninstall): Remove all $include_DATA files.
30104
ba5a0d05 301052009-06-08 Felix Zielcke <fzielcke@z-51.de>
30106
30107 * commands/true.c: New file. Implement the true and false commands.
30108 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30109 (true_mod_SOURCES): New variable.
30110 (true_mod_CFLAGS): Likewise.
30111 (true_mod_LDFLAGS): Likewise.
30112
c8048e32 301132009-06-05 Colin D Bennett <colin@gibibit.com>
30114
30115 Optimized font character lookup using binary search instead of linear
30116 search. Fonts now are required to have the character index ordered by
30117 code point.
30118
30119 * font/font.c (load_font_index): Verify that fonts have ordered
30120 character indices.
30121 (find_glyph): Use binary search instead of linear search to find a
30122 character in a font.
30123
408305be 301242009-06-05 Michael Scherer <misc@mandriva.org>
30125
30126 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30127 uses case sensitive btree.
30128 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30129 only for case insensitive filesystems.
30130
8ee1e0d9 301312009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30132
30133 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30134 * conf/common.rmk (search_mod_CFLAGS): likewise
30135
a9966eb1 301362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30137
473d1e45 30138 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 30139 compensate a compiler bug
30140
9e7100fb 301412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30142
473d1e45 30143 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 30144 instead of '\b'
473d1e45 30145
ede21d71 301462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30147
30148 Definitions for creating asm symbols with Apple's CC
30149
30150 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30151 [APPLE_CC] (VARIABLE): likewise
30152
9dbf7653 301532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30154
30155 Disable lnxboot.img when compiled
30156 with Apple's CC
30157
30158 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30159 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30160 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30161 [! APPLE_CC] (CODE_LENG): skip
30162 [! APPLE_CC] (setup_sects): likewise
30163 [! APPLE_CC]: skip filling
473d1e45 30164
e93cdc3d 301652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30166
30167 Address in trampolines based on 32-bit registers when compiled
30168 with Apple's CC
30169
473d1e45 30170 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 30171 for addresses
30172 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30173
6c688477 301742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30175
30176 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30177
30178 * kern/misc.c [APPLE_CC] (memcpy): new function
30179 [APPLE_CC] (memmove): likewise
30180 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 30181 (memcpy): define alias conditionally on !APPLE_CC
6c688477 30182 (memset): likewise
30183 (abort): likewise
30184 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30185 APPLE_CC are defined
30186 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30187 (grub_assert_fail): make prototype conditional
30188
e37ffc5c 301892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30190
30191 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30192
473d1e45 30193 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30194 grub-macho2img
e37ffc5c 30195 (CLEANFILES): add grub-macho2img
30196 (grub_macho2img_SOURCES): new variable
30197 * kern/i386/pc/startup.S (bss_start): new variable
30198 (bss_end): likewise
30199 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30200 * util/grub-macho2img.c: new file
30201
cf00df31 302022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 Use objconv when compiling with Apple's CC
30205
30206 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30207 (efiemu64.o): likewise
30208 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30209 when compiling with Apple's CC
30210 (efiemu64_s.o): likewise
30211 * configure.ac: check for objconv when compiling with Apple's CC
30212 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 30213
d119a20c 302142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30215
30216 Define segment as well as section when compiling with
30217 Apple's CC
30218
30219 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30220 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30221 (efiemu_convert_pointer): likewise
30222 (efiemu_set_virtual_address_map): likewise
30223 (efiemu_convert_pointer): likewise
30224 (efiemu_getcrc32): likewise
30225 (init_crc32_table): likewise
30226 (reflect): likewise
30227 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30228 (GRUB_MOD_DEP): likewise
473d1e45 30229
c8600122 302302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30231
30232 Allow a compilation without -mcmodel=large
30233
30234 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30235 when compiled without -mcmodel=large
473d1e45 30236 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 30237 without -mcmodel=large
473d1e45 30238 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 30239 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 30240
e8df1d4e 302412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30242
30243 Remove nested functions in efiemu core
30244
30245 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 30246
cc6c3ac1 302472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30248
30249 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30250
30251 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30252 temporary storage
473d1e45 30253 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30254 using Apple's CC
cc6c3ac1 30255 (grub_cpu_is_tsc_supported): likewise
30256 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 30257
3e325901 302582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30259
30260 Absolute addressing through constant with Apple's cc
30261
30262 * kern/i386/pc/startup.S: Define necessary constants
30263 and address through it when using ABS with Apple's CC
30264 * boot/i386/pc/diskboot.S: likewise
30265 * boot/i386/pc/boot.S: likewise
30266 * boot/i386/pc/lnxboot.S: likewise
30267 * boot/i386/pc/cdboot.S: likewise
30268 * mmap/i386/pc/mmap_helper.S: likewise
30269 * commands/i386/pc/drivemap_int13h.S: likewise
30270
2b167a72 302712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30272
30273 Check if compiler is apple cc
30274
30275 * Makefile.in (ASFLAGS): new variable
30276 (TARGET_ASFLAGS): likewise
30277 (TARGET_MODULE_FORMAT): likewise
30278 (TARGET_APPLE_CC): likewise
30279 (OBJCONV): likewise
30280 (TARGET_IMG_CFLAGS): likewise
30281 (TARGET_CPPFLAGS): add includedir
30282 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30283 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30284 Check for linker script only if compiler isn't Apple's CC
30285 (TARGET_MODULE_FORMAT): set
30286 (TARGET_APPLE_CC): likewise
30287 (TARGET_ASFLAGS): likewise
30288 (ASFLAGS): likewise
30289 Check for objcopy only if compiler isn't Apple's CC
30290 Check for BSS symbol only if compiler isn't Apple's CC
30291 * genmk.rb: adapt nm options if we use Apple's utils
30292 * aclocal.m4 (grub_apple_cc): new test
30293 (grub_apple_target_cc): likewise
473d1e45 30294
fb14123e 302952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30296
30297 Simplify sed expressions and improve awk
30298
30299 * Makefile.in (install-local): simplify sed expression
30300 * gencmdlist.sh: likewise
30301 * genmoddep.awk: avoid adding module as a dependency of itself
30302
5b889789 303032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30304
30305 Add missing start symbols
30306
30307 * boot/i386/pc/boot.S: add start
fb14123e 30308 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30309
fd2bf2e3 303102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30313
30314 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30315 (relocate_addresses): consider both r_addend and value at offset
30316 (make_mods_section): zerofill modinfo and header
30317 (convert_elf): write prefix here
473d1e45 30318
5389763d 303192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30320
30321 Use .asciz instead of .string
30322
30323 * i386/pc/diskboot.S: use .asciz instead of .string
30324 * i386/pc/boot.S: likewise
30325 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30326 (GRUB_MOD_NAME): likewise
473d1e45 30327
3eb5ed4e 303282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30329
30330 gfxpayload support
30331
30332 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30333 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30334 (grub_video_setup): remove
30335 (grub_video_set_mode): new prototype
30336 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30337 (vid_mode): remove
30338 (linux_vesafb_res): compile only on PCBIOS
30339 (grub_linux_boot): support gfxpayload
30340 * loader/i386/pc/xnu.c (video_hook): new function
30341 (grub_xnu_set_video): support gfxpayload
30342 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30343 (DEFAULT_VIDEO_HEIGHT): likewise
30344 (DEFAULT_VIDEO_FLAGS): likewise
30345 (DEFAULT_VIDEO_MODE): new definition
30346 (video_hook): new function
30347 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30348 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30349 loading xnu
30350 * video/video.c (grub_video_setup): removed
473d1e45 30351 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30352 grub_video_setup
30353
4b0e1143 303542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30355
30356 Avoid calling biosdisk in drivemap
30357
30358 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30359 (revparse_biosdisk): likewise
30360 (list_mappings): derive name from id directly
30361 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30362
fda6cb98 303632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30364
30365 Script fixes
30366
30367 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30368 (grub_lexer_param): add tokenonhold
30369 (grub_script_create_cmdline): remove cmdline. All callers updated
30370 (grub_script_function_create): make functionname
30371 grub_script_arg. All callers updated
30372 (grub_script_execute_argument_to_string): new prototype
30373 * kern/parser.c (state_transitions): reorder
30374 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30375 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30376 make global
30377 (grub_script_execute_cmdline): use new format
30378 * script/sh/function.c (grub_script_function_create): make functionname
30379 grub_script_arg. All callers updated
473d1e45 30380 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30381 (grub_script_yylex): remove
30382 (grub_script_yylex2): renamed to ...
30383 (grub_script_yylex): ...renamed
30384 parse the expressions like a${b}c
30385 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30386 (GRUB_PARSER_TOKEN_VAR): remove
30387 (GRUB_PARSER_TOKEN_NAME): likewise
30388 ("if"): declare as typeless
30389 ("while"): likewise
30390 ("function"): likewise
30391 ("else"): likewise
30392 ("then"): likewise
30393 ("fi"): likewise
30394 (text): remove
30395 (argument): likewise
30396 (script): accept empty scripts and make exit on error
30397 (arguments): use GRUB_PARSER_TOKEN_ARG
30398 (function): likewise
30399 (command): move error handling to script
30400 (menuentry): move grub_script_lexer_ref before
473d1e45 30401 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30402 argument. All callers updated
30403
f4448a07 304042009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30405
30406 Prevent GRUB from probing floppies during boot.
30407
30408 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30409 * commands/search.c (options): Add --no-floppy.
30410 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30411 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30412 --no-floppy when searching for UUIDs.
30413
2bf5885a 304142009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30415
30416 Simplify the code duplication in commands/search.c.
30417
30418 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30419 (search_fs): ... this. Update all users.
30420
f6fd460a 304212009-06-03 Felix Zielcke <fzielcke@z-51.de>
30422
30423 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30424
cbb3c83e 304252009-05-28 Pavel Roskin <proski@gnu.org>
30426
57788cfd 30427 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30428 Remove the original symlink explicitly.
30429
cbb3c83e 30430 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30431 just one slash. That's how grub_fshelp_find_file() does it.
30432
cd0d5e30 304332009-05-26 Pavel Roskin <proski@gnu.org>
30434
f0f8bbe2 30435 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30436 to `str'.
30437
cd0d5e30 30438 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30439 possibly unused.
30440
8c2cab51 304412009-05-25 Christian Franke <franke@computer.org>
30442
30443 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30444 register.
30445 (grub_atapi_identify): Add wait after drive select.
30446 (grub_ata_identify): Do more strict status register check before
30447 calling grub_atapi_identify (). Suppress error message if status
30448 register is 0x00 after command failure. Add status register
30449 check after PIO read to avoid bogus identify due to stuck DRQ.
30450 Thanks to Pavel Roskin for testing.
30451 (grub_device_initialize): Remove unsafe status register check.
30452 Thanks to 'phcoder' for problem report and patch.
30453 Prevent sign extension in debug message.
30454
230c0ad6 304552009-05-23 Colin D Bennett <colin@gibibit.com>
30456
30457 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30458 definition file, and functions defined in `normal/menu.c' have had
30459 their prototypes moved to `include/grub/menu.h' for consistency.
30460
30461 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30462 from normal.h.
30463 (grub_menu_get_entry): Likewise.
30464 (grub_menu_get_timeout): Likewise.
30465 (grub_menu_set_timeout): Likewise.
30466 (grub_menu_execute_entry): Likewise.
30467 (grub_menu_execute_with_fallback): Likewise.
30468 (grub_menu_entry_run): Likewise.
30469
30470 * include/grub/normal.h: Re-ordered and grouped function
30471 prototypes by file that the function is defined in.
30472 (grub_menu_execute_callback): Removed; moved to menu.h.
30473 (grub_menu_get_entry): Likewise.
30474 (grub_menu_get_timeout): Likewise.
30475 (grub_menu_set_timeout): Likewise.
30476 (grub_menu_execute_entry): Likewise.
30477 (grub_menu_execute_with_fallback): Likewise.
30478 (grub_menu_entry_run): Likewise.
30479 (grub_menu_addentry): Renamed from this ...
30480 (grub_normal_add_menu_entry): ... to this.
30481
30482 * normal/main.c (grub_menu_addentry): Renamed from this ...
30483 (grub_normal_add_menu_entry): ... to this.
30484
30485 * script/sh/execute.c (grub_script_execute_menuentry): Update
30486 reference to renamed grub_menu_addentry function.
30487
861f03a5 304882009-05-23 Felix Zielcke <fzielcke@z-51.de>
30489
30490 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30491
96b1619a 304922009-05-22 Pavel Roskin <proski@gnu.org>
30493
bf6a5fb2 30494 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30495 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30496 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30497 compiling for the i386 targets, but not for the utilities.
30498
96b1619a 30499 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30500 to grub_uint8_t.
30501 (grub_root_drive): Likewise.
30502 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30503 remove alignment.
30504 (grub_root_drive): Change size to byte.
30505 (grub_start_addr): Remove.
30506 (grub_end_addr): Likewise.
30507 (grub_apm_bios_info): Likewise.
30508
b729776b 305092009-05-21 Felix Zielcke <fzielcke@z-51.de>
30510
30511 * normal/i386: Remove.
30512 * normal/powerpc: Likewise.
30513 * normal/sparc64: Likewise.
30514 * normal/x86_64: Likewise.
30515
0a15ce80 305162009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30517
30518 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30519 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30520 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30521
33db9015 305222009-05-18 Colin D Bennett <colin@gibibit.com>
30523
d6da58e6 30524 Display error messages when parsing a Lua statement fails.
30525 Previously, executing a syntactically invalid statement like
30526 ")foo" or "bar;" would silently fail.
33db9015 30527
30528 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30529 (grub_lua_parse_line): Improved reporting of Lua parser and
30530 execution errors.
33db9015 30531
46422c89 305322009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30533
30534 Remove -Werror which causes build to fail on some systems
30535
30536 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30537 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30538 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30539
22f53a96 305402009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30541
30542 trampoline for linux on 64-bit platform
30543
18f547ad 30544 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30545 loader/i386/efi/linux_trampoline.S
30546 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30547 declaration
d6da58e6 30548 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30549 here
22f53a96 30550 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30551 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30552 trampoline
22f53a96 30553 (jumpvector): removed
30554 (grub_linux_trampoline_start): new declaration
30555 (grub_linux_trampoline_end): likewise
30556 (grub_linux_boot): use trampoline when on 64-bit platform
30557 * loader/i386/linux.c: likewise
30558
cb5a0f40 305592009-05-16 Pavel Roskin <proski@gnu.org>
30560
30561 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30562 const to avoid a warning.
30563 (grub_lua_setenv): Likewise.
30564 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30565 lmsg to fix a warning.
30566
334f2c28 305672009-05-16 Felix Zielcke <fzielcke@z-51.de>
30568
30569 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30570 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30571 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30572 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30573 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30574 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30575 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30576 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30577
59e5d3ec 305782009-05-16 Felix Zielcke <fzielcke@z-51.de>
30579
30580 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30581
9d87a1ba 305822009-05-16 Bean <bean123ch@gmail.com>
30583
30584 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30585 (lua_mod_SOURCES): New variable.
30586 (lua_mod_CFLAGS): Likewise.
30587 (lua_mod_LDFLAGS): Likewise.
30588
30589 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30590 (setjmp_mod_SOURCES): New variable.
30591 (setjmp_mod_CFLAGS): Likewise.
30592 (setjmp_LDFLAGS): Likewise.
30593
30594 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30595 (setjmp_mod_SOURCES): New variable.
30596 (setjmp_mod_CFLAGS): Likewise.
30597 (setjmp_LDFLAGS): Likewise.
30598
30599 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30600 (setjmp_mod_SOURCES): New variable.
30601 (setjmp_mod_CFLAGS): Likewise.
30602 (setjmp_LDFLAGS): Likewise.
30603
30604 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30605 (setjmp_mod_SOURCES): New variable.
30606 (setjmp_mod_CFLAGS): Likewise.
30607 (setjmp_LDFLAGS): Likewise.
30608
30609 * normal/i386/setjmp.S: Moved from here ...
30610 * lib/i386/setjmp.S: ... Moved here
30611 * normal/x86_64/setjmp.S: Moved from here ...
30612 * lib/x86_64/setjmp.S: ... Moved here
30613 * normal/powerpc/setjmp.S: Moved from here ...
30614 * lib/powerpc/setjmp.S: ... Moved here
30615 * normal/sparc64/setjmp.S: Moved from here ...
30616 * lib/sparc64/setjmp.S: ... Moved here
30617
30618 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30619 returns_twice in mingw.
30620
30621 * script/lua/grub_lib.c: New file.
30622 * script/lua/grub_lib.h: Likewise.
30623 * script/lua/grub_lua.h: Likewise.
30624 * script/lua/grub_main.c: Likewise.
30625 * script/lua/lapi.c: Likewise.
30626 * script/lua/lapi.h: Likewise.
30627 * script/lua/lauxlib.c: Likewise.
30628 * script/lua/lauxlib.h: Likewise.
30629 * script/lua/lbaselib.c: Likewise.
30630 * script/lua/lcode.c: Likewise.
30631 * script/lua/lcode.h: Likewise.
30632 * script/lua/ldblib.c: Likewise.
30633 * script/lua/ldebug.c: Likewise.
30634 * script/lua/ldebug.h: Likewise.
30635 * script/lua/ldo.c: Likewise.
30636 * script/lua/ldo.h: Likewise.
30637 * script/lua/ldump.c: Likewise.
30638 * script/lua/lfunc.c: Likewise.
30639 * script/lua/lfunc.h: Likewise.
30640 * script/lua/lgc.c: Likewise.
30641 * script/lua/lgc.h: Likewise.
30642 * script/lua/linit.c: Likewise.
30643 * script/lua/liolib.c: Likewise.
30644 * script/lua/llex.c: Likewise.
30645 * script/lua/llex.h: Likewise.
30646 * script/lua/llimits.h: Likewise.
30647 * script/lua/lmathlib.c: Likewise.
30648 * script/lua/lmem.c: Likewise.
30649 * script/lua/lmem.h: Likewise.
30650 * script/lua/loadlib.c: Likewise.
30651 * script/lua/lobject.c: Likewise.
30652 * script/lua/lobject.h: Likewise.
30653 * script/lua/lopcodes.c: Likewise.
30654 * script/lua/lopcodes.h: Likewise.
30655 * script/lua/loslib.c: Likewise.
30656 * script/lua/lparser.c: Likewise.
30657 * script/lua/lparser.h: Likewise.
30658 * script/lua/lstate.c: Likewise.
30659 * script/lua/lstate.h: Likewise.
30660 * script/lua/lstring.c: Likewise.
30661 * script/lua/lstring.h: Likewise.
30662 * script/lua/lstrlib.c: Likewise.
30663 * script/lua/ltable.c: Likewise.
30664 * script/lua/ltable.h: Likewise.
30665 * script/lua/ltablib.c: Likewise.
30666 * script/lua/ltm.c: Likewise.
30667 * script/lua/ltm.h: Likewise.
30668 * script/lua/lua.h: Likewise.
30669 * script/lua/luaconf.h: Likewise.
30670 * script/lua/lualib.h: Likewise.
30671 * script/lua/lundump.c: Likewise.
30672 * script/lua/lundump.h: Likewise.
30673 * script/lua/lvm.c: Likewise.
30674 * script/lua/lvm.h: Likewise.
30675 * script/lua/lzio.c: Likewise.
30676 * script/lua/lzio.h: Likewise.
30677
5e898c9d 306782009-05-16 Bean <bean123ch@gmail.com>
30679
30680 * include/grub/kernel.h (grub_module_header_types): Add type
30681 OBJ_TYPE_CONFIG.
30682
30683 * kern/main.c (grub_load_config): New function.
30684 (grub_main): Call grub_load_config to read boot config.
30685
30686 * grub-mkimage (generate_image): New parameter config_path.
30687 (options): New option --config.
30688 (main): Parse --config option, and pass it to generate_image.
30689
cf353a47 306902009-05-14 Christian Franke <franke@computer.org>
30691
30692 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30693 This fixes build on Cygwin.
30694
3834887f 306952009-05-14 Pavel Roskin <proski@gnu.org>
30696
30697 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30698 jump. This saves two bytes, so the typical case of 2 swapped
30699 drives would fit 32 bytes.
30700
8090fc01 307012009-05-13 Pavel Roskin <proski@gnu.org>
30702
ac963883 30703 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30704 grub_uint32_t to avoid a warning.
30705
8090fc01 30706 * loader/i386/linux.c (allocate_pages): When assigning
30707 real_mode_mem, cast through grub_size_t to fix a warning. The
30708 code already makes sure that the value would fit a pointer.
30709 (grub_linux_setup_video): Cast render_target->data to
30710 grub_size_t to fix a warning.
30711
18f547ad 307122009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30713
30714 * commands/i386/pc/drivemap.c: New file - implement drivemap
30715 command.
30716 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30717 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30718
6f6a8b28 307192009-05-13 Pavel Roskin <proski@gnu.org>
30720
30721 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30722 embedding_area_exists.
30723
15fbf4c4 307242009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30725
30726 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30727 it easier to understand / work with.
59978c8a 30728 Improve warning messages for cases where there's no embedding area,
30729 or when it is too small (or core.img too large).
15fbf4c4 30730
238e871f 307312009-05-13 Pavel Roskin <proski@gnu.org>
30732
0ab3a9a4 30733 * loader/i386/pc/multiboot2.c: Add necessary includes for
30734 grub_multiboot2_real_boot().
30735
a2c8c5f8 30736 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30737 PX record is always little-endian. We only need the lower 2
30738 bytes of the mode.
30739
faec96af 30740 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30741 facilitate code reuse.
30742 (grub_cpio_mount): Use "struct head", not a char buffer. This
30743 fixes a warning reported by gcc 4.4.
30744
238e871f 30745 * kernel/disk.c (grub_disk_read): Use void pointer for the
30746 buffer.
30747 (grub_disk_write): Use const void pointer for the buffer.
30748 Adjust all callers. Remove unnecessary casts.
30749
901d2f0c 307502009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30751
30752 * util/i386/pc/grub-install.in: Update copyright year.
30753
18f547ad 307542009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30755
30756 gptsync
30757
30758 * commands/gptsync.c: new file
30759 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30760 (gptsync_mod_SOURCES): new variable
30761 (gptsync_mod_CFLAGS): likewise
30762 (gptsync_mod_LDFLAGS): likewise
18f547ad 30763 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30764 new definition
30765 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30767 * conf/i386-ieee1275.rmk: likewise
30768 * conf/i386-pc.rmk: likewise
30769 * conf/powerpc-ieee1275.rmk: likewise
30770
b4ba690a 307712009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30772
30773 Fixed grub-emu
30774
30775 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30776 (grub_dl_ref): likewise
30777
317e1a44 307782009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30779
30780 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30781 split in two functions (one for msdos and one for gpt).
30782
041b8094 307832009-05-08 Pavel Roskin <proski@gnu.org>
30784
752473c2 30785 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30786 not modified.
30787
041b8094 30788 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30789 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30790 Initialize them with -1. Add sanity check for bad1. Eliminate
30791 nerr variable.
30792
172800ce 307932009-05-08 David S. Miller <davem@davemloft.net>
30794
30795 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30796
29aa5e81 307972009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30798
30799 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30800 existence.
29aa5e81 30801
96613b62 308022009-05-05 Felix Zielcke <fzielcke@z-51.de>
30803
30804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30805 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30806
eef73c8a 308072009-05-05 David S. Miller <davem@davemloft.net>
30808
30809 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30810
119494b5 308112009-05-05 Pavel Roskin <proski@gnu.org>
30812
30813 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30814 of grub_dl_ref() and grub_dl_unref().
30815 * commands/parttool.c: Remove preprocessor conditionals around
30816 grub_dl_ref() and grub_dl_unref().
30817 * fs/affs.c: Likewise.
30818 * fs/afs.c: Likewise.
30819 * fs/cpio.c: Likewise.
30820 * fs/ext2.c: Likewise.
30821 * fs/fat.c: Likewise.
30822 * fs/hfs.c: Likewise.
30823 * fs/hfsplus.c: Likewise.
30824 * fs/iso9660.c: Likewise.
30825 * fs/jfs.c: Likewise.
30826 * fs/minix.c: Likewise.
30827 * fs/ntfs.c: Likewise.
30828 * fs/reiserfs.c: Likewise.
30829 * fs/sfs.c: Likewise.
30830 * fs/udf.c: Likewise.
30831 * fs/ufs.c: Likewise.
30832 * fs/xfs.c: Likewise.
30833 * include/grub/dl.h: Likewise.
30834 * loader/xnu.c: Likewise.
30835
de5fd76e 308362009-05-04 Pavel Roskin <proski@gnu.org>
30837
30838 * commands/acpi.c: Remove unused variable my_mod.
30839 * partmap/amiga.c: Likewise.
30840 * partmap/apple.c: Likewise.
30841 * partmap/gpt.c: Likewise.
30842 * partmap/pc.c: Likewise.
30843 * partmap/sun.c: Likewise.
30844 * term/gfxterm.c: Likewise.
30845 * term/i386/pc/vesafb.c: Likewise.
30846 * term/i386/pc/vga.c: Likewise.
30847
983598ad 308482009-05-04 David S. Miller <davem@davemloft.net>
30849
30850 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30851 pointer args to grub_ieee1275_get_property().
30852
8aadec43 30853 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30854
9554b15e 30855 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30856 devices, and do not traverse down under controller nodes.
30857
67e23c90 30858 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30859 (grub_ofdisk_open): Use it to un-escape "," characters.
30860 * kern/disk.c (find_part_sep): New.
30861 (grub_disk_open): Use it to find the first non-escaped ','
30862 character in the disk name.
30863 * util/ieee1275/devicemap.c (escape_of_path): New.
30864 (grub_util_emit_devicemap_entry): Use it.
30865 * util/sparc64/ieee1275/grub-install.in: Update script to
30866 strip partition specifiers properly by not triggering on
30867 '\' escaped ',' characters.
30868
74bfdd2f 308692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30870
30871 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30872 to 0x300.
30873 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30874 resolutions.
30875 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30876 on documentation from Wikipedia).
30877
4241d2b1 308782009-05-04 Pavel Roskin <proski@gnu.org>
30879
30880 * disk/ata.c: Spelling fixes.
30881 * disk/raid.c: Likewise.
30882 * disk/usbms.c: Likewise.
30883 * disk/dmraid_nvidia.c: Likewise.
30884 * kern/ieee1275/openfw.c: Likewise.
30885 * kern/ieee1275/init.c: Likewise.
30886 * kern/ieee1275/cmain.c: Likewise.
30887 * boot/i386/pc/cdboot.S: Likewise.
30888 * video/readers/png.c: Likewise.
30889 * video/i386/pc/vbe.c: Likewise.
30890 * fs/udf.c: Likewise.
30891 * fs/hfs.c: Likewise.
30892 * fs/reiserfs.c: Likewise.
30893 * efiemu/runtime/efiemu.c: Likewise.
30894 * efiemu/main.c: Likewise.
30895 * efiemu/mm.c: Likewise.
30896 * include/grub/elf.h: Likewise.
30897 * include/grub/xnu.h: Likewise.
30898 * include/grub/usbdesc.h: Likewise.
30899 * include/grub/usb.h: Likewise.
30900 * include/grub/script_sh.h: Likewise.
30901 * include/grub/lib/LzmaEnc.h: Likewise.
30902 * include/grub/efiemu/efiemu.h: Likewise.
30903 * include/grub/command.h: Likewise.
30904 * normal/menu.c: Likewise.
30905 * normal/main.c: Likewise.
30906 * normal/datetime.c: Likewise.
30907 * bus/usb/uhci.c: Likewise.
30908 * mmap/i386/uppermem.c: Likewise.
30909 * mmap/mmap.c: Likewise.
30910 * commands/acpi.c: Likewise.
30911 * commands/test.c: Likewise.
30912 * partmap/apple.c: Likewise.
30913 * font/font.c: Likewise.
30914 * loader/sparc64/ieee1275/linux.c: Likewise.
30915 * loader/macho.c: Likewise.
30916 * loader/i386/bsd_trampoline.S: Likewise.
30917 * loader/i386/bsd.c: Likewise.
30918 * loader/xnu.c: Likewise.
30919 * term/i386/pc/vesafb.c: Likewise.
30920 * term/usb_keyboard.c: Likewise.
30921 * util/resolve.c: Likewise.
30922 * util/getroot.c: Likewise.
30923
0cfc0083 309242009-05-04 Felix Zielcke <fzielcke@z-51.de>
30925
30926 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30927
7c1d00cd 309282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30931 build error.
30932
b01f0548 309332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30934
30935 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30936 parameter only available on BIOS.
30937
ecc3eb22 309382009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30939
30940 Removed wrong semicolon in declaration
30941
30942 * grub/misc.h (grub_dprintf): remove semicolon
30943
112972a9 309442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30945
30946 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30947 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30948 is done by grub_cmd_linux() now).
30949 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30950 restore video to text mode.
30951 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30952 indicates lack of "vga=" parameter. "vga=0" is mapped to
30953 `GRUB_LINUX_VID_MODE_NORMAL'.
30954
afd5c115 309552009-05-04 Felix Zielcke <fzielcke@z-51.de>
30956
30957 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30958 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30959 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30960 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30961 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30962 `grub_script.tab.c'.
30963
30964 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30965 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30968 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30969
faa517ce 30970 * Makefile.in: Remove duplicated 2008 in Copyright line.
30971
ae0c0bdc 309722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30973
473d1e45 30974 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30975 unconditionally.
30976 * include/grub/util/misc.h (grub_util_warn): New declaration.
30977
30978 * util/i386/pc/grub-install.in: Understand --force and pass it down
30979 to grub-setup.
30980
30981 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30982 down to setup().
30983 (setup): Improve error messages and add warnings when requested to
30984 install in odd layouts. Refuse to install using blocklists unless
30985 --force was set.
30986
18f547ad 309872009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30988
30989 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30990
6d260daa 309912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30992
30993 Updated copyright year
30994
30995 * fs/hfsplus.c: updated copyright year
18f547ad 30996
69f853f8 309972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30998
30999 HFS+ UUID
31000
18f547ad 31001 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 31002 in the space previously used by unused3
31003 (grub_hfsplus_uuid): new function
31004 (grub_hfsplus_fs): added uuid field
31005
4c402e73 310062009-05-03 Pavel Roskin <proski@gnu.org>
31007
31008 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31009 suppress warnings. It's no longer needed.
31010 * disk/host.c: Likewise.
31011 * disk/ata_pthru.c: Likewise.
31012 * disk/loopback.c: Likewise.
31013 * hook/datehook.c: Likewise.
31014 * parttool/pcpart.c: Likewise.
31015 * fs/i386/pc/pxe.c: Likewise.
31016 * fs/ntfscomp.c: Likewise.
31017 * efiemu/main.c: Likewise.
31018 * mmap/mmap.c: Likewise.
31019 * commands/crc.c: Likewise.
31020 * commands/hexdump.c: Likewise.
31021 * commands/hdparm.c: Likewise.
31022 * commands/acpi.c: Likewise.
31023 * commands/echo.c: Likewise.
31024 * commands/minicmd.c: Likewise.
31025 * commands/blocklist.c: Likewise.
31026 * commands/memrw.c: Likewise.
31027 * commands/loadenv.c: Likewise.
31028 * commands/usbtest.c: Likewise.
31029 * commands/lsmmap.c: Likewise.
31030 * commands/boot.c: Likewise.
31031 * commands/parttool.c: Likewise.
31032 * commands/configfile.c: Likewise.
31033 * commands/search.c: Likewise.
31034 * commands/ieee1275/suspend.c: Likewise.
31035 * commands/cat.c: Likewise.
31036 * commands/i386/pc/pxecmd.c: Likewise.
31037 * commands/i386/pc/play.c: Likewise.
31038 * commands/i386/pc/halt.c: Likewise.
31039 * commands/i386/pc/vbeinfo.c: Likewise.
31040 * commands/i386/pc/vbetest.c: Likewise.
31041 * commands/lspci.c: Likewise.
31042 * commands/date.c: Likewise.
31043 * commands/handler.c: Likewise.
31044 * commands/ls.c: Likewise.
31045 * commands/test.c: Likewise.
31046 * commands/cmp.c: Likewise.
31047 * commands/efi/loadbios.c: Likewise.
31048 * commands/efi/fixvideo.c: Likewise.
31049 * commands/halt.c: Likewise.
31050 * commands/help.c: Likewise.
31051 * commands/reboot.c: Likewise.
31052 * hello/hello.c: Likewise.
31053 * script/sh/main.c: Likewise.
31054 * loader/xnu.c: Likewise.
31055 * term/terminfo.c: Likewise.
31056 * term/i386/pc/serial.c: Likewise.
31057 * term/usb_keyboard.c: Likewise.
31058
515b5079 310592009-05-03 David S. Miller <davem@davemloft.net>
31060
31061 * normal/menu.c: Include grub/parser.h
31062
dfc31a22 310632009-05-03 Pavel Roskin <proski@gnu.org>
31064
2fee74f1 31065 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31066 not char*.
31067 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31068 Suggested by Javier Martín <lordhabbit@gmail.com>
31069
dfc31a22 31070 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31071 efiemu??.o doesn't exist.
31072 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31073 copying.
31074
18f547ad 310752009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 31076
31077 FreeBSD 64-bit support
31078
18f547ad 31079 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 31080 and loader/i386/bsd_trampoline.S
31081 (bsd_mod_ASFLAGS): new variable
31082 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31083 (FREEBSD_MODTYPE_KERNEL64): likewise
31084 (grub_bsd64_trampoline_start): likewise
31085 (grub_bsd64_trampoline_end): likewise
31086 (grub_bsd64_trampoline_selfjump): likewise
31087 (grub_bsd64_trampoline_gdt): likewise
31088 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31089 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31090 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31091 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 31092 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 31093 of "attrib" member
31094 * loader/i386/bsd_pagetable.c: new file
31095 * loader/i386/bsd_trampoline.S: likewise
31096 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31097 (ALIGN_VAR): likewise
31098 (entry_hi): new variable
31099 (kern_end_mdofs): likewise
31100 (is_64bit): likewise
31101 (grub_freebsd_add_meta): use ALIGN_VAR
31102 (grub_e820_mmap): new declaration
31103 (grub_freebsd_add_mmap): new function
31104 (grub_freebsd_add_meta_module): support 64 bit kernels
31105 (grub_freebsd_list_modules): use ALIGN_VAR
31106 (gdt_descriptor): new declaration
31107 (grub_freebsd_boot): support 64 bit kernels
31108 (grub_bsd_elf64_hook): new function
31109 (grub_bsd_load_elf): support elf64
31110
038c5720 311112009-05-03 Bean <bean123ch@gmail.com>
31112
31113 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31114 after we get the result of if statement.
31115
fc45fb58 311162009-05-03 Bean <bean123ch@gmail.com>
31117
31118 * Makefile.in (enable_efiemu): New variable.
31119
31120 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31121 set.
31122 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31123 path.
31124 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31125 path, add -mno-red-zone option.
31126 (efiemu64_s.o): Likewise.
31127 (efiemu64.o): Use macro $^ for source file.
31128
31129 * configure.ac (--enable-efiemu): New option.
31130
bbee0f2b 311312009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31132
31133 xnu support
31134
31135 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31136 (pkglib_MODULES): add xnu.mod
31137 (xnu_mod_SOURCES): new variable
31138 (xnu_mod_CFLAGS): likewise
31139 (xnu_mod_LDFLAGS): likewise
31140 (xnu_mod_ASFLAGS): likewise
31141 * conf/i386-pc.rmk: likewise
31142 * conf/x86_64-efi.rmk: likewise
7dd4a573 31143 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 31144 new declaration
31145 * include/grub/i386/macho.h: new file
31146 * include/grub/i386/xnu.h: likewise
31147 * include/grub/macho.h: likewise
31148 * include/grub/machoload.h: likewise
31149 * include/grub/x86_64/macho.h: likewise
31150 * include/grub/x86_64/xnu.h: likewise
31151 * include/grub/xnu.h: likewise
31152 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31153 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31154 * loader/i386/efi/xnu.c: new file
31155 * loader/i386/pc/xnu.c: likewise
31156 * loader/i386/xnu.c: likewise
31157 * loader/i386/xnu_helper.S: likewise
31158 * loader/macho.c: likewise
31159 * loader/xnu.c: likewise
31160 * loader/xnu_resume.c: likewise
31161 * util/grub-dumpdevtree: likewise
31162 * include/grub/i386/pit.h: include grub/err.h
31163 (grub_pit_wait): export
31164 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 31165
5caf964d 311662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31167
31168 Efiemu
7dd4a573 31169
5caf964d 31170 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 31171 _linux_efi, linux_efi.
31172 new files in grub-emu
5caf964d 31173 new targets efiemu32.o and efiemu64.o
31174 * loader/linux_normal_efiemu.c: likewise
31175 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 31176 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 31177 files to copy
31178 * include/grub/autoefi.h: new file
7dd4a573 31179 * include/grub/i386/efiemu.h: likewise
5caf964d 31180 * include/grub/i386/pc/efiemu.h: likewise
31181 * include/grub/efi/api.h: add LL suffix when necessary
31182 new definitions relating to tables
31183 * include/grub/efiemu/efiemu.h: new file
31184 * include/grub/efiemu/runtime.h: likewise
31185 * efiemu/prepare.c: likewise
31186 * efiemu/loadcore_common.c: likewise
31187 * efiemu/loadcore64.c: likewise
31188 * efiemu/runtime/efiemu.sh: likewise
31189 * efiemu/runtime/efiemu.S: likewise
31190 * efiemu/runtime/efiemu.c: likewise
31191 * efiemu/runtime/config.h: likewise
31192 * efiemu/prepare32.c: likewise
31193 * efiemu/main.c: likewise
31194 * efiemu/modules/pnvram.c: likewise
31195 * efiemu/modules/i386: likewise
31196 * efiemu/modules/i386/pc: likewise
31197 * efiemu/modules/acpi.c: likewise
31198 * efiemu/i386/pc/cfgtables.c: likewise
31199 * efiemu/i386/loadcore64.c: likewise
31200 * efiemu/i386/loadcore32.c: likewise
31201 * efiemu/prepare64.c: likewise
31202 * efiemu/loadcore.c: likewise
31203 * efiemu/symbols.c: likewise
31204 * efiemu/mm.c: likewise
31205 * efiemu/loadcore32.c: likewise
7dd4a573 31206
312072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 31208
31209 ACPI spoofing
31210
31211 * commands/acpi.c: new file
31212 * commands/i386/pc/acpi.c: likewise
31213 * commands/efi/acpi.c: likewise
31214 * include/grub/acpi.h: likewise
31215 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31216 (acpi_mod_SOURCES): new variable
31217 (acpi_mod_CFLAGS): likewise
31218 (acpi_mod_LDFLAGS): likewise
31219 * conf/i386-efi.rmk: likewise
31220 * conf/x86_64-efi.rmk: likewise
31221
7dd4a573 312222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 31223
31224 Missing part from mmap patch
31225
31226 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31227 (grub_mmap_unregister)
31228 (grub_mmap_free_and_unregister): use grub_mmap_register
31229
7dd4a573 312302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 31231
31232 Mmap services
31233
31234 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31235 * loader/i386/linux.c (find_mmap_size): likewise
31236 (allocate_pages): likewise
31237 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31238 (grub_fill_multiboot_mmap): likewise
31239 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31240 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31241 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31242 (OPENBSD_MMAP_RESERVED): likewise
31243 * include/grub/i386/pc/memory.h: include grub/memory.h
31244 (grub_lower_mem): removed
31245 (grub_upper_mem): likewise
31246 (GRUB_MACHINE_MEMORY_ACPI): new definition
31247 (GRUB_MACHINE_MEMORY_NVS): likewise
31248 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31249 (GRUB_MACHINE_MEMORY_HOLE): likewise
31250 (grub_machine_mmap_register): likewise
31251 (grub_machine_mmap_unregister): likewise
31252 (grub_machine_get_upper): likewise
31253 (grub_machine_get_lower): likewise
31254 (grub_machine_get_post64): likewise
31255 * include/grub/i386/efi/memory.h: new file
31256 * include/grub/x86_64/efi/memory.h: likewise
31257 * include/grub/efi/memory.h: likewise
31258 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31259 (mmap_mod_SOURCES): new variable
31260 (mmap_mod_LDFLAGS): likewise
31261 (mmap_mod_ASFLAGS): likewise
31262 * conf/i386-coreboot.rmk: likewise
31263 * conf/i386-ieee1275.rmk: likewise
31264 * conf/i386-efi.rmk: likewise
31265 * conf/x86_64-efi.rmk: likewise
31266 * include/grub/types.h (UINT_TO_PTR): new macro
31267 (PTR_TO_UINT32): likewise
31268 (PTR_TO_UINT64): likewise
31269 * include/grub/memory.h: new file
31270 * mmap/i386/pc/mmap.c: likewise
31271 * mmap/i386/pc/mmap_helper.S: likewise
31272 * mmap/i386/uppermem.c: likewise
31273 * mmap/mmap.c: likewise
31274 * mmap/efi/mmap.c: likewise
7dd4a573 31275 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 31276 grub_upper_mem
31277 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31278 (grub_upper_mem): likewise
31279 (grub_machine_init): don't use grub_upper_mem,
31280 make grub_lower_mem local
31281 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31282 grub_mmap_iterate and grub_mmap_get_upper
31283 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31284
d558e6b5 312852009-05-02 Bean <bean123ch@gmail.com>
31286
31287 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31288 script/sh/parser.y.
31289 (pkglib_MODULES): Add normal.mod and sh.mod.
31290 (normal_SOURCES): New variable.
31291 (normal_mod_CFLAGS): Likewise.
31292 (normal_mod_LDFLAGS): Likewise.
31293 (sh_mod_SOURCES): Likewise.
31294 (sh_mod_CFLAGS): Likewise.
31295 (sh_mod_LDFLAGS): Likewise.
31296
31297 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31298 script/sh/lexer.c_DEPENDENCIES.
31299 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31300 kern/rescue_reader.c and kern/rescue_parser.c.
31301 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31302 (grub_emu_SOURCES): Change source files.
31303 (pkglib_MODULES): Remove normal.mod.
31304 (normal_SOURCES): Removed.
31305 (normal_mod_CFLAGS): Likewise.
31306 (normal_mod_LDFLAGS): Likewise.
31307 * conf/i386-coreboot.rmk: Likewise.
31308 * conf/i386-efi.rmk: Likewise.
31309 * conf/i386-ieee1276.rmk: Likewise.
31310 * conf/powerpc-ieee1275.rmk: Likewise.
31311 * conf/sparc64-ieee1275.rmk: Likewise.
31312 * conf/x86_64-efi.rmk: Likewise.
31313
31314 * include/grub/command.h (grub_command_execute): New inline function.
31315
31316 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31317
31318 * include/grub/normal.h: Remove <grub/setjmp.h>.
31319 (grub_fs_module_list): Moved to normal/autofs.c.
31320 (grub_exit_env): Removed.
31321 (grub_command_execute): Likewise.
31322 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31323 parameter script.
31324 (read_command_list): New function declaration.
31325 (read_fs_list): Likewise.
31326
31327 * include/parser.h: Include <grub/reader.h>.
31328 (grub_parser_split_cmdline): Change type of getline parameter.
31329 (grub_parser): New structure.
31330 (grub_parser_class): New variable.
31331 (grub_parser_execute): New function declaration.
31332 (grub_register_rescue_parser): Likewise.
31333 (grub_parser_register): New inline function.
31334 (grub_parser_unregister): Likewise.
31335 (grub_parser_get_current): Likewise.
31336 (grub_parser_set_current): Likewise.
31337
31338 * include/grub/reader.h: New file.
31339 * kern/reader.c: Likewise.
31340 * kern/rescue_parser.c: Likewise.
31341 * kern/rescue_reader.c: Likewise.
31342 * normal/autofs.c: Likewise.
31343 * normal/dyncmd.c: Likewise.
31344
31345 * include/grub/rescue.h: Removed.
31346 * normal/command.h: Likewise.
31347
31348 * include/grub/script.h: Moved to ...
31349 * include/grub/script_sh.h: ... Moved here.
31350 * normal/execute.c: Moved to ...
31351 * script/sh/execute.c: ... Moved here.
31352 * normal/function.c: Moved to ...
31353 * script/sh/function.c: ... Moved here.
31354 * normal/lexer.c: Moved to ...
31355 * script/sh/lexer.c: ... Moved here.
31356 * normal/parser.y: Moved to ...
31357 * script/sh/parser.y: ... Moved here.
31358 * normal/script.c: Moved to ...
31359 * script/sh/script.c: ... Moved here.
31360
31361 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31362 <grub/reader.h>.
31363 (grub_exit_env): Removed.
31364 (fs_module_list): Moved to normal/autofs.c.
31365 (grub_file_getline): Don't handle comment here.
31366 (free_menu): Skip removed field entry->commands.
31367 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31368 script parameter.
31369 (read_config_file): Removed nested parameter, change getline function.
31370 (grub_enter_normal_mode): Removed.
31371 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31372 (read_command_list): Likewise.
31373 (autoload_fs_module): Moved to normal/autofs.c.
31374 (read_fs_list): Likewise.
31375 (reader_nested): New variable.
31376 (grub_normal_execute): Run parser.sh to switch to sh parser.
31377 (grub_cmd_rescue): Removed.
31378 (cmd_normal): Removed.
31379 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31380 rescue command.
31381 (grub_cmdline_run): New function.
31382 (grub_normal_reader_init): Likewise.
31383 (grub_normal_read_line): Likewise.
31384 (grub_env_write_pager): Likewise.
31385 (cmdline): New variable.
31386 (grub_normal_reader): Likewise.
31387 (GRUB_MOD_INIT): Register normal reader and set as current, register
31388 pager hook, register normal command with grub_register_command_prio,
31389 so that it won't show up in command.lst.
31390 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31391 grub_fs_autoload_hook.
31392
31393 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31394 (grub_menu_execute_entry): Replace grub_script_execute with
31395 grub_parser_execute, change parameter to grub_command_execute.
31396
31397 * normal/menu_text.c: Remove <grub/script.h>.
31398
31399 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31400 and <grub/parser.h>.
31401 (run): Change editor_getline to use new parser interface. Change
31402 parameter to grub_command_execute.
31403
31404 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31405 <grub/reader.h> and <grub/parser.h>.
31406 (grub_load_normal_mode): Execute normal command.
31407 (grub_main): Call grub_register_core_commands,
31408 grub_register_rescue_parser and grub_register_rescue_reader, use
31409 grub_reader_loop to enter input loop.
31410
7dd4a573 31411 * kern/parser.c (grub_parser_split_cmdline): Change type of
31412 getline parameter.
d558e6b5 31413 (grub_parser_class): New variable.
31414 (grub_parser_execute): New function.
31415
31416 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31417 * loader/multiboot2.c: Likewise.
31418 * loader/sparc64/ieee1275/linux.c: Likewise.
31419
31420 * util/grub-emu.c (read_command_list): New dummy function.
31421
18db813d 314222009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31423
31424 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31425 count to 16 for CCISS and IDA.
31426
6c67de15 314272009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31428
31429 * normal/menu_text.c (grub_wait_after_message): Print a newline
31430 after waiting for user input.
31431
31432 * loader/i386/linux.c: Include `<grub/normal.h>'.
31433 (grub_cmd_linux): Improve the error message about `ask' mode, by
31434 waiting for user input so it's not missed (we can do this, since
31435 user requested interaction).
31436
d9dc87b0 314372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31438
31439 Added missing lst to grub-mkrescue
31440
31441 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31442 and ${input_dir}/parttool.lst
31443
ac8a2baa 314442009-04-30 David S. Miller <davem@davemloft.net>
31445
ad22a610 31446 * util/hostdisk.c (device_is_wholedisk): New function.
31447 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31448 zero only if device_is_wholedisk() returns true.
31449
6966215d 31450 * util/hostdisk.c (convert_system_partition_to_system_disk):
31451 Handle virtual disk devices named /dev/vdiskX as found on sparc
31452 and powerpc.
31453
ac8a2baa 31454 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31455 lettered partition specifier is found, convert to numbered.
31456
979b4fb4 314572009-04-29 David S. Miller <davem@davemloft.net>
31458
e2bf39b2 31459 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31460 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31461
3c64e104 31462 * normal/command.c: Add missing newline at end of file.
31463
979b4fb4 31464 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31465 warnings.
31466 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31467 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31468 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31469 ihandles have a 32-bit type but need to be stored in a "void *".
31470
136d9f82 314712009-04-28 Pavel Roskin <proski@gnu.org>
31472
9459c306 31473 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31474 not disk. Adjust all dependencies.
2e08a26a 31475 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31476 grub_disk_close().
31477
136d9f82 31478 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31479 parent's partition, don't copy it by reference, as it gets freed
31480 on close.
31481
7dd4a573 314822009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31483
31484 Preboot hooks support
31485
31486 * commands/boot.c (struct grub_preboot_t): new declaration
31487 (preboots_head): new variable
31488 (preboots_tail): likewise
31489 (grub_loader_register_preboot_hook): new function
31490 (grub_loader_unregister_preboot_hook): likewise
31491 (grub_loader_set): launch preboot hooks
31492 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31493 (grub_loader_register_preboot_hook): new declaration
31494 (grub_loader_unregister_preboot_hook): likewise
31495
5af922b5 314962009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31497
31498 Warning fix
31499
7dd4a573 31500 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31501 calling grub_dprintf
31502
a5562c30 315032009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31504
31505 Bug and warning fixes
31506
7dd4a573 31507 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31508 declaration
31509 * commands/test.c (test_parse): fixed bug with file tests and corrected
31510 declaration of find_file
31511
4006f85c 315122009-04-26 Pavel Roskin <proski@gnu.org>
31513
31514 * Makefile.in: Don't install empty manual pages if help2man is
31515 missing. Use help2man option for output, not shell redirection.
31516
5c77c3de 315172009-04-26 David S. Miller <davem@davemloft.net>
31518
31519 * util/grub-mkdevicemap.c (make_device_map): Add missing
31520 NESTED_FUNC_ATTR to process_device().
31521
033b10a8 315222009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31523
31524 Test command
31525
31526 * commands/test.c: rewritten to use bash-like test
31527
e4343593 315282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31529
31530 Parttool autoloading and improvements
31531
7dd4a573 31532 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31533 (parttool.lst): new target
31534 * genmk.rb: generate parttool-*
31535 (CLEANFILES): add #{parttool}
31536 (PARTTOOLFILES): new variable
31537 * genparttoollist.sh: new file
7dd4a573 31538 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31539 (grub_pcpart_type): likewise
31540 * commands/parttool.c (helpmsg): new variable
31541 (grub_cmd_parttool): output help if not enough arguments are supplied
31542 autoload modules
31543 (GRUB_MOD_INIT(parttool)): use helpmsg
31544
0d312500 315452009-04-24 David S. Miller <davem@davemloft.net>
31546
7dd4a573 31547 Avoiding opening same device multiple times in device iterator.
0d312500 31548
31549 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31550 and use it to build a list of partitions in iterate_disk() and
0d312500 31551 iterate_partition().
31552
ac20caff 31553 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31554 on disk->data.
31555
0dcf7495 31556 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31557 grub_devalias_iterate() result instead of unconditional 0.
31558 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31559 Also, capture hook return value, either directly or via
31560 grub_children_iterate(), and propagate to caller.
31561 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31562 grub_children_iterate): Return value is now 'int' instead of
31563 'grub_err_t'.
31564 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31565 like a proper iterator, stopping when hooks return non-zero.
31566 (grub_devalias_iterate): Likewise.
31567
c8c08833 315682009-04-23 David S. Miller <davem@davemloft.net>
31569
31570 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31571
f01005a8 315722009-04-22 David S. Miller <davem@davemloft.net>
31573
31574 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31575 is larger than address_cells, use that value for address_cells too.
31576
4e8269da 31577 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31578 IEEE1275_MAX_PATH_LEN): Define.
31579 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31580 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31581 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31582 'devtype'. Explicitly NULL terminate devalias expansion.
31583
a1447506 31584 * util/sparc64/ieee1275/misc.c: New file.
31585 * util/sparc64/ieee1275/grub-setup.c: New file.
31586 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31587 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31588 * util/sparc64/ieee1275/grub-install.in: New file.
31589 * util/ieee1275/ofpath.c: New file.
31590 * util/ieee1275/devicemap.c: New file.
31591 * util/devicemap.c: New file.
31592 * util/deviceiter.c: New file.
31593 * kern/sparc64/ieee1275/init.c: New file.
31594 * include/grub/util/ofpath.h: New file.
31595 * include/grub/util/deviceiter.h: New file.
31596 * util/grub-mkdevicemap.c: Include deviceiter.h.
31597 Implement using grub_util_emit_devicemap_entry and
31598 grub_util_iterate_devices.
31599 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31600 util/devicemap.c into grub-mkdevicemap
31601 * conf/i386-efi.rmk: Likewise.
31602 * conf/i386-ieee1275.rmk: Likewise.
31603 * conf/i386-pc.rmk: Likewise.
31604 * conf/powerpc-ieee1275.rmk: Likewise.
31605 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31606 images and installation utilities. Build kernel as image
31607 instead of as elf binary. Use common rules as much as possible.
31608
7dd4a573 316092009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31610
31611 Correct GPT definition
31612
7dd4a573 31613 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31614 of "attrib" member
31615
c6c5219f 316162009-04-19 Felix Zielcke <fzielcke@z-51.de>
31617
31618 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31619
0552ff9f 316202009-04-19 David S. Miller <davem@davemloft.net>
31621
31622 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31623 (grub_rescue_cmd_linux): Rename to...
31624 (grub_cmd_linux): and fix prototype.
31625 (grub_rescue_cmd_initrd): Rename to...
31626 (grub_cmd_initrd): and fix prototype.
31627 (cmd_linux, cmd_initrd): New.
31628 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31629 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31630
d1a282fc 316312009-04-17 Pavel Roskin <proski@gnu.org>
31632
07c5039f 31633 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31634 format.
31635 (grub_ohci_transfer): Likewise.
31636
b012002d 31637 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31638
1bc09c35 31639 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31640 return without a value. Fix inconsistent indentation.
31641
e0ff9126 31642 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31643 match struct grub_fs.
31644
d1a282fc 31645 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31646 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31647 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31648 * commands/lspci.c (grub_lspci_iter): Likewise.
31649
a96df3f2 316502009-04-16 Bean <bean123ch@gmail.com>
31651
31652 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31653 value.
31654
41bb0fe9 316552009-04-15 Pavel Roskin <proski@gnu.org>
31656
31657 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31658 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31659 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31660 definitions.
31661
596c6970 316622009-04-15 Felix Zielcke <fzielcke@z-51.de>
31663
31664 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31665 that no multiple data or metadata areas are supported and `Unknown
596c6970 31666 metadata header'.
31667
7dd4a573 316682009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31669
31670 Move loader out of the kernel
31671
31672 * kern/loader.c: moved to ...
31673 * commands/boot.c: ... moved here
31674 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31675 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31676 * include/grub/kernel.h (grub_machine_fini): export
31677 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31678 (grub_loader_set): likewise
31679 (grub_loader_unset): likewise
31680 (grub_loader_boot): likewise
31681 * conf/common.rmk: new module boot.mod
31682 (pkglib_MODULES): add boot.mod
31683 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31684 (grub_emu_SOURCES): likewise
31685 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31686 (grub_emu_SOURCES): likewise
31687 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31688 (grub_emu_SOURCES): likewise
31689 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31690 (grub_emu_SOURCES): likewise
31691 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31692 (grub_emu_SOURCES): likewise
7dd4a573 31693 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31694 (grub_emu_SOURCES): likewise
0d5d5653 31695 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31696 (grub_emu_SOURCES): likewise
0d5d5653 31697
7dd4a573 316982009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31699
31700 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31701
5999d619 31702 * kern/misc.c (grub_itoa): Removed function
31703 (grub_ltoa): likewise
31704 (grub_vsprintf): use grub_lltoa
31705
7dd4a573 317062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31707
31708 Restore grub-emu
31709
31710 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31711 * conf/i386-coreboot.rmk: likewise
31712 * conf/i386-ieee1275.rmk: likewise
31713 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31714
20318222 317152009-04-15 Felix Zielcke <fzielcke@z-51.de>
31716
31717 * INSTALL: Add that `./autogen.sh' needs to be run before
31718 `./configure.'.
31719
d05f0df3 317202009-04-14 Bean <bean123ch@gmail.com>
31721
31722 * Makefile.in (pkglib_DATA): Add handler.lst.
31723 (handler.lst): New rule.
31724
31725 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31726 * conf/i386-coreboot.rmk: Likewise.
31727 * conf/i386-ieee1275.rmk: Likewise.
31728 * conf/i386-efi.rmk: Likewise.
31729 * conf/x86_64-efi.rmk: Likewise.
31730 * conf/powerpc-ieee1275.rmk: Likewise.
31731 * conf/sparc64-ieee1275.rmk: Likewise.
31732
31733 * genhandlerlist.sh: New file.
31734
31735 * genmk.rb: Add rules to generate handler.lst.
31736
31737 * include/grub/normal.h (grub_file_getline): New function definition.
31738 (read_handler_list): Likewise.
31739 (free_handler_list): Likewise.
31740
31741 * include/grub/term.h (grub_term_register_input): Add name parameter
31742 for auto generation of handler.lst.
31743 (grub_term_register_output): Likewise.
31744
31745 * normal/handler.c: New file.
31746
31747 * normal/main.c (get_line): Renamed to grub_file_getline.
31748 (read_config_file): Use the newly renamed grub_file_getline.
31749 (read_command_list): Likewise.
31750 (read_fs_list): Likewise.
31751 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31752 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31753
31754 * term/efi/console.c (grub_console_init): Add name parameter for auto
31755 generation of handler.lst.
31756 * term/gfxterm.c: Likewise.
31757 * term/i386/pc/at_keyboard.c: Likewise.
31758 * term/i386/pc/console.c: Likewise.
31759 * term/i386/pc/serial.c: Likewise.
31760 * term/i386/pc/vesafb.c: Likewise.
31761 * term/i386/pc/vga.c: Likewise.
31762 * term/i386/pc/vga_text.c: Likewise.
31763 * term/ieee1275/ofconsole.c: Likewise.
31764 * term/usb_keyboard.c: Likewise.
31765
33c846be 317662009-04-14 Bean <bean123ch@gmail.com>
31767
31768 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31769 properly with null character.
31770
4484e01e 317712009-04-14 Felix Zielcke <fzielcke@z-51.de>
31772
31773 * configure: Remove.
31774 * config.h.in: Likewise.
f93d668e 31775 * stamp-h.in: Likewise.
4484e01e 31776 * DISTLIST: Likewise.
31777 * conf/common.mk: Likewise.
31778 * conf/i386-coreboot.mk: Likewise.
31779 * conf/i386-efi.mk: Likewise.
31780 * conf/i386-ieee1275.mk: Likewise.
31781 * conf/i386.mk: Likewise.
31782 * conf/i386-pc.mk: Likewise.
31783 * conf/powerpc-ieee1275.mk: Likewise.
31784 * conf/sparc64-ieee1275.mk: Likewise.
31785 * conf/x86_64-efi.mk: Likewise.
31786
31787 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31788 develop on GRUB.
31789
7dd4a573 317902009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31791 David S. Miller <davem@davemloft.net>
31792
31793 * util/hostdisk.c (make_device_name): Fix buffer length
31794 calculations.
31795
e25b5a8c 317962009-04-14 Felix Zielcke <fzielcke@z-51.de>
31797
31798 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31799 <sys/param.h> and <sys/sysctl.h>.
31800 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31801 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31802 opening the device and reset them afterwards.
31803
1f1f580c 318042009-04-13 Pavel Roskin <proski@gnu.org>
31805
31806 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31807 Reported by John Stanley <jpsinthemix@verizon.net>
31808
7ebc2d6b 318092009-04-13 Robert Millan <rmh@aybabtu.com>
31810
31811 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31812 that name for menuentries when appropriate.
7ebc2d6b 31813
d8ba3667 318142009-04-13 Felix Zielcke <fzielcke@z-51.de>
31815
31816 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31817
cba416eb 318182009-04-13 Robert Millan <rmh@aybabtu.com>
31819
31820 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31821 to Linux, simply abort telling the user it's no longer supported.
31822
a547a745 318232009-04-13 Felix Zielcke <fzielcke@z-51.de>
31824
31825 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31826 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31827 `freebsd_loadenv' only when devices.hints exist.
31828
232a769c 318292009-04-13 Pavel Roskin <proski@gnu.org>
31830
31831 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31832
c3012039 318332009-04-13 Felix Zielcke <fzielcke@z-51.de>
31834
31835 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31836 partition number.
31837 (grub_drive): Likewise.
31838
234022fe 318392009-04-13 David S. Miller <davem@davemloft.net>
31840
31841 * kern/sparc64/ieee1275/ieee1275.c: New file.
31842 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31843 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31844 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31845 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31846 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31847 grub_ieee1275_alloc_physmem): Declare new exported functions.
31848
d8e1836c 31849 * include/grub/sparc64/ieee1275/loader.h: New file.
31850 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31851 * include/grub/sparc64/kernel.h: Likewise.
31852 * loader/sparc64/ieee1275/linux.c: Likewise.
31853
96bd81ec 31854 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31855 (grub_fstest_SOURCES): Likewise.
31856
6a4737e5 31857 * util/hostdisk.c (make_device_name): Do not make any assumptions
31858 about the length of drive names.
31859
1d7a72fd 31860 * kern/dl.c (grub_dl_load_file): Close file immediately when
31861 we are done using it.
31862
56bc2471 318632009-04-12 David S. Miller <davem@davemloft.net>
31864
31865 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31866 values. Noticed by Pavel Roskin.
31867
df38d0bb 31868 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31869 target compiler.
7dd4a573 31870
e382e93a 31871 * genmk.rb: Add more flexible image type specification, also
31872 pass --strip-unneeded to objcopy.
31873 * conf/i386-pc.rmk: Use *_FORMAT.
31874 * conf/i386-pc.mk: Rebuilt.
31875
f5dbbca9 31876 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31877 (OFDISK_HASH_SZ): Define.
31878 (ofdisk_hash): New hash table.
31879 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31880 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31881 instead of device phandle which is not unique.
31882
91c88b12 31883 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31884 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31885 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31886 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31887 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31888 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31889 GRUB_KERNEL_MACHINE_DATA_END): Define.
31890 (grub_kernel_image_size, grub_total_module_size): Declare.
31891
5b5d4aa5 318922009-04-12 Pavel Roskin <proski@gnu.org>
31893
7dd4a573 31894 * configure.ac: Change the logic when we check for target tools.
31895 Do it when the target is specified and it's different from the
31896 specified value of the host.
5b5d4aa5 31897
c91e1793 318982009-04-11 Felix Zielcke <fzielcke@z-51.de>
31899
31900 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31901 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31902 GNU/kFreeBSD. Check if a device is a character device. Use
31903 DIOCGMEDIASIZE to get the size.
31904 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31905 support for GNU/kFreeBSD.
31906 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31907 is a character device instead of a block device. Add support for
31908 FreeBSD device names.
31909
31910 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31911 is a character device instead of a block device.
31912
31913 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31914 is a character device instead of a block device.
31915
b1ac8644 319162009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31917
31918 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31919 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31920 FreeBSD. Check if a device is a character device. Use
31921 DIOCGMEDIASIZE to get the size.
31922 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31923 support for FreeBSD.
31924 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31925 is a character device instead of a block device. Add support for
31926 FreeBSD device names.
31927
31928 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31929 a character device instead of a block device.
31930 (grub_util_check_char_device): New function.
31931
31932 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31933 a character device instead of a block device.
31934
31935 * include/grub/util/getroot.h (grub_util_check_char_device): New
31936 prototype.
31937
a3f7515a 319382009-04-11 David S. Miller <davem@davemloft.net>
31939
31940 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31941 static libgcc.
31942 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31943 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31944 function, if present.
31945 (__bswapdi2): Likewise.
31946
0d44993d 31947 * include/grub/sparc64/ieee1275/boot.h: New file.
31948 * boot/sparc64/ieee1275/boot.S: Likewise.
31949 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31950
ed3d2bc2 31951 * kern/misc.c (grub_ltoa): New function.
31952 (grub_vsprintf): Use it to format 'long' integers.
31953
d3bfb59c 319542009-04-10 David S. Miller <davem@davemloft.net>
31955
31956 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31957 slots are of type grub_ieee1275_cell_t.
31958 (grub_nand_read): Likewise.
31959 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31960 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31961 macros are used to compare values in arg/ret block of the call.
31962 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31963 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31964 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31965 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31966 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31967 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31968 grub_ieee1275_close, grub_ieee1275_set_property,
31969 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31970 grub_ieee1275_cell_t.
31971 * kern/ieee1275/openfw.c (grub_map): Likewise.
31972 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31973 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31974
450e2238 31975 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31976 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31977 (grub_devalias_iterate): Likewise.
31978
7dd4a573 319792009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31980
31981 UFS improvements
31982
31983 * fs/ufs.c (INODE_NBLOCKS): new definition
31984 (struct grub_ufs_dirent): added fields for non-BSD dirents
31985 (grub_ufs_get_file_block): fixed double indirect handling
31986 (grub_ufs_lookup_symlink): use more robust way to determine whether
31987 symlink is inline
31988 (grub_ufs_find_file): support for non-BSD dirents
31989 (grub_ufs_dir): support for non-BSD dirents
31990
e7e6862a 319912009-04-10 Bean <bean123ch@gnail.com>
31992
31993 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31994 attribute, otherwise the size would be wrong for i386 platform.
31995
31996 * include/grub/pci.h (grub_pci_read_word): New inline function.
31997 (grub_pci_read_byte): Likewise.
31998 (grub_pci_write): Likewise.
31999 (grub_pci_write_word): Likewise.
32000 (grub_pci_write_byte): Likewise.
32001
32002 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32003
32004 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32005 (find_framebuf): Scan pci to locate the frame buffer address.
32006
32007 * commands/efi/fixvideo.c: New file.
32008
32009 * commands/efi/loadbios.c: Likewise.
32010
32011 * commands/memrw.c: Likewise.
32012
32013 * util/grub-dumpbios.in: Likewise.
32014
32015 * conf/common.rmk (grub-dumpbios): New utility.
32016 (pkglib_MODULES): New module memrw.mod.
32017 (memrw_mod_SOURCE): New macro.
32018 (memrw_mod_CFLAGS): Likewise.
32019 (memrw_mod_LDFLAGS): Likewise.
32020
7dd4a573 32021 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32022 fixvideo.mod.
32023 (loadbios_mod_SOURCE): New macro.
32024 (loadbios_mod_CFLAGS): Likewise.
32025 (loadbios_mod_LDFLAGS): Likewise.
32026 (fixvideo_mod_SOURCE): Likewise.
32027 (fixvideo_mod_CFLAGS): Likewise.
32028 (fixvideo_mod_LDFLAGS): Likewise.
32029
7dd4a573 32030 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32031 fixvideo.mod.
32032 (loadbios_mod_SOURCE): New macro.
32033 (loadbios_mod_CFLAGS): Likewise.
32034 (loadbios_mod_LDFLAGS): Likewise.
32035 (fixvideo_mod_SOURCE): Likewise.
32036 (fixvideo_mod_CFLAGS): Likewise.
32037 (fixvideo_mod_LDFLAGS): Likewise.
32038
af63ada2 320392009-04-08 Felix Zielcke <fzielcke@z-51.de>
32040
32041 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32042
c2cdde70 320432009-04-07 David S. Miller <davem@davemloft.net>
32044
32045 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32046 support for R_SPARC_OLO10 relocations. Fix compile warning for
32047 R_SPARC_WDISP30 case.
ea3f72cf 32048 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 32049
761319cf 320502009-04-06 Pavel Roskin <proski@gnu.org>
32051
1007d1f5 32052 * include/grub/misc.h (ARRAY_SIZE): New macro.
32053 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32054 New macro.
32055 * loader/i386/linux.c (allocate_pages): Use free_pages().
32056 (grub_linux_unload): Don't use free_pages().
32057 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32058 wrong index. Treat all other modes as text modes.
32059 (grub_cmd_linux): Initialize vid_mode unconditionally to
32060 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32061
761319cf 32062 * commands/help.c (print_command_help): Use cmd->prio, not
32063 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32064
ea761d40 320652009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 32066
ea761d40 32067 Parttool
32068
32069 * parttool/pcpart.c: new file
32070 * commands/parttool.c: likewise
32071 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32072 (parttool_mod_SOURCES): new variable
32073 (parttool_mod_CFLAGS): likewise
32074 (parttool_mod_LDFLAGS): likewise
32075 (pcpart_mod_SOURCES): likewise
32076 (pcpart_mod_CFLAGS): likewise
32077 (pcpart_mod_LDFLAGS): likewise
7dd4a573 32078 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 32079 and parttool/pcpart.c
32080 * conf/i386-efi.rmk: likewise
32081 * conf/i386-ieee1275.rmk: likewise
32082 * conf/i386-pc.rmk: likewise
32083 * conf/powerpc-ieee1275.rmk: likewise
32084 * conf/sparc64-ieee1275.rmk: likewise
32085 * conf/x86_64-ieee1275.rmk: likewise
32086
05aaebfb 320872009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32088
32089 Support for mtime and further expandability of dir command
32090
32091 * include/grub/lib/datetime.h: moved to ...
7dd4a573 32092 * include/grub/datetime.h: ... moved here and added
05aaebfb 32093 declaration of grub_unixtime2datetime. All users updated
7dd4a573 32094 * include/grub/fs.h: new syntax for dir and mtime functions in
32095 struct grub_fs
05aaebfb 32096 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32097 and GRUB_FSHELP_FLAGS_MASK
32098 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32099 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32100 (grub_ext2_mtime): new function
32101 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32102 (grub_hfsplus_mtime): new function
32103 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32104 (GRUB_UFS_ATTR_FILE): likewise
32105 (GRUB_UFS_ATTR_LNK): likewise
32106 (struct grub_ufs_sblock): new fields mtime
32107 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32108 all users updated
32109 (grub_ufs_dir): mtime support
32110 (grub_ufs_mtime): new function
32111 * fs/affs.c (grub_affs_dir): use new dir syntax
32112 * fs/afs.c (grub_afs_dir): likewise
32113 * fs/cpio.c (grub_cpio_dir): likewise
32114 * fs/fat.c (grub_fat_find_dir): likewise
32115 * fs/hfs.c (grub_hfs_dir): likewise
32116 * fs/iso9660.c (grub_iso9660_dir): likewise
32117 * fs/jfs.c (grub_jfs_dir): likewise
32118 * fs/minix.c (grub_minix_dir): likewise
32119 * fs/ntfs.c (grub_ntfs_dir): likewise
32120 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32121 * fs/sfs.c (grub_sfs_dir): likewise
32122 * fs/xfs.c (grub_xfs_dir): likewise
32123 * util/hostfs.c (grub_hostfs_dir): likewise
32124 * lib/datetime.c: moved to ...
32125 * normal/datetime.c: ... moved here
32126 (grub_unixtime2datetime): new function
32127 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 32128 * normal/completion.c (iterate_dir): use new dir syntax
32129 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 32130 last modification time of a volume
7dd4a573 32131 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 32132 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 32133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 32134 (normal_mod_SOURCES): likewise
32135 (datetime_mod_SOURCES): Removed lib/datetime.c
32136 * conf/i386-efi.rmk: likewise
7dd4a573 32137 * conf/i386-ieee1275.rmk: likewise
05aaebfb 32138 * conf/i386-pc.rmk: likewise
32139 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32140 * conf/sparc64-ieee1275.rmk: likewise
32141 * conf/x86_64-efi.rmk: likewise
05aaebfb 32142
8a7e1a14 321432009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32144
32145 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 32146
32147 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 32148 on grub_fat_find_dir
32149 (grub_fat_find_dir): use grub_fat_iterate_dir
32150 (grub_fat_label): likewise
32151
04186a9c 321522009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32153
7dd4a573 32154 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 32155 and command.h
32156 remove extraneous kernel_elf_HEADERS
32157
da4c0bb6 321582009-04-04 Bean <bean123ch@gnail.com>
32159
32160 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32161
32162 * util/misc.c: Likewise.
32163
54ad9555 321642009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32165
32166 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32167 instead of grub_printf.
32168
7a6bf9f2 321692009-04-03 Robert Millan <rmh@aybabtu.com>
32170
32171 * loader/i386/linux.c (grub_linux_setup_video): Fill
32172 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32173 values from `mode info' structure instead of hardcoded
32174 values.
32175
3fcc2083 321762009-04-01 Pavel Roskin <proski@gnu.org>
32177
32178 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32179 unused now.
32180 * genmk.rb: Likewise.
32181 * configure.ac: Likewise.
32182
5ec9740b 321832009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32184
32185 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32186 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32187
5270cec8 321882009-04-01 David S. Miller <davem@davemloft.net>
32189
32190 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 32191 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 32192 (grub_setjmp): Mark with 'returns_twice' attribute.
32193 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32194 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32195 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32196
9c3dd854 321972009-04-01 Robert Millan <rmh@aybabtu.com>
32198
32199 Reapply fix from 2008-07-28 which was accidentally reverted; also
32200 perform the same fix to a similar check in same function.
32201
32202 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32203 with the same number are found, just use issue a warning with
32204 grub_dprintf(), as this error has been reported to be non-fatal.
32205
0d818b7e 322062009-03-31 Pavel Roskin <proski@gnu.org>
32207
32208 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32209 for cross-compilation.
32210
95646d92 322112009-03-30 Robert Millan <rmh@aybabtu.com>
32212
32213 Fix i386-ieee1275 build.
32214
32215 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32216 Remove declaration.
32217
6a003ed1 322182009-03-30 Pavel Roskin <proski@gnu.org>
32219
32220 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32221 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32222 zero-terminated, rely only on the strlen value. Fix comparison
32223 of strings differing in length.
32224
92f33540 322252009-03-30 Robert Millan <rmh@aybabtu.com>
32226
32227 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32228 checking for abi version. Improve error messages on BIOS to notify
32229 user about `linux16' command.
32230
a8c48fd5 322312009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32232
f968172e 32233 Leak fixes
a8c48fd5 32234
f968172e 32235 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32236 in case of collision
32237 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 32238
9c323f09 322392009-03-29 Robert Millan <rmh@aybabtu.com>
32240
32241 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32242 set `vid_mode' accordingly.
32243 (grub_linux_boot): Process `vid_mode' and set video mode.
32244
ae68f423 322452009-03-29 Robert Millan <rmh@aybabtu.com>
32246
32247 * util/grub.d/10_linux.in (linux_entry): New function.
32248 Factorize generation of Linux boot entries.
32249
5709cfc4 322502009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32251
32252 Make the format of Environment Block plain text. The boot loader
32253 part is not tested well yet.
7dd4a573 32254
5709cfc4 32255 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32256 (buffer): Removed.
32257 (envblk): Likewise.
32258 (usage): Remove "info" and "clear". Add "unset". Update the
32259 description of "set", as this does not delete variables any
32260 longer.
32261 (create_envblk_file): Complete rewrite.
32262 (open_envblk_file): Likewise.
32263 (cmd_info): Removed.
32264 (cmd_list): Likewise.
32265 (cmd_set): Likewise.
32266 (cmd_clear): Likewise.
32267 (list_variables): New function.
32268 (write_envblk): Likewise.
32269 (set_variables): Likewise.
32270 (unset_variables): Likewise.
32271 (main): Complete rewrite.
32272
32273 * commands/loadenv.c (buffer): Removed.
32274 (envblk): Likewise.
32275 (open_envblk_file): New function.
32276 (read_envblk_file): Complete rewrite.
32277 (grub_cmd_load_env): Likewise.
32278 (grub_cmd_list_env): Likewise.
32279 (struct blocklist): New struct.
32280 (free_blocklists): New function.
32281 (check_blocklists): Likewise.
32282 (write_blocklists): Likewise.
32283 (grub_cmd_save_env): Complete rewrite.
32284
32285 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32286 a plain text signature.
32287 (GRUB_ENVBLK_MAXLEN): Removed.
32288 (struct grub_envblk): Complete rewrite.
32289 (grub_envblk_find): Removed.
32290 (grub_envblk_insert): Likewise.
32291 (grub_envblk_open): New prototype.
32292 (grub_envblk_set): Likewise.
32293 (grub_envblk_delete): Put const to VALUE.
32294 (grub_envblk_iterate): Put const to NAME and VALUE.
32295 (grub_envblk_close): New prototype.
32296 (grub_envblk_buffer): New inline function.
32297 (grub_envblk_size): Likewise.
32298
32299 * lib/envblk.c: Include grub/mm.h.
32300 (grub_env_find): Removed.
32301 (grub_envblk_open): New function.
32302 (grub_envblk_close): Likewise.
32303 (escaped_value_len): Likewise.
32304 (find_next_line): Likewise.
32305 (grub_envblk_insert): Removed.
32306 (grub_envblk_set): New function.
32307 (grub_envblk_delete): Complete rewrite.
32308 (grub_envblk_iterate): Likewise.
32309
a9368fd3 323102009-03-28 Robert Millan <rmh@aybabtu.com>
32311
32312 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32313 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32314 variables. Use 16-bit loader.
32315 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32316 loader.
32317 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32318 (grub_linux16_boot): ... this. Update all users.
32319 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32320 (grub_linux_boot): ... this. Update all users.
32321
32322 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32323 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32324 commands to `linux16' and `initrd16'.
32325 (GRUB_MOD_FINI(linux)): Rename to ...
32326 (GRUB_MOD_FINI(linux16)): ... this.
32327
e4dd5a7e 323282009-03-24 Pavel Roskin <proski@gnu.org>
32329
32330 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32331 not just for compilation.
32332
c04d6e05 323332009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32334
32335 Move multiboot helper out of kernel
32336
32337 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32338 `loader/i386/multiboot_helper.S'.
32339 * conf/i386-coreboot.rmk: Likewise
32340 * conf/i386-ieee1275.rmk: Likewise
32341
32342 * kern/i386/loader.S: Move multiboot helpers from here...
32343 * loader/i386/multiboot_helper.S: ...moved here
32344 * include/grub/i386/loader.h: Move declarations of multiboot
32345 helpers from here...
32346 * include/grub/i386/multiboot.h: ...moved here
32347 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32348
42a5b3fc 323492009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32350
32351 * kern/env.c (grub_env_context_open): Added an argument to specify
32352 whether a new context inherits exported variables from current
32353 one. This is useful when making a sandbox to interpret a config
32354 file.
32355 All callers updated.
32356
32357 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32358
b28bbc4e 323592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32360
32361 * kern/env.c (grub_env_context_close): Fix memory leaks.
32362
f04f02e4 323632009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32364
32365 * normal/main.c (grub_normal_execute): Added an argument
32366 BATCH to specify if an interactive interface should be provided
32367 after reading a config file.
32368 All callers updated.
32369 (read_command_list): Prevent being executed twice.
32370 (read_fs_list): Likewise.
32371
42a5b3fc 32372 * include/grub/normal.h (grub_normal_execute): Updated the
32373 prototype.
f04f02e4 32374
41473ac2 323752009-03-22 Pavel Roskin <proski@gno.org>
32376
fbc00b0c 32377 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32378 _start.
32379 * kern/i386/pc/startup.S: Likewise.
32380 * kern/i386/efi/startup.S: Likewise.
32381 * kern/i386/ieee1275/startup.S: Likewise.
32382 * kern/i386/coreboot/startup.S: Likewise.
32383 * kern/x86_64/efi/startup.S: Likewise.
32384
41473ac2 32385 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32386 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32387 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32388
2274cc8f 323892009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32390
32391 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32392
32393 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32394 limit detection.
32395 Use vaddr of correct segment for entry_point.
32396
b1b797cb 323972009-03-21 Bean <bean123ch@gmail.com>
32398
32399 * commands/blocklist.c: Add include file <grub/command.h>, remove
32400 <grub/normal.h> and <grub/arg.h>.
32401 (grub_cmd_blocklist): Use the new command interface.
32402 (GRUB_MOD_INIT): Likewise.
32403 (GRUB_MOD_FINI): Likewise.
32404 * commands/boot.c: Likewise.
32405 * commands/cat.c: Likewise.
32406 * commands/cmp.c: Likewise.
32407 * commands/configfile.c: Likewise.
32408 * commands/crc.c: Likewise.
32409 * commands/echo.c: Likewise.
32410 * commands/halt.c: Likewise.
32411 * commands/handler.c: Likewise.
32412 * commands/hdparm.c: Likewise.
32413 * commands/help.c: Likewise.
32414 * commands/hexdump.c: Likewise.
32415 * commands/loadenv.c: Likewise.
32416 * commands/ls.c: Likewise.
32417 * commands/lsmmap.c: Likewise.
32418 * commands/lspci.c: Likewise.
32419 * commands/loadenv.c: Likewise.
32420 * commands/read.c: Likewise.
32421 * commands/reboot.c: Likewise.
32422 * commands/search.c: Likewise.
32423 * commands/sleep.c: Likewise.
32424 * commands/test.c: Likewise.
32425 * commands/usbtest.c: Likewise.
32426 * commands/videotest.c: Likewise.
32427 * commands/i386/cpuid.c: Likewise.
32428 * commands/i386/pc/halt.c: Likewise.
32429 * commands/i386/pc/play.c: Likewise.
32430 * commands/i386/pc/pxecmd.c: Likewise.
32431 * commands/i386/pc/vbeinfo.c: Likewise.
32432 * commands/i386/pc/vbetest.c: Likewise.
32433 * commands/ieee1275/suspend.c: Likewise.
32434 * disk/loopback.c: Likewise.
32435 * font/font_cmd.c: Likewise.
32436 * hello/hello.c: Likewise.
32437 * loader/efi/appleloader.c: Likewise.
32438 * loader/efi/chainloader.c: Likewise.
32439 * loader/i386/bsd.c: Likewise.
32440 * loader/i386/efi/linux.c: Likewise.
32441 * loader/i386/ieee1275/linux.c: Likewise.
32442 * loader/i386/linux.c: Likewise.
32443 * loader/i386/pc/chainloader.c: Likewise.
32444 * loader/i386/pc/linux.c: Likewise.
32445 * loader/powerpc/ieee1275/linux.c: Likewise.
32446 * loader/multiboot_loader.c: Likewise.
32447 * term/gfxterm.c: Likewise.
32448 * term/i386/pc/serial.c: Likewise.
32449 * term/terminfo.c: Likewise.
32450
32451 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32452 * term/i386/pc/vga.c: Likewise.
32453 * video/readers/jpeg.c: Likewise.
32454 * video/readers/png.c: Likewise.
32455 * video/readers/tga.c: Likewise.
32456
32457 * util/grub-fstest (cmd_loopback): Removed.
32458 (cmd_blocklist): Likewise.
32459 (cmd_ls): Likewise.
32460 (grub_register_command): Likewise.
32461 (grub_unregister_command): Likewise.
32462 (execute_command): Use grub_command_find to locate command and execute
32463 it.
32464
32465 * include/grub/efi/chainloader.h: Removed.
32466 * loader/efi/chainloader_normal.c: Likewise.
32467 * loader/i386/bsd_normal.c: Likewise.
32468 * loader/i386/pc/chainloader_normal.c: Likewise.
32469 * loader/i386/pc/multiboot_normal.c: Likewise.
32470 * loader/linux_normal.c: Likewise.
32471 * loader/multiboot_loader_normal.c: Likewise.
32472 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32473
32474 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32475 and grub_register_command_p1.
32476
32477 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32478 kern/command.c, lib/arg.c and commands/extcmd.c.
32479 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32480 (minicmd_mod_SOURCES): New variable.
32481 (minicmd_mod_CFLAGS): Likewise.
32482 (minicmd_mod_LDFLAGS): Likewise.
32483 (extcmd_mod_SOURCES): Likewise.
32484 (extcmd_mod_CFLAGS): Likewise.
32485 (extcmd_mod_LDFLAGS): Likewise.
32486 (boot_mod_SOURCES): Removed.
32487 (boot_mod_CFLAGS): Likewise.
32488 (boot_mod_LDFLAGS): Likewise.
32489
32490 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32491 kern/corecmd.c.
32492 (kernel_img_HEADERS): Add command.h.
32493 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32494 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32495 and lib/arg.c.
32496 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32497 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32498 remove the corresponding normal mode command.
32499 (normal_mod_SOURCES): Remove normal/arg.c.
32500 * conf/i386-coreboot.rmk: Likewise.
32501 * conf/i386-efi.rmk: Likewise.
32502 * conf/i386-ieee1275.rmk: Likewise.
32503 * conf/powerpc-ieee1275.rmk: Likewise.
32504 * conf/x86_64-efi.rmk: Likewise.
32505
32506 * include/grub/arg.h: Move from here ...
32507 * include/grub/lib/arg.h: ... to here.
32508
32509 * normal/arg.c: Move from here ...
32510 * lib/arg.c: ... to here.
32511
32512 * commands/extcmd.c: New file.
32513 * commands/minicmd.c: Likewise.
32514 * include/grub/command.h: Likewise.
32515 * include/grub/extcmd.h: Likewise.
32516 * kern/command.c: Likewise.
32517 * kern/corecmd.c: Likewise.
32518
32519 * kern/list.c (grub_list_iterate): Return int instead of void.
32520 (grub_list_insert): New function.
32521 (grub_prio_list_insert): Likewise.
32522
32523 * kern/rescue.c (grub_rescue_command): Removed.
32524 (grub_rescue_command_list): Likewise.
32525 (grub_rescue_register_command): Likewise.
32526 (grub_rescue_unregister_command): Likewise.
32527 (grub_rescue_cmd_boot): Move to minicmd.c
32528 (grub_rescue_cmd_help): Likewise.
32529 (grub_rescue_cmd_info): Likewise.
32530 (grub_rescue_cmd_boot): Likewise.
32531 (grub_rescue_cmd_testload): Likewise.
32532 (grub_rescue_cmd_dump): Likewise.
32533 (grub_rescue_cmd_rmmod): Likewise.
32534 (grub_rescue_cmd_lsmod): Likewise.
32535 (grub_rescue_cmd_exit): Likewise.
32536 (grub_rescue_print_devices): Moved to corecmd.c.
32537 (grub_rescue_print_files): Likewise.
32538 (grub_rescue_cmd_ls): Likewise.
32539 (grub_rescue_cmd_insmod): Likewise.
32540 (grub_rescue_cmd_set): Likewise.
32541 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32542 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32543 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32544 commands, remove grub_rescue_register_command calls.
b1b797cb 32545
7d074e3c 32546 * normal/command.c (grub_register_command): Removed.
b1b797cb 32547 (grub_unregister_command): Likewise.
32548 (grub_command_find): Likewise.
32549 (grub_iterate_commands): Likewise.
32550 (rescue_command): Likewise.
32551 (export_command): Moved to corecmd.c.
32552 (set_command): Removed.
32553 (unset_command): Likewise.
32554 (insmod_command): Likewise.
32555 (rmmod_command): Likewise.
32556 (lsmod_command): Likewise.
32557 (grub_command_init): Likewise.
32558
32559 * normal/completion.c (iterate_command): Use cmd->prio to check for
32560 active command.
32561 (complete_arguments): Use grub_extcmd_t structure to find options.
32562 (grub_normal_do_completion): Change function grub_iterate_commands to
32563 grub_command_iterate.
32564
32565 * normal/execute.c (grub_script_execute_cmd): No need to parse
32566 argument here.
32567
32568 * normal/main.c (grub_dyncmd_dispatcher): New function.
32569 (read_command_list): Register unload commands as dyncmd.
32570 (grub_cmd_normal): Use new command interface, register rescue,
32571 unregister normal at entry, register normal, unregister rescue at exit.
32572
32573 * include/grub/list.h (grub_list_test_t): New type.
32574 (grub_list_iterate): Return int instead of void.
32575 (grub_list_insert): New function.
32576 (GRUB_AS_NAMED_LIST_P): New macro.
32577 (GRUB_AS_PRIO_LIST): Likewise.
32578 (GRUB_AS_PRIO_LIST_P): Likewise.
32579 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32580 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32581 (grub_prio_list): New structure.
32582 (grub_prio_list_insert): New function.
32583 (grub_prio_list_remove): New inline function.
32584
32585 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32586 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32587 (GRUB_COMMAND_FLAG_MENU): Likewise.
32588 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32589 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32590 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32591 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32592 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32593 (grub_command): Likewise.
32594 (grub_register_command): Likewise.
32595 (grub_command_find): Likewise.
32596 (grub_iterate_commands): Likewise.
32597 (grub_command_init): Likewise.
32598 (grub_arg_parse): Likewise.
32599 (grub_arg_show_help): Likewise.
32600
32601 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32602 (grub_rescue_unregister_command): Likewise.
32603
32604 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32605 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32606 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32607
32608 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32609 grub_rescue_cmd_initrd.
32610 * include/grub/i386/loader.h: Likewise.
32611 * include/grub/x86_64/loader.h: Likewise.
32612
32613 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32614
1f4147aa 326152009-03-21 Bean <bean123ch@gmail.com>
32616
32617 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32618 instead of stat in mingw environment.
32619
32620 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32621
32622 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32623
32624 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32625 AC_CONFIG_LINKS.
32626
2156d5ba 326272009-03-21 Bean <bean123ch@gmail.com>
32628
32629 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32630 out of range error.
32631
177b82ca 326322009-03-18 Michel Dänzer <michel@daenzer.net>
32633
32634 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32635 checking inode flags for EXT4_EXTENTS_FLAG.
32636
14aad807 326372009-03-18 Robert Millan <rmh@aybabtu.com>
32638
32639 * loader/i386/linux.c: Include `<grub/video.h>' and
32640 `<grub/i386/pc/vbe.h>'..
32641 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32642 (grub_linux32_boot): Attempt to configure video settings with
32643 grub_linux_setup_video().
32644 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32645 to avoid grub_console_fini() which would step out of graphical mode
32646 unconditionally.
32647
8cf83a27 326482009-03-14 Robert Millan <rmh@aybabtu.com>
32649
32650 Fix build on powerpc.
32651 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32652
40164e75 326532009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32654
32655 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32656 background image command.
32657
c58bc32a 326582009-03-12 Colin D Bennett <colin@gibibit.com>
32659
32660 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32661 (grub_gfxterm_putchar): Extract pairs of identical calls to
32662 draw_cursor out of conditional blocks.
32663
5415144a 326642009-03-11 Pavel Roskin <proski@gnu.org>
32665
32666 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32667 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32668
6394042e 326692009-03-11 Robert Millan <rmh@aybabtu.com>
32670
32671 * loader/i386/multiboot_elfxx.c
32672 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32673
b7b50e5f 326742009-03-11 Felix Zielcke <fzielcke@z-51.de>
32675
32676 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32677 `kern/handler.c'.
32678
1ca7fc96 326792009-03-11 Robert Millan <rmh@aybabtu.com>
32680
32681 * loader/i386/multiboot.c (code_size): New variable.
32682 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32683 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32684 4-byte alignment to MBI and others by increasing
7d074e3c 32685 `boot_loader_name_length' appropriately.
1ca7fc96 32686
32687 * loader/i386/multiboot_elfxx.c
32688 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32689
a83ea1d2 326902009-03-09 Felix Zielcke <fzielcke@z-51.de>
32691
32692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32693 `fs/ext2.c'.
32694
aa9f3bff 326952009-03-08 Robert Millan <rmh@aybabtu.com>
32696
32697 Make loader/i386/linux.c usable on i386-pc again.
32698
32699 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32700 memory to heap.
32701 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32702 `#error' stanza.
32703
d8b3b60e 327042009-03-07 Bean <bean123ch@gmail.com>
32705
32706 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32707 allocation.
32708
b362c9e9 327092009-03-06 Robert Millan <rmh@aybabtu.com>
32710
32711 Fix display issue on terminals with screen size other than 80x25
32712 (e.g. gfxterm with resolution higher than 640x480).
32713
32714 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32715 position relative to the center of the terminal instead of relying
b362c9e9 32716 on a hardcoded offset.
32717
9304eef1 327182009-03-04 Robert Millan <rmh@aybabtu.com>
32719
32720 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32721 installed.
32722
32723 * Makefile.in (host_kernel): New variable.
32724 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32725 scripts instead of just the windows one.
32726 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32727
eabc95fb 327282009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32729
32730 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32731 `kern/handler.c'.
32732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32733 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32737 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32738
ceb1223c 327392009-03-04 Felix Zielcke <fzielcke@z-51.de>
32740
32741 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32742 or if there's no space for the disk label and print the partition number on a
32743 invalid magic.
32744
4910684a 327452009-03-04 Felix Zielcke <fzielcke@z-51.de>
32746
32747 * util/misc.c: Include <time.h>.
32748 (grub_millisleep): New function.
32749
7e9ca17a 327502009-03-04 Bean <bean123ch@gmail.com>
32751
32752 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32753 another option -mno-red-zone.
32754
32755 * commands/handler.c: Change module description.
32756
32757 * kern/handler.c: Add missing space at the end of description line.
32758
32759 * kern/list.c: Likewise.
32760
f501677c 327612009-03-03 Robert Millan <rmh@aybabtu.com>
32762
32763 Move more components to the relocation area, and fix mbi pointer
32764 handling to use the destination rather than the origin (thanks to
32765 Vladimir Serbinenko for spotting).
32766
32767 * loader/i386/multiboot.c (mbi_dest): New variable.
32768 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32769 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32770 relocation area.
32771
9902d047 327722009-03-01 Bean <bean123ch@gmail.com>
32773
50fb7002 32774 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32775 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32776 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32777 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32778
32779 * loader/i386/efi/linux.c (acpi_guid): New variable.
32780 (acpi_guid): Likewise.
32781 (EBDA_SEG_ADDR): New constant.
32782 (LOW_MEM_ADDR): Likewise.
32783 (FAKE_EBDA_SEG): Likewise.
32784 (fake_bios_data): New function.
32785 (grub_linux_boot): Call fake_bios_data.
32786
71b9f361 327872009-03-01 Bean <bean123ch@gmail.com>
32788
32789 * commands/terminal.c: Removed.
32790
32791 * commands/handler.c: New file.
32792
32793 * include/grub/list.h: Likewise.
32794
32795 * include/grub/handler.h: Likewise.
32796
32797 * kern/list.c: Likewise.
32798
32799 * kern/handler.c: Likewise.
32800
32801 * kern/term.h: Include header file <grub/handler.h>.
32802 (grub_term_input): Move next field to the beginning.
32803 (grub_term_output): Likewise.
32804 (grub_term_input_class): New variable.
32805 (grub_term_output_class): Likewise.
32806 (grub_term_register_input): Changed to inline function.
32807 (grub_term_register_output): Likewise.
32808 (grub_term_unregister_input): Likewise.
32809 (grub_term_unregister_output): Likewise.
32810 (grub_term_set_current_input): Likewise.
32811 (grub_term_set_current_output): Likewise.
32812 (grub_term_get_current_input): Likewise.
32813 (grub_term_get_current_output): Likewise.
32814 (grub_term_iterate_input): Removed.
32815 (grub_term_iterate_output): Likewise.
32816
32817 * kern/term.c (grub_term_list_input): Removed.
32818 (grub_term_list_output): Likewise.
32819 (grub_term_input_class): New variable.
32820 (grub_term_output_class): Likewise.
50fb7002 32821 (grub_cur_term_input): Change variable as macro.
71b9f361 32822 (grub_cur_term_output): Likewise.
32823 (grub_term_register_input): Removed.
32824 (grub_term_register_output): Likewise.
32825 (grub_term_unregister_input): Likewise.
32826 (grub_term_unregister_output): Likewise.
32827 (grub_term_set_current_input): Likewise.
32828 (grub_term_set_current_output): Likewise.
32829 (grub_term_iterate_input): Likewise.
32830 (grub_term_iterate_output): Likewise.
32831 (grub_term_get_current_input): Likewise.
32832 (grub_term_get_current_output): Likewise.
32833
32834 * util/grub-editenv.c: Include header file <grub/handler.h>.
32835 (grub_term_get_current_input): Removed.
32836 (grub_term_get_current_output): Likewise.
32837 (grub_term_input_class): New variable.
50fb7002 32838 (grub_term_output_class): Likewise.
71b9f361 32839
32840 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32841 (grub_term_get_current_output): Likewise.
32842 (grub_term_input_class): New variable.
50fb7002 32843 (grub_term_output_class): Likewise.
71b9f361 32844
32845 * util/grub-probe.c (grub_term_get_current_input): Removed.
32846 (grub_term_get_current_output): Likewise.
32847 (grub_term_input_class): New variable.
50fb7002 32848 (grub_term_output_class): Likewise.
71b9f361 32849
32850 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32851 (grub_term_get_current_output): Likewise.
32852 (grub_term_input_class): New variable.
50fb7002 32853 (grub_term_output_class): Likewise.
71b9f361 32854
32855 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32856 (terminal_mod_SOURCES): Likewise.
32857 (terminal_mod_CFLAGS): Likewise.
32858 (terminal_mod_LDFLAGS): Likewise.
32859
32860 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32861 handler.c.
32862 (kernel_img_SOURCES): Add list.c and handler.c.
32863 (kernel_img_HEADERS): Add list.h and handler.h.
32864
32865 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32866 handler.c.
32867 (kernel_mod_SOURCES): Add list.c and handler.c.
32868 (kernel_mod_HEADERS): Add list.h and handler.h.
32869
32870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32871 handler.c.
32872 (kernel_elf_SOURCES): Add list.c and handler.c.
32873 (kernel_elf_HEADERS): Add list.h and handler.h.
32874
32875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32876 handler.c.
32877 (kernel_elf_SOURCES): Add list.c and handler.c.
32878 (kernel_elf_HEADERS): Add list.h and handler.h.
32879
32880 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32881 handler.c.
32882 (kernel_mod_SOURCES): Add list.c and handler.c.
32883 (kernel_mod_HEADERS): Add list.h and handler.h.
32884
32885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32886 handler.c.
32887 (kernel_elf_SOURCES): Add list.c and handler.c.
32888 (kernel_elf_HEADERS): Add list.h and handler.h.
32889
8a31787f 328902009-02-27 Robert Millan <rmh@aybabtu.com>
32891
32892 Factorize elf32 / elf64 code in Multiboot loader. This will
32893 prevent it from getting out of sync again.
32894
32895 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32896 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32897 grub_multiboot_load_elf64): Move from here ...
32898 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32899 grub_multiboot_load_elf): ... to here (new file).
32900
51cd3dfc 329012009-02-27 Robert Millan <rmh@aybabtu.com>
32902
32903 * util/grub.d/10_linux.in: Rename "single-user mode" to
32904 "recovery mode".
32905
6e8c9c3a 329062009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32907
32908 Don't leak in SCSI code.
32909 * disk/scsi.c (grub_scsi_close): free `scsi'.
32910
4b6bf4f9 329112009-02-27 Robert Millan <rmh@aybabtu.com>
32912
32913 * loader/i386/pc/multiboot.c: Move from here ...
32914 * loader/i386/multiboot.c: ... to here. Update all users.
32915
b9413424 329162009-02-27 Robert Millan <rmh@aybabtu.com>
32917
32918 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32919 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32920
50fb7002 329212009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32922
32923 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32924 b-tree.
32925
8cc50345 329262009-02-27 Robert Millan <rmh@aybabtu.com>
32927
32928 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32929 `0x' qualifier as 0 when base is specified as parameter).
32930
6e09b8b7 329312009-02-24 Bean <bean123ch@gmail.com>
32932
32933 * configure.ac: Check for -mcmodel=large in x86_64 target.
32934
32935 * include/grub/efi/api.h (efi_call_10): New macro.
32936 (efi_wrap_10): New function.
32937
32938 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32939 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32940 (GRUB_PE32_REL_BASED_LOW): Likewise.
32941 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32942 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32943 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32944 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32945 (GRUB_PE32_REL_BASED_REL): Likewise.
32946 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32947 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32948 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32949
32950 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32951 issue.
32952
32953 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32954 (efi_wrap_10): New function.
32955
32956 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32957
32958 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32959 MB/MBP model (NV chipset).
32960 (devdata_devs): Add devpath_5 to the list.
32961
32962 * load/i386/efi/linux.c (video_base): Remove variable.
32963 (RGB_MASK): New macro.
32964 (RGB_MAGIC): Likewise.
32965 (LINE_MIN): Likewise.
32966 (LINE_MAX): Likewise.
32967 (FBTEST_STEP): Likewise.
32968 (FBTEST_COUNT): Likewise.
32969 (fb_list): New variable.
32970 (grub_find_video_card): Remove function.
32971 (find_framebuf): New function.
32972 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32973 line length.
32974
32975 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32976 problem for x86_64.
32977
74b21bee 329782009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32979
32980 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32981
32982 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32983 coding tool name.
32984
a455f472 329852009-02-22 Robert Millan <rmh@aybabtu.com>
32986
32987 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32988 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32989 in our relocation, instead of using it directly from heap. Also
32990 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32991
6374daf3 329922009-02-21 Robert Millan <rmh@aybabtu.com>
32993
32994 Implement USB keyboard support (based on patch by Marco Gerards)
32995
32996 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32997 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32998 (usb_keyboard_mod_LDFLAGS): New variables.
32999
33000 * term/usb_keyboard.c: New file.
33001
8fa4ea70 330022009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33003
33004 Corrected wrong declaration
33005
33006 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33007
353976ac 330082009-02-14 Christian Franke <franke@computer.org>
33009
33010 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33011 (grub_lspci_iter): Print class code and programming interface byte.
33012
6aa1169b 330132009-02-14 Christian Franke <franke@computer.org>
33014
33015 * gendistlist.sh: Ignore `.svn' directories.
33016
265372ca 330172009-02-14 Felix Zielcke <fzielcke@z-51.de>
33018
33019 * fs/fat.c: Add 2009 to Copyright line.
33020
9ff516f3 330212009-02-14 Christian Franke <franke@computer.org>
33022
33023 * commands/hdparm.c: New file. Provides `hdparm' command
33024 which sends ATA commands via grub_disk_ata_pass_through ().
33025
33026 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33027
33028 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33029 and <grub/cpu/io.h> to include/grub/ata.h.
33030 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33031 (GRUB_CDROM_SECTOR_SIZE): Remove.
33032 (GRUB_ATA_*): Move to include/grub/ata.h.
33033 (GRUB_ATAPI_*): Likewise.
33034 (enum grub_ata_commands): Likewise.
33035 (enum grub_ata_timeout_milliseconds): Likewise.
33036 (struct grub_ata_device): Likewise.
33037 (grub_ata_regset): Likewise.
33038 (grub_ata_regget): Likewise.
33039 (grub_ata_regset2): Likewise.
33040 (grub_ata_regget2): Likewise.
33041 (grub_ata_check_ready): Likewise.
33042 (grub_ata_wait_not_busy): Remove static, exported in
33043 include/grub/ata.h.
33044 (grub_ata_wait_drq): Likewise.
33045 (grub_ata_pio_read): Likewise.
33046
33047 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33048 function for hdparm.mod.
33049
33050 * include/grub/ata.h: New file, contains declarations from
33051 disk/ata.c.
33052 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33053
33054 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33055 (grub_disk_ata_pass_through): New exported variable.
33056
33057 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33058
772e23da 330592009-02-13 Colin D Bennett <colin@gibibit.com>
33060
33061 Support multiple fallback entries, and provide an API to support
33062 executing default+fallback menu entries. Renamed the `terminal' menu
33063 viewer to `text'.
33064
33065 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33066 variable declaration.
33067 (grub_menu_execute_callback): New structure declaration.
33068 (grub_menu_execute_callback_t): New typedef.
33069 (grub_menu_execute_with_fallback): New function declaration.
33070 (grub_menu_get_entry): Likewise.
33071 (grub_menu_get_timeout): Likewise.
33072 (grub_menu_set_timeout): Likewise.
33073
33074 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33075
33076 * normal/menu.c (grub_wait_after_message): Moved to
33077 `normal/menu_text.c'.
33078 (draw_border): Likewise.
33079 (print_message): Likewise.
33080 (print_entry): Likewise.
33081 (print_entries): Likewise.
33082 (grub_menu_init_page): Likewise.
33083 (get_entry_number): Likewise.
33084 (print_timeout): Likewise.
33085 (run_menu): Likewise.
33086 (grub_menu_execute_entry): Likewise.
33087 (show_text_menu): Likewise.
33088 (get_and_remove_first_entry_number): New function.
33089 (grub_menu_execute_with_fallback): Likewise.
33090 (get_entry): Renamed to ...
33091 (grub_menu_get_entry): .. this and made it global.
33092 (get_timeout): Renamed to ...
33093 (grub_menu_get_timeout): ... this and made it global.
33094 (set_timeout): Renamed to ...
33095 (grub_menu_set_timeout): ... this and made it global.
33096 (grub_normal_terminal_menu_viewer): Renamed to ...
33097 (grub_normal_text_menu_viewer): ... this.
33098
33099 * normal/menu_text.c: New file. Extracted text-menu-specific code
33100 from normal/menu.c.
33101
33102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33103 (normal_mod_SOURCES): Likewise.
33104
33105 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33106 (normal_mod_SOURCES): Likewise.
33107
33108 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33109 (normal_mod_SOURCES): Likewise.
33110
33111 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33112 (normal_mod_SOURCES): Likewise.
33113
33114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33115 (normal_mod_SOURCES): Likewise.
33116
33117 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33118 (normal_mod_SOURCES): Likewise.
33119
33120 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33121 (normal_mod_SOURCES): Likewise.
33122
16ac430e 331232009-02-11 Robert Millan <rmh@aybabtu.com>
33124
33125 * util/grub.d/00_header.in: Update old reference to `font' command.
33126
06ff20fc 331272009-02-10 Felix Zielcke <fzielcke@z-51.de>
33128
33129 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33130
33131 Based on patch from Javier Martín.
33132
96da9407 331332009-02-09 Felix Zielcke <fzielcke@z-51.de>
33134
33135 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 33136 to avoid false positives with FAT.
96da9407 33137 (grub_fstest_SOURCES): Likewise.
33138 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33139 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33141 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33144
6dca6fe4 331452009-02-09 Felix Zielcke <fzielcke@z-51.de>
33146
06ff20fc 33147 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 33148 bpb.version_specific.fat12_or_fat16.fstype and
33149 bpb.version_specific.fat32.fstype.
33150
2550c62f 331512009-02-08 Robert Millan <rmh@aybabtu.com>
33152
be110b30 33153 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 33154
56978920 331552009-02-08 Robert Millan <rmh@aybabtu.com>
33156
33157 * Makefile.in (host_os, host_cpu): New variables.
33158 (target_os): Remove. Update all users.
33159
d64399b5 331602009-02-08 Marco Gerards <marco@gnu.org>
33161
33162 * Makefile.in (enable_grub_emu_usb): New variable.
33163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33164 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33165 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33166 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33167 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33168 `usbtest.mod' and `usbms.mod'.
33169 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33170 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33171 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33172 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33173 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33174 variables.
33175
33176 * disk/usbms.c: New file.
33177
33178 * include/grub/usb.h: Likewise.
33179
33180 * include/grub/usbtrans.h: Likewise.
33181
33182 * include/grub/usbdesc.h: Likewise.
33183
33184 * bus/usb/usbtrans.c: Likewise.
33185
33186 * bus/usb/ohci.c: Likewise.
33187
33188 * bus/usb/uhci.c: Likewise.
33189
33190 * bus/usb/usbhub.c: Likewise.
33191
33192 * bus/usb/usb.c: Likewise.
33193
33194 * commands/usbtest.c: Likewise.
33195
33196 * util/usb.c: Likewise.
50fb7002 33197
d64399b5 33198 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33199
33200 * configure.ac: Test for libusb presence.
50fb7002 33201
d64399b5 33202 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33203
2b40d6bb 332042009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33205
33206 * kern/mm.c: Add more comments.
33207
73a4ce81 332082009-02-08 Robert Millan <rmh@aybabtu.com>
33209
33210 Patch from Javier Martín.
33211 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33212 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33213
f821ce59 332142009-02-08 Robert Millan <rmh@aybabtu.com>
33215
33216 * fs/cpio.c: Split tar functionality to ...
33217 * fs/tar.c: ... here (new file). Update all users.
33218
aebfc4b0 332192009-02-07 Robert Millan <rmh@aybabtu.com>
33220
33221 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33222 backward-incompatible features.
33223
33224 Based on patch from Javier Martín, with some adjustments.
33225
50fb7002 332262009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 33227
33228 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33229
0bb5115e 332302009-02-07 Robert Millan <rmh@aybabtu.com>
33231
33232 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33233 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33234 after the RAID stuff.
33235
38a0f8e7 332362009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33237
50fb7002 33238 Fixes problem when running vbetest command as reported by
38a0f8e7 33239 Vladimir Serbinenko <phcoder@gmail.com>.
33240
33241 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33242
3143cc1c 332432009-02-04 Felix Zielcke <fzielcke@z-51.de>
33244
33245 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33246 /dev/md/NpN style mdraid devices.
33247
9cba6fce 332482009-02-03 Felix Zielcke <fzielcke@z-51.de>
33249
33250 * util/unifont2pff.rb: Remove.
33251
e507a2c1 332522009-02-03 Felix Zielcke <fzielcke@z-51.de>
33253
33254 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33255 `#'.
33256
d2c2b4cd 332572009-02-03 Felix Zielcke <fzielcke@z-51.de>
33258
33259 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33260 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33261 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33262 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33264 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33265 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33266
b4315fb0 332672009-02-02 Christian Franke <franke@computer.org>
33268
33269 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33270
de3aa260 332712009-02-01 Felix Zielcke <fzielcke@z-51.de>
33272
7c3ff286 33273 * INSTALL: Note that we now require at least autoconf 2.59 and
33274 that LZO is optional.
de3aa260 33275
825a182b 332762009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33277
33278 Base on patch on bug #24154 created by Tomas Tintera
33279 <trosos@seznam.cz>.
33280
33281 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33282
a69ef770 332832009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33284
7c3ff286 33285 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 33286 <bero@arklinux.org>.
33287
33288 * normal/parser.y (script_init): Add missing semicolon.
33289
6fa42fa6 332902009-01-31 Colin D Bennett <colin@gibibit.com>
33291
7c3ff286 33292 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 33293 (free_menu_entry_classes): Added.
33294 (grub_normal_menu_addentry): Added class property handling.
33295 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33296 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33297
33298 * normal/menu_viewer.c: New file.
33299
33300 * normal/menu.c (run_menu_entry): Renamed to ...
33301 (grub_menu_execute_entry): ... this and made it as global.
33302 (grub_menu_run): Renamed to ...
33303 (show_text_menu): ... this and made it local.
33304 (show_text_menu): Adapt to new function names.
33305 (grub_normal_terminal_menu_viewer): New global variable.
33306
33307 * include/grub/menu.h: New file.
33308
33309 * include/grub/menu_viewer.h: New file.
33310
33311 * include/grub/normal.h: Added include to grub/menu.h.
33312 (grub_menu_entry): Moved to include/grub/menu.h.
33313 (grub_menu_entry_t): Likewise.
33314 (grub_menu): Likewise.
33315 (grub_menu_t): Likewise.
33316 (grub_normal_terminal_menu_viewer): Added.
33317 (grub_menu_execute_entry): Likewise.
33318 (grub_menu_run): Removed.
33319
33320 * DISTLIST: Added include/grub/menu.h.
33321 Added include/grub/menu_viewer.h.
33322 Added normal/menu_viewer.c.
33323
333242009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33325
33326 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33327 arglist for menutitle arguments.
33328
33329 * normal/main.c (grub_normal_menu_addentry): Likewise.
33330
33331 * normal/parser.y (menuentry): Likewise.
33332
33333 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33334
33335 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33336 (grub_script_create_cmdmenu): Likewise.
33337
33338 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33339
33340 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33341 changes.
33342
33343 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33344
33345 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33346
33347 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33348
33349 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33350
33351 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33352
33353 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33354
56192c23 333552009-01-30 Christian Franke <franke@computer.org>
33356
33357 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33358 in option help text.
33359
d72521b3 333602009-01-27 Pavel Roskin <proski@gnu.org>
33361
33362 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33363
994b5e84 333642009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33365
33366 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33367
33368 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33369
33370 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33371 unregister function.
33372
6a7eab2c 333732009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33374
33375 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33376
33377 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33378
33379 * util/grub-mkfont.c (usage): Fix typo.
33380
33381 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33382
1806b56e 333832009-01-26 Daniel Mierswa <impulze@impulze.org>
33384
3fb18f09 33385 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33386
336e1fb9 33387 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33388
1806b56e 33389 * kern/misc.c (grub_strcasecmp): New function.
33390 (grub_strcasecmp): Use grub_size_t instead of int for length.
33391 Fix return value.
33392 * include/grub/misc.h: Update function prototypes.
33393
580b2a0f 333942009-01-26 Robert Millan <rmh@aybabtu.com>
33395
33396 * configure.ac: Fix cross-compilation check.
ef257b36 33397
d31c24f1 333982009-01-22 Christian Franke <franke@computer.org>
33399
33400 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33401 (precision) digit string. Allow `.format2' without `format1' (width).
33402 Limit input chars for `%s' output to `format2' if specified. This is
33403 compatible with standard printf ().
33404
3138b44c 334052009-01-22 Christian Franke <franke@computer.org>
33406
33407 * disk/ata.c (grub_ata_wait_status): Replace by ...
33408 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33409 other status bits may be invalid while BSY is asserted.
33410 (grub_ata_check_ready): New function.
33411 (grub_ata_cmd): Removed.
33412 (grub_ata_wait_drq): New function.
33413 (grub_ata_strncpy): Remove inline.
33414 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33415 and error check now done by grub_ata_wait_drq ().
33416 (grub_ata_pio_write): Likewise.
33417 (grub_atapi_identify): Set DEV before check for !BSY. Use
33418 grub_ata_wait_drq () to wait for data.
33419 (grub_ata_device_initialize): Add status register check to
33420 detect missing SATA slave devices. Add debug messages.
33421 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33422 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33423 transfer loop by grub_ata_pio_write ().
33424 (grub_ata_identify): Set DEV before check for !BSY. Use
33425 grub_ata_wait_drq () to wait for data.
ef257b36 33426 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33427 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33428 read/write in one loop. Fix invalid command on write. Fix incomplete
33429 command on (size % batch) == 0. Add missing error check after write of
33430 last block. Add debug messages.
33431 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33432
59a64ef6 334332009-01-19 Christian Franke <franke@computer.org>
33434
33435 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33436 (GRUB_ATAPI_IREASON_*): Likewise.
33437 (grub_ata_pio_write): Fix timeout error return.
33438 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33439 (grub_atapi_wait_drq): New function.
33440 (grub_atapi_packet): New parameter `size'.
33441 Use grub_atapi_wait_drq () and direct write instead of
33442 grub_ata_pio_write ().
33443 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33444 reads the number of bytes requested by the device for each DRQ
33445 assertion.
33446 (grub_atapi_write): Remove old implementation, return not
33447 implemented instead.
33448
1cfe20b3 334492009-01-19 Christian Franke <franke@computer.org>
33450
33451 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33452 of 512 to calculate data size.
33453 (grub_scsi_read12): Likewise.
33454 (grub_scsi_write10): Likewise.
33455 (grub_scsi_write12): Likewise.
33456 (grub_scsi_read): Adjust size according to blocksize.
33457 Add checks for invalid blocksize and unaligned transfer.
33458
bee5fe5d 334592009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33460
33461 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33462
ef257b36 33463 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33464 width glyphs.
33465
3e643f8c 334662009-01-19 Robert Millan <rmh@aybabtu.com>
33467
33468 * config.guess: Update to latest version from config git.
33469 * config.sub: Likewise.
33470
4fa80998 334712009-01-17 Felix Zielcke <fzielcke@z-51.de>
33472
33473 * Makefile.in: Change font compilation to use new grub-mkfont instead
33474 of java version.
33475
33476 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33477 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33478 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33479 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33480 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33481 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33482 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33483 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33484 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33485
7086085b 334862009-01-16 Christian Franke <franke@computer.org>
33487
33488 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33489 (enum grub_ata_timeout_milliseconds): New enum.
33490 (grub_ata_wait_status): Add parameter milliseconds.
33491 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33492 recovery from timed-out commands.
33493 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33494 return grub_errno instead of REG_ERROR.
33495 (grub_ata_pio_write): Add parameter milliseconds.
33496 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33497 Pass milliseconds to grub_ata_wait_status () and
33498 grub_ata_pio_read ().
33499 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33500 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33501 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33502 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33503 It is not suitable for device detection, because DEV bit is ignored,
33504 the command may run too long, and not all devices set the signature
33505 properly.
33506 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33507 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33508 Fix device selection, DEV bit must be set first to address the registers
33509 of the correct device.
33510 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33511 grub_ata_pio_read/write ().
33512 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33513 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33514
4a412913 335152009-01-13 Carles Pina i Estany <carles@pina.cat>
33516
33517 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33518
7795c55e 335192009-01-13 Bean <bean123ch@gmail.com>
d913988c 33520
33521 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33522
7795c55e 335232009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33524
33525 * Makefile.in: (enable_grub_mkfont): New variable.
33526 (freetype_cflags): Likewise.
33527 (freetype_libs): Likewise.
33528
33529 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33530 (grub_mkfont_SOURCES): New variable.
33531 (grub_mkfont_CFLAGS): Likewise.
33532 (grub_mkfont_LDFLAGS): Likewise.
33533
33534 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33535 library if `--enable-grub-mkfont' is requested.
33536 (enable_grub_mkfont): New variable.
33537 (freetype_cflags): Likewise.
33538 (freetype_libs): Likewise.
33539
33540 * util/grub-mkfont.c: New file.
33541
093af1fe 335422009-01-12 Christian Franke <franke@computer.org>
33543
33544 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33545 mode check. Fix setting of compat_use[].
33546
f36cc108 335472009-01-10 Robert Millan <rmh@aybabtu.com>
33548
33549 Update a few copyright years which we forgot to do in 2008 (only for
33550 files whose changes made in 2008 were copyright-significant)
33551
33552 * Makefile.in: Add 2008 to Copyright line.
33553 * disk/ieee1275/ofdisk.c: Likewise.
33554 * disk/efi/efidisk.c: Likewise.
33555 * kern/dl.c: Likewise.
33556 * kern/sparc64/ieee1275/init.c: Likewise.
33557 * kern/mm.c: Likewise.
33558 * kern/efi/mm.c: Likewise.
33559 * boot/i386/pc/boot.S: Likewise.
33560 * genfslist.sh: Likewise.
33561 * fs/iso9660.c: Likewise.
33562 * fs/hfs.c: Likewise.
33563 * fs/jfs.c: Likewise.
33564 * fs/minix.c: Likewise.
33565 * fs/ufs.c: Likewise.
33566 * gensymlist.sh.in: Likewise.
33567 * genkernsyms.sh.in: Likewise.
33568 * include/grub/misc.h: Likewise.
33569 * include/grub/types.h: Likewise.
33570 * include/grub/symbol.h: Likewise.
33571 * include/grub/elf.h: Likewise.
33572 * include/grub/kernel.h: Likewise.
33573 * include/grub/disk.h: Likewise.
33574 * include/grub/dl.h: Likewise.
33575 * include/grub/i386/linux.h: Likewise.
33576 * include/grub/i386/pc/biosdisk.h: Likewise.
33577 * include/grub/efi/api.h: Likewise.
33578 * include/grub/efi/pe32.h: Likewise.
33579 * include/grub/util/misc.h: Likewise.
33580 * normal/execute.c: Likewise.
33581 * normal/arg.c: Likewise.
33582 * normal/completion.c: Likewise.
33583 * normal/lexer.c: Likewise.
33584 * normal/parser.y: Likewise.
33585 * normal/misc.c: Likewise.
33586 * commands/i386/pc/vbeinfo.c: Likewise.
33587 * commands/hexdump.c: Likewise.
33588 * commands/terminal.c: Likewise.
33589 * commands/ls.c: Likewise.
33590 * commands/help.c: Likewise.
33591 * partmap/pc.c: Likewise.
33592 * loader/efi/chainloader.c: Likewise.
33593 * loader/multiboot_loader.c: Likewise.
33594 * loader/i386/pc/multiboot2.c: Likewise.
33595 * term/efi/console.c: Likewise.
33596 * term/i386/pc/serial.c: Likewise.
33597 * util/lvm.c: Likewise.
33598 * util/console.c: Likewise.
33599 * util/i386/efi/grub-mkimage.c: Likewise.
33600 * util/raid.c: Likewise.
33601
7f02114b 336022009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33603
33604 * commands/videotest.c: Removed include to grub/machine/memory.h.
33605
33606 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33607 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33608 (video_mod_SOURCES): Removed.
33609 (video_mod_CFLAGS): Likewise.
33610 (video_mod_LDFLAGS): Likewise.
33611 (gfxterm_mod_SOURCES): Likewise.
33612 (gfxterm_mod_CFLAGS): Likewise.
33613 (gfxterm_mod_LDFLAGS): Likewise.
33614 (videotest_mod_SOURCES): Likewise.
33615 (videotest_mod_CFLAGS): Likewise.
33616 (videotest_mod_LDFLAGS): Likewise.
33617 (bitmap_mod_SOURCES): Likewise.
33618 (bitmap_mod_CFLAGS): Likewise.
33619 (bitmap_mod_LDFLAGS): Likewise.
33620 (tga_mod_SOURCES): Likewise.
33621 (tga_mod_CFLAGS): Likewise.
33622 (tga_mod_LDFLAGS): Likewise.
33623 (jpeg_mod_SOURCES): Likewise.
33624 (jpeg_mod_CFLAGS): Likewise.
33625 (jpeg_mod_LDFLAGS): Likewise.
33626 (png_mod_SOURCES): Likewise.
33627 (png_mod_CFLAGS): Likewise.
33628 (png_mod_LDFLAGS): Likewise.
33629
33630 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33631 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33632 (video_mod_SOURCES): Added.
33633 (video_mod_CFLAGS): Likewise.
33634 (video_mod_LDFLAGS): Likewise.
33635 (videotest_mod_SOURCES): Likewise.
33636 (videotest_mod_CFLAGS): Likewise.
33637 (videotest_mod_LDFLAGS): Likewise.
33638 (bitmap_mod_SOURCES): Likewise.
33639 (bitmap_mod_CFLAGS): Likewise.
33640 (bitmap_mod_LDFLAGS): Likewise.
33641 (tga_mod_SOURCES): Likewise.
33642 (tga_mod_CFLAGS): Likewise.
33643 (tga_mod_LDFLAGS): Likewise.
33644 (jpeg_mod_SOURCES): Likewise.
33645 (jpeg_mod_CFLAGS): Likewise.
33646 (jpeg_mod_LDFLAGS): Likewise.
33647 (png_mod_SOURCES): Likewise.
33648 (png_mod_CFLAGS): Likewise.
33649 (png_mod_LDFLAGS): Likewise.
33650 (gfxterm_mod_SOURCES): Likewise.
33651 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33652 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33653
33654 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33655 grub/machine/console.h.
33656
644fff97 336572009-01-04 Jerone Young <jerone@gmail.com>
33658
33659 Make on screen instructions clearer
33660
33661 Based on patch created by Jidanni <jidanni@jidanni.org>
33662
33663 * normal/menu.c: print clearer instructions on the screen
33664
1e901a75 336652009-01-02 Colin D Bennett <colin@gibibit.com>
33666
33667 New font engine.
34c44600 33668
1e901a75 33669 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33670 build system and fixed gfxterm.c to work with different sized fonts.
33671
33672 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33673
1e901a75 33674 * configure: Re-generated.
34c44600 33675
1e901a75 33676 * DISTLIST: Removed font/manager.c.
33677 Added font/font.c.
33678 Added font/font_cmd.c.
34c44600 33679
1e901a75 33680 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33681 compilation.
34c44600 33682
1e901a75 33683 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33684
33685 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33686
33687 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33688
1e901a75 33689 * normal/menu.c: Likewise.
34c44600 33690
1e901a75 33691 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33692 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33693
1e901a75 33694 * include/grub/font.h: Replaced with new file.
34c44600 33695
1e901a75 33696 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33697 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33698 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33699 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33700 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33701 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33702 fg_red, fg_green, fg_blue, fg_alpha.
33703 (grub_video_adapter): Removed blit_glyph.
34c44600 33704 (grub_video_blit_glyph): Removed.
33705
1e901a75 33706 * font/manager.c: Removed file.
34c44600 33707
33708 * font/font.c: New file.
33709
1e901a75 33710 * font/font_cmd.c: Likewise.
34c44600 33711
1e901a75 33712 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33713
1e901a75 33714 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33715 (grub_video_vbe_map_rgba): Likewise.
33716 (grub_video_vbe_unmap_color_int): Likewise.
33717 (grub_video_vbe_blit_glyph): Removed.
33718 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33719
1e901a75 33720 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33721 (get_pixel): Likewise.
34c44600 33722 (set_pixel): Likewise.
33723
1e901a75 33724 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33725
1e901a75 33726 * term/gfxterm.c: Adapted to new font engine.
34c44600 33727
1e901a75 33728 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33729
1e901a75 33730 * term/i386/pc/vga.c: Likewise.
34c44600 33731
1e901a75 33732 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33733
1e901a75 33734 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33735
1e901a75 33736 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33737
1e901a75 33738 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33739
1e901a75 33740 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33741
1e901a75 33742 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33743
1e901a75 33744 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33745
1e901a75 33746 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33747
1e901a75 33748 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33749
33750 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33751
1e901a75 33752 * util/grub-mkconfig_lib.in: Changed font extension.
33753
278922e8 337542008-12-28 Felix Zielcke <fzielcke@z-51.de>
33755
33756 * util/getroot.c (grub_util_get_grub_dev): Add support for
33757 /dev/md/dNNpNN style partitionable mdraid devices.
33758
3ced05cf 337592008-12-12 Alex Smith <alex@alex-smith.me.uk>
33760
33761 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33762 at a time limit of the PXE TFTP API correctly.
33763 (grub_pxefs_close): Likewise.
33764
7fd0ee30 337652008-11-29 Robert Millan <rmh@aybabtu.com>
33766
34c44600 33767 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33768 grub_ata_device_initialize() calls.
33769
34c44600 337702008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33771
33772 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33773 iteration failed.
33774 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33775
89313780 337762008-11-28 Robert Millan <rmh@aybabtu.com>
33777
33778 Fix build on powerpc-ieee1275. Based on patch created by
33779 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33780 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33781 `kern/ieee1275/mmap.c'.
33782 * include/grub/powerpc/ieee1275/memory.h: New file.
33783
15257703 33784 Provide grub-install on coreboot.
33785 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33786 (grub_install_SOURCES): New variable.
33787 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33788 usable on coreboot.
33789
9fc5388a 337902008-11-25 Felix Zielcke <fzielcke@z-51.de>
33791
33792 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33793 to `grub_term_input_t'.
33794 (grub_term_get_current_output): Change return type to
33795 `grub_term_output_t'.
33796
bc3a2f31 337972008-11-22 Robert Millan <rmh@aybabtu.com>
33798
34c44600 33799 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33800 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33801 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33802 grub_vga_text_cls().
33803
80fc88f2 33804 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33805 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33806
cbf36fd3 33807 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33808 to 0x200000 (avoids trouble with some OFW implementations, and matches
33809 with the one in Yaboot).
33810 Reported by Manoel Abranches
33811
73e8e268 338122008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33813
33814 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33815 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33816
73e8e268 33817 * util/grub-mkconfig_lib.in (grub_warn): New function.
33818 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33819 warnings, to obtain consistent formatting.
33820 * util/grub.d/00_header.in: Likewise.
33821 * util/update-grub_lib.in: Likewise.
33822
e94045a1 33823 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33824 Move comment text to `#error' stanza.
e94045a1 33825
79d29fd7 33826 Harmonize ieee1275's grub_available_iterate() with the generic
33827 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33828 build problem on i386-ieee1275):
33829 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33830 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33831 parameter `type'. Update all users of this function.
33832 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33833 `kern/ieee1275/mmap.c'.
33834 * kern/ieee1275/init.c
33835 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33836 with ...
33837 (grub_machine_mmap_iterate): ... this.
33838 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33839 return type to `grub_err_t'. Update all implementations of this
33840 function prototype.
33841 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33842 Likewise.
33843
60d6b16e 33844 Add `lsmmap' command (lists firmware-provided memory map):
33845 * commands/lsmmap.c: New file.
33846 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33847 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33848 variables.
33849 * conf/powerpc-ieee1275.rmk: Likewise.
33850 * conf/i386-coreboot.rmk: Likewise.
33851 * conf/i386-ieee1275.rmk: Likewise.
33852
ebaaf49b 338532008-11-19 Robert Millan <rmh@aybabtu.com>
33854
33855 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33856 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33857 constraints to initrd allocation (based on code from
33858 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33859 for Linux to find it.
ebaaf49b 33860
dfab719f 338612008-11-14 Robert Millan <rmh@aybabtu.com>
33862
33863 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33864 order to cope with duplicate slashes.
33865
10fc3eb9 338662008-11-14 Robert Millan <rmh@aybabtu.com>
33867
33868 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33869 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33870 don't want to mess with lower memory, because it is used in the Linux
33871 loader.
33872
33873 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33874 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33875 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33876 is in our heap (probably as a result of it being corrupted during
2f2a3442 33877 decompression). Add #error instance with comment to explain why this
33878 loader isn't currently usable on PC/BIOS.
10fc3eb9 33879
e2e07847 338802008-11-14 Robert Millan <rmh@aybabtu.com>
33881
33882 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33883 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33884
fe8e8d69 338852008-11-12 Robert Millan <rmh@aybabtu.com>
33886
33887 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33888
33889 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33890 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33891 from here ...
33892 * include/grub/i386/pc/memory.h: ... to here.
33893
976b07d0 338942008-11-12 Robert Millan <rmh@aybabtu.com>
33895
33896 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33897 split).
33898
33899 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33900 (grub_console_cur_color, grub_console_real_putchar)
33901 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33902 (grub_console_setcolorstate, grub_console_setcolor)
33903 (grub_console_getcolor): Move from here ...
33904 * include/grub/i386/vga_common.h: ... to here (new file).
33905
33906 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33907 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33908 `<grub/i386/io.h>'.
33909 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33910 `<grub/i386/vga_common.h>'.
33911
76679cd3 339122008-11-12 Robert Millan <rmh@aybabtu.com>
33913
33914 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33915 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33916 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33917 variables.
33918 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33919 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33920
33921 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33922 grub_console_init() with call to grub_vga_text_init().
33923 (grub_machine_fini): Replace call to
33924 grub_console_fini() with call to grub_vga_text_fini() and
33925 grub_at_keyboard_fini().
33926
33927 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33928 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33929 (grub_console_setcolorstate, grub_console_setcolor)
33930 (grub_console_getcolor): New function prototypes.
33931
33932 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33933 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33934 (grub_vga_text_setcursor): Static-ize.
33935 (grub_vga_text_term): New structure.
33936 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33937
33938 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33939 (grub_console_cur_color, grub_console_standard_color)
33940 (grub_console_normal_color, grub_console_highlight_color)
33941 (map_char, grub_console_putchar, grub_console_getcharwidth)
33942 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33943 (grub_console_getcolor): Move from here ...
33944 * term/i386/vga_common.c: ... to here (same function names).
33945
95b841d3 339462008-11-12 Robert Millan <rmh@aybabtu.com>
33947
33948 Use newly-added Multiboot support in coreboot.
33949
33950 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33951 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33952
33953 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33954 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33955 (codestart): Store the MBI in `startup_multiboot_info' when we're
33956 being loaded using Multiboot.
33957
33958 * kern/i386/coreboot/init.c (grub_machine_init): Move
33959 grub_at_keyboard_init() call to beginning of function (useful for
33960 debugging). Call grub_machine_mmap_init() before attempting to use
33961 grub_machine_mmap_iterate().
33962 (grub_lower_mem, grub_upper_mem): Move from here ...
33963 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33964 here (new file).
33965
33966 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33967 function prototype.
33968
761ca975 339692008-11-12 Robert Millan <rmh@aybabtu.com>
33970
33971 Fix a regression introduced by the at_keyboard.mod split. Because
33972 some terminals are default on some platforms and non-default on
33973 others, the first terminal being registered determines which is
33974 going to be default.
33975
33976 * kern/term.c (grub_term_register_input): If this is the first
33977 terminal being registered, set it as the current one.
33978 (grub_term_register_output): Likewise.
33979
33980 * term/efi/console.c (grub_console_init): Do not call
33981 grub_term_set_current_output() or grub_term_set_current_input().
33982 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33983 * term/i386/pc/console.c (grub_console_init): Likewise.
33984 (grub_console_fini): Do not call grub_term_set_current_input()
33985 (but leave grub_term_set_current_output() to restore text mode).
33986
6c529df7 339872008-11-10 Robert Millan <rmh@aybabtu.com>
33988
33989 * util/grub.d/00_header.in: Add backward compatibility check for
33990 versions of terminal.mod that don't understand `terminal_input' or
33991 `terminal_output'.
33992
132e4113 339932008-11-09 Robert Millan <rmh@aybabtu.com>
33994
33995 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33996 `terminal_input' / `terminal_output', not `terminal'.
33997
ac293d50 339982008-11-08 Robert Millan <rmh@aybabtu.com>
33999
34000 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 34001 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 34002
0025933a 340032008-11-08 Robert Millan <rmh@aybabtu.com>
34004
34005 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 34006 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 34007 members. Update all users.
34008 * util/console.c (grub_ncurses_term): Split in ...
34009 (grub_ncurses_term_input): ... this, and ...
34010 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 34011 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 34012
37c86336 340132008-11-08 Robert Millan <rmh@aybabtu.com>
34014
34015 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34016 (PKGDATA): Add $(pkgdata_SRCDIR).
34017 (pkglib_BUILDDIR): New variable.
34018 (pkgdata_SRCDIR): New variable.
34019 (build_env.mk): New target.
34020 (include_DATA): New variable.
34021 (install-local): Install $(include_DATA) files in $(includedir).
34022
b6c15a2d 340232008-11-07 Pavel Roskin <proski@gnu.org>
34024
d99d46f1 34025 * gendistlist.sh: Use C locale for sorting to ensure consistent
34026 output on all systems.
34027
b6c15a2d 34028 * util/grub.d/00_header.in: Remove incorrect space before
34029 "serial".
34030
c32ee8c9 340312008-11-07 Robert Millan <rmh@aybabtu.com>
34032
34033 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34034 per specification.
34035 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34036 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34037 (based on find_multi_boot1_header).
34038 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34039 using find_multi_boot2_header(), and abort if neither Multiboot or
34040 Multiboot headers were found.
34041
651c29b7 340422008-11-07 Robert Millan <rmh@aybabtu.com>
34043
34044 Modularize at_keyboard.mod:
34045
34046 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34047 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34048 (at_keyboard_mod_LDFLAGS): New variables.
34049
34050 Actual terminal split:
34051
34052 * include/grub/term.h (struct grub_term): Split in ...
34053 (struct grub_term_input): ... this, and ...
34054 (struct grub_term_output): ... this. Update all users.
34055 (grub_term_set_current): Split in ...
34056 (grub_term_set_current_input): ... this, and ...
34057 (grub_term_set_current_output): ... this.
34058 (grub_term_get_current): Split in ...
34059 (grub_term_get_current_input): ... this, and ...
34060 (grub_term_get_current_output): ... this.
34061 (grub_term_register): Split in ...
34062 (grub_term_register_input): ... this, and ...
34063 (grub_term_register_output): ... this.
34064 (grub_term_unregister): Split in ...
34065 (grub_term_unregister_input): ... this, and ...
34066 (grub_term_unregister_output): ... this.
34067 (grub_term_iterate): Split in ...
34068 (grub_term_iterate_input): ... this, and ...
34069 (grub_term_iterate_output): ... this.
34070
34071 * kern/term.c (grub_term_list): Split in ...
34072 (grub_term_list_input): ... this, and ...
34073 (grub_term_list_output): ... this. Update all users.
34074 (grub_cur_term): Split in ...
34075 (grub_cur_term_input): ... this, and ...
34076 (grub_cur_term_output): ... this. Update all users.
34077 (grub_term_set_current): Split in ...
34078 (grub_term_set_current_input): ... this, and ...
34079 (grub_term_set_current_output): ... this.
34080 (grub_term_get_current): Split in ...
34081 (grub_term_get_current_input): ... this, and ...
34082 (grub_term_get_current_output): ... this.
34083 (grub_term_register): Split in ...
34084 (grub_term_register_input): ... this, and ...
34085 (grub_term_register_output): ... this.
34086 (grub_term_unregister): Split in ...
34087 (grub_term_unregister_input): ... this, and ...
34088 (grub_term_unregister_output): ... this.
34089 (grub_term_iterate): Split in ...
34090 (grub_term_iterate_input): ... this, and ...
34091 (grub_term_iterate_output): ... this.
34092
34093 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34094 a check for input and one for output (and only attempt to get keys
34095 from user when input works).
34096
34097 * util/grub-probe.c (grub_term_get_current): Split in ...
34098 (grub_term_get_current_input): ... this, and ...
34099 (grub_term_get_current_output): ... this.
34100 * util/grub-fstest.c: Likewise.
34101 * util/i386/pc/grub-setup.c: Likewise.
34102 * util/grub-editenv.c: Likewise.
34103
34104 Portability adjustments:
34105
34106 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34107 `term/i386/pc/at_keyboard.c'.
34108 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34109 grub_keyboard_controller_init() (now handled by terminal .init).
34110 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34111 grub_at_keyboard_init().
34112 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34113 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34114 at_keyboard.mod via input terminal interface).
34115 * include/grub/i386/coreboot/console.h: Convert into a stub for
34116 `<grub/i386/pc/console.h>'.
34117
34118 Migrate full terminals to new API:
34119
34120 * term/efi/console.c (grub_console_term): Split into ...
34121 (grub_console_term_input): ... this, and ...
34122 (grub_console_term_output): ... this. Update all users.
34123 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34124 (grub_ofconsole_init): Split into ...
34125 (grub_ofconsole_init_input): ... this, and ...
34126 (grub_ofconsole_init_output): ... this.
34127 (grub_ofconsole_term): Split into ...
34128 (grub_ofconsole_term_input): ... this, and ...
34129 (grub_ofconsole_term_output): ... this. Update all users.
34130 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34131 (grub_serial_term_input): ... this, and ...
34132 (grub_serial_term_output): ... this. Update all users.
34133 * term/i386/pc/console.c (grub_console_term): Split into ...
34134 (grub_console_term_input): ... this, and ...
34135 (grub_console_term_output): ... this. Update all users.
34136 (grub_console_term_input): Only enable it on PC/BIOS platform.
34137 (grub_console_init): Remove grub_keyboard_controller_init() call.
34138
34139 Migrate input terminals to new API:
34140
34141 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34142 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34143 i386-specific anyway).
34144 (grub_console_checkkey): Rename to ...
34145 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34146 users.
34147 (grub_keyboard_controller_orig): New variable.
34148 (grub_console_getkey): Rename to ...
34149 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34150 users.
34151 (grub_keyboard_controller_init): Static-ize. Save original
34152 controller value so that it can be restored ...
34153 (grub_keyboard_controller_fini): ... here (new function).
34154 (grub_at_keyboard_term): New structure.
34155 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34156 functions.
34157
34158 Migrate output terminals to new API:
34159
34160 * term/i386/pc/vga.c (grub_vga_term): Change type to
34161 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34162 members. Update all users.
34163 * term/gfxterm.c (grub_video_term): Change type to
34164 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34165 members. Update all users.
34166 * include/grub/i386/pc/console.h (grub_console_checkkey)
34167 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34168 etc).
34169
34170 Migrate `terminal' command and userland tools to new API:
34171
34172 * commands/terminal.c (grub_cmd_terminal): Split into ...
34173 (grub_cmd_terminal_input): ... this, and ...
34174 (grub_cmd_terminal_output): ... this.
34175 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34176 `terminal_input' and `terminal_output'.
34177 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34178 `terminal_input' / `terminal_output' API.
34179 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34180 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34181 provided ${GRUB_TERMINAL}, convert it).
34182
96e5d876 341832008-11-04 Robert Millan <rmh@aybabtu.com>
34184
34185 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34186 for FreeBSD.
34187 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34188
556f3775 341892008-11-03 Bean <bean123ch@gmail.com>
34190
34191 * kern/elf.c (grub_elf32_load): Revert to previous code.
34192 (grub_elf64_load): Likewise.
34193
34194 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34195
926b9823 341962008-11-01 Robert Millan <rmh@aybabtu.com>
34197
34198 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34199 (TARGET_CPPFLAGS): Likewise.
34200 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34201
1432e958 342022008-11-01 Carles Pina i Estany <carles@pina.cat>
34203
34204 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34205
dba3f844 342062008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 34207
34208 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34209 addition of objects until the code is not going to be able to fail.
34210
dba3f844 342112008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 34212
34213 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34214 (add a missing NULL check, and correct them by moving the pointer
34215 operations after the actual check).
34216
7ab28c21 342172008-10-29 Robert Millan <rmh@aybabtu.com>
34218
34219 * util/i386/pc/grub-install.in: Handle empty string as output from
34220 make_system_path_relative_to_its_root().
34221
1b7748eb 342222008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34223
34224 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34225 circular metadata worst case scenario. If the metadata is circular
34226 then copy the wrap in place.
34227 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34228 project lib/format_text/layout.h
34229 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34230
c9618ab2 342312008-10-03 Felix Zielcke <fzielcke@z-51.de>
34232
7a36edca 34233 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 34234
bf981c62 342352008-10-03 Felix Zielcke <fzielcke@z-51.de>
34236
34237 * util/update-grub_lib.in: Mention filename in warning message.
34238
6d994591 342392008-09-29 Felix Zielcke <fzielcke@z-51.de>
34240
34241 * NEWS: Update for rename of update-grub to grub-mkconfig.
34242
18ade780 342432008-09-29 Felix Zielcke <fzielcke@z-51.de>
34244
34245 * util/update-grub_lib.in: Copy to ...
34246 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 34247 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 34248 * util/update-grub.in: Rename to ...
34249 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34250 option. Add `--output' option to allow users to specify the generated
34251 configuration file. Default to stdout.
34252 (update_grub_dir): Rename to ...
34253 (grub_mkconfig_dir): ... this.
34254 (grub_cfg): Default to an empty string.
34255 * conf/common.rmk (update-grub): Rename to ...
34256 (grub-mkconfig): ... this.
34257 (update-grub_lib): Copy to ...
34258 (grub-mkconfig_lib): ... this.
34259 (update-grub_SCRIPTS): Copy to ...
34260 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34261 (update-grub_DATA): Rename to ...
34262 (grub-mkconfig_DATA): ... this.
34263
556ce6ac 342642008-09-28 Robert Millan <rmh@aybabtu.com>
34265
34266 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34267 to `modified'. Add the real `created' field.
34268 (grub_iso9660_uuid): Use `modified' rather than `created' for
34269 constructing the UUID.
34270
342712008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 34272
34273 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34274 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34275
92274e85 342762008-09-28 Bean <bean123ch@gmail.com>
34277
34278 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34279 Thanks to Christian Franke for finding this bug.
34280
add6f17a 342812008-09-25 Robert Millan <rmh@aybabtu.com>
34282
34283 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34284 instances of grub_util_get_disk_name() (see previous commit).
34285
d2a367b8 342862008-09-25 Robert Millan <rmh@aybabtu.com>
34287
34288 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34289 `util/i386/get_disk_name.c'.
34290 * conf/i386-efi.rmk: Likewise.
34291 * conf/x86_64-efi.rmk: Likewise.
34292 * conf/i386-coreboot.rmk: Likewise.
34293 * conf/i386-ieee1275.rmk: Likewise.
34294 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34295 `util/ieee1275/get_disk_name.c'.
34296 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34297 * util/ieee1275/get_disk_name.c: Remove file.
34298 * util/i386/get_disk_name.c: Remove file.
34299 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34300 "hd%d" for device.map entries, rather than using
34301 grub_util_get_disk_name().
34302
81a06771 343032008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 34304
34305 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34306 warning.
34307 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34308
5a004279 343092008-09-24 Carles Pina i Estany <carles@pina.cat>
34310
34311 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34312 Changed to 0x5100.
34313 (GRUB_TERM_PPAGE): Changed to 0x4900.
34314
397093d3 343152008-09-24 Robert Millan <rmh@aybabtu.com>
34316
34317 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34318 macros (they were i386-pc specific).
34319 * include/grub/sparc64/ieee1275/console.h: Likewise.
34320 * include/grub/efi/console.h: Likewise.
34321
a91b6c7c 343222008-09-22 Bean <bean123ch@gmail.com>
34323
34324 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34325 resident and in attribute list.
34326
34327 * include/grub/ntfs.h (BMP_LEN): Removed.
34328
c40fd116 343292008-09-22 Bean <bean123ch@gmail.com>
34330
81a06771 34331 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34332 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34333
34334 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34335 error occurs, as grub_disk_open will call grub_disk_close, which will
34336 call p->close (scsi).
34337
81a06771 343382008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34339
34340 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34341 (AC_PREREQ): Bumped to 2.59.
34342 (AC_TRY_COMPILE): Replace obsolete macro with ...
34343 (AC_COMPILE_IFELSE): ... this.
34344 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34345 (AC_LINK_IFELSE): ... this.
34346
5dc43410 343472008-09-21 Felix Zielcke <fzielcke@z-51.de>
34348
34349 * autogen.sh: Add a call to `gendistlist.sh'.
34350
9035dce4 343512008-09-19 Christian Franke <franke@computer.org>
34352
34353 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34354 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34355 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34356 Export __enable_execute_stack() to modules.
34357 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34358 New function.
34359
7fd75377 343602008-09-09 Felix Zielcke <fzielcke@z-51.de>
34361
040030b3 34362 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34363 Sort the list.
34364
343652008-09-09 Felix Zielcke <fzielcke@z-51.de>
34366
34367 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34368 #include <grub/util/hostdisk.h>.
34369
89d5ffcf 343702008-09-08 Robert Millan <rmh@aybabtu.com>
34371
34372 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34373 segments when their filesz is zero (grub_file_read() interprets
81a06771 34374 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34375 Use `lowest_segment' rather than 0 for calculating the current
34376 segment load address.
34377
40da438f 343782008-09-08 Robert Millan <rmh@aybabtu.com>
34379
34380 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34381 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34382 clobbered useful information.
34383
ddbf5556 343842008-09-08 Robert Millan <rmh@aybabtu.com>
34385
34386 * include/grub/util/biosdisk.h: Move to ...
34387 * include/grub/util/hostdisk.h: ... here. Update all users.
34388 * util/biosdisk.c: Move to ...
34389 * util/hostdisk.c: ... here. Update all users.
34390
783d0f48 343912008-09-07 Robert Millan <rmh@aybabtu.com>
34392
34393 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34394 variables.
34395 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34396 and length can be stored directly in the `mbi->mmap_addr' and
34397 `mbi->mmap_length' struct fields.
34398
548e2ea5 343992008-09-07 Robert Millan <rmh@aybabtu.com>
34400
34401 * conf/i386.rmk: New file. Provides declaration for building
34402 `cpuid.mod'.
34403 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34404 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34405 variables.
34406 Include `conf/i386.mk'.
34407 * conf/i386-efi.rmk: Likewise.
34408 * conf/x86_64-efi.rmk: Likewise.
34409 * conf/i386-coreboot.rmk: Likewise.
34410 * conf/i386-ieee1275.rmk: Likewise.
34411
0ea85a37 344122008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34413
34414 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34415 Adds optimization support for BGR based modes.
34416
34417 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34418 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34419 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34420 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34421 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34422 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34423 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34424 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34425 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34426 (grub_video_i386_vbeblit_index_index): Likewise.
34427 (grub_video_i386_vbeblit_replace_directN): Added.
34428 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34429 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34430 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34431 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34432 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34433 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34434 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34435 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34436 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34437 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34438 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34439 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34440 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34441
34442 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34443 (grub_video_i386_vbefill_R8G8B8): Likewise.
34444 (grub_video_i386_vbefill_index): Likewise.
34445 (grub_video_i386_vbefill_direct32): Added.
34446 (grub_video_i386_vbefill_direct24): Likewise.
34447 (grub_video_i386_vbefill_direct16): Likewise.
34448 (grub_video_i386_vbefill_direct8): Likewise.
34449
81a06771 34450 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34451 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34452 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34453 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34454 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34455 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34456
0ea85a37 34457 * video/video.c (grub_video_get_blit_format): Updated to use new
34458 blit formats. Added handling for 16 bit color modes.
81a06771 34459
34460 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34461 fillers.
34462 (common_blitter): Updated to use new blitters.
34463
34464 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34465 Removed.
34466 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34467 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34468 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34469 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34470 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34471 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34472 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34473 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34474 (grub_video_i386_vbeblit_index_index): Likewise.
34475 (grub_video_i386_vbeblit_replace_directN): Added.
34476 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34477 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34478 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34479 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34480 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34481 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34482 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34483 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34484 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34485 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34486 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34487 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34488 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34489
0ea85a37 34490 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34491 (grub_video_i386_vbefill_R8G8B8): Likewise.
34492 (grub_video_i386_vbefill_index): Likewise.
34493 (grub_video_i386_vbefill_direct32): Added.
34494 (grub_video_i386_vbefill_direct24): Likewise.
34495 (grub_video_i386_vbefill_direct16): Likewise.
34496 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34497
0ea85a37 34498 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34499 types.
81a06771 34500
0ea85a37 34501 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34502 types.
81a06771 34503
0ea85a37 34504 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34505 blitter types.
81a06771 34506
0ea85a37 34507 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34508 types.
34509
e8a83df6 345102008-09-06 Felix Zielcke <fzielcke@z-51.de>
34511
34512 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34513 RAID level 1.
34514
6bcd8ee5 345152008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34516
6bcd8ee5 34517 * fs/iso9660.c (grub_iso9660_date): New structure.
34518 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34519 (grub_iso9660_uuid): New function.
c375ae58 34520
59261157 345212008-09-05 Bean <bean123ch@gmail.com>
34522
34523 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34524
34525 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34526 insensitive bit for names in Win32 and Win32 & DOS namespace.
34527
34528 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34529
34530 * include/grub/types.h (LONG_MAX): Likewise.
34531
58b6645a 345322008-09-04 Felix Zielcke <fzielcke@z-51.de>
34533
4ee55921 34534 * util/getroot.c: Include <config.h>.
34535 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34536 add support for /dev/md/N devices and handle LVM double dash escaping.
34537
345382008-09-04 Felix Zielcke <fzielcke@z-51.de>
34539
34540 * config.guess: Update to latest version from config git.
34541 * config.sub: Likewise.
58b6645a 34542
9124f65d 345432008-09-03 Robert Millan <rmh@aybabtu.com>
34544
34545 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34546 `disk->total_sectors'.
34547
81a06771 345482008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34549
34550 * include/grub/normal.h: Fixed incorrect comment for
34551 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34552
81a06771 345532008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34554
34555 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34556 values with defines.
34557
34558 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34559 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34560 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34561 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34562 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34563 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34564 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34565 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34566 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34567 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34568 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34569 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34570 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34571 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34572 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34573 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34574 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34575 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34576 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34577
93d5cbf8 345782008-08-31 Robert Millan <rmh@aybabtu.com>
34579
34580 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34581 declaration.
34582 (grub_multiboot): Fix a few warnings.
34583
21751d50 345842008-08-31 Robert Millan <rmh@aybabtu.com>
34585
34586 * loader/i386/pc/multiboot.c: Update comment not to say that
34587 boot_device support is unimplemented.
34588
e27a75c5 345892008-08-31 Robert Millan <rmh@aybabtu.com>
34590
34591 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34592 or memory map support are unimplemented.
34593
81a06771 345942008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34595
34596 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34597
81a06771 345982008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34599
34600 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34601 total video memory in 'vbeinfo' output; show color format details for
34602 each video mode.
34603
7c5d8d95 346042008-08-30 Pavel Roskin <proski@gnu.org>
34605
34606 * util/genmoddep.c: Remove for real this time.
34607 * DISTLIST: Remove util/genmoddep.c.
34608
4cebd25a 346092008-08-30 Robert Millan <rmh@aybabtu.com>
34610
34611 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34612 as required by Multiboot spec (it was already 4-byte aligned, but
34613 only by chance).
34614
b497a269 346152008-08-29 Pavel Roskin <proski@gnu.org>
34616
e3925185 34617 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34618 * kern/powerpc/ieee1275/startup.S: ... this.
34619 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34620 * DISTLIST: Likewise.
34621
b497a269 34622 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34623 grub/cpu/kernel.h. Add start label for consistency with other
34624 platforms. Add grub_prefix immediately after start. Add jump
34625 to the code after grub_prefix.
34626 * include/grub/powerpc/kernel.h: Provide valid values for
34627 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34628
6e5a42fe 346292008-08-29 Bean <bean123ch@gmail.com>
34630
34631 * configure.ac: Change host_os to cygwin for mingw.
34632 (asprintf): New check for function.
34633
34634 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34635 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34636
34637 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34638 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34639 sync, sleep and grub_util_get_disk_size for mingw.
34640
34641 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34642 to get size in mingw.
34643 (open_device): Use flag O_BINARY if it's defined.
34644 (find_root_device): Add dummy code for mingw.
34645
34646 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34647 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34648 (get_scsi_disk_name): Return 0 for mingw.
34649
34650 * util/hostfs.c: #include <grub/util/misc.h>.
34651 (grub_hostfs_open): Use "rb" flag to open file, use
34652 grub_util_get_disk_size to get disk size for mingw.
34653
34654 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34655 (asprintf): New function if HAVE_ASPRINTF is not set.
34656 (sync): New function for mingw.
34657 (sleep): Likewise.
34658 (grub_util_get_disk_size): Likewise.
34659
ab3f2673 346602008-08-28 Pavel Roskin <proski@gnu.org>
34661
34662 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34663 kern/time.c.
34664
1c282483 346652008-08-28 Robert Millan <rmh@aybabtu.com>
34666
34667 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34668
678e849c 346692008-08-28 Robert Millan <rmh@aybabtu.com>
34670
34671 Change find_grub_drive() syntax so it doesn't prevent it from
34672 detecting NULL names as errors.
34673
34674 * util/biosdisk.c (find_grub_drive): Move free slot search code
34675 from here ...
34676 (find_free_slot): ... to here.
34677 (read_device_map): Use find_free_slot() to search for free slots.
34678
965c75ca 346792008-08-27 Marco Gerards <marco@gnu.org>
34680
34681 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34682 (scsi_mod_SOURCES): New variable.
34683 (scsi_mod_CFLAGS): Likewise
34684 (scsi_mod_LDFLAGS): Likewise.
34685
34686 * disk/scsi.c: New file.
34687
34688 * include/grub/scsi.h: Likewise.
34689
34690 * include/grub/scsicmd.h: Likewise.
34691
34692 * disk/ata.c: Include <grub/scsi.h>.
34693 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34694 instead.
34695 (grub_ata_iterate): Skip ATAPI devices.
34696 (grub_ata_open): Only handle ATAPI devices.
34697 (struct grub_atapi_read): Removed.
34698 (grub_atapi_readsector): Likewise.
34699 (grub_ata_read): No longer handle ATAPI devices.
34700 (grub_ata_write): Likewise.
34701 (grub_atapi_iterate): New function.
34702 (grub_atapi_read): Likewise.
34703 (grub_atapi_write): Likewise.
34704 (grub_atapi_open): Likewise.
34705 (grub_atapi_close): Likewise.
34706 (grub_atapi_dev): New variable.
34707 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34708 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34709
34710 * include/grub/disk.h (enum grub_disk_dev_id): Add
34711 `GRUB_DISK_DEVICE_SCSI_ID'.
34712
c07ae501 347132008-08-26 Robert Millan <rmh@aybabtu.com>
34714
34715 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34716 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34717 descriptive.
34718
5ed20adc 347192008-08-23 Bean <bean123ch@gmail.com>
34720
34721 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34722 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34723 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34724 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34725 dm_nv.mod.
34726 (raid5rec_mod_SOURCES): New macro.
34727 (raid5rec_mod_CFLAGS): Likewise.
34728 (raid5rec_mod_LDFLAGS): Likewise.
34729 (raid6rec_mod_SOURCES): Likewise.
34730 (raid6rec_mod_CFLAGS): Likewise.
34731 (raid6rec_mod_LDFLAGS): Likewise.
34732 (mdraid_mod_SOURCES): Likewise.
34733 (mdraid_mod_CFLAGS): Likewise.
34734 (mdraid_mod_LDFLAGS): Likewise.
34735 (dm_nv_mod_SOURCES): Likewise.
34736 (dm_nv_mod_CFLAGS): Likewise.
34737 (dm_nv_mod_LDFLAGS): Likewise.
34738
34739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34740 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34741 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34742
34743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34744 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34745
34746 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34747
34748 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34749
34750 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34751
34752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34753
34754 * disk/raid5_recover.c: New file.
34755
34756 * disk/raid6_recover.c: Likewise.
34757
34758 * disk/mdraid_linux.c: Likewise.
34759
34760 * disk/dmraid_nvidia.c: Likewise.
34761
34762 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34763 ULONG_MAX.
34764
34765 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34766 calculate the size of raid device.
34767 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34768 different layout of raid5.
34769 (grub_raid_scan_device): Remove code specific to mdraid.
34770 (grub_raid_list): New variable.
34771 (free_array): New function.
34772 (grub_raid_register): Likewise.
34773 (grub_raid_unregister): Likewise.
34774 (grub_raid_rescan): Likewise.
34775 (GRUB_MOD_INIT): Don't iterate device here.
34776 (GRUB_MOD_FINI): Use free_array to release resource.
34777
34778 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34779 (grub_raid5_recover_func_t): New function variable type.
34780 (grub_raid6_recover_func_t): Likewise.
34781 (grub_raid5_recover_func): New variable.
34782 (grub_raid6_recover_func): Likewise.
34783 (grub_raid_register): New function.
34784 (grub_raid_unregister): Likewise.
34785 (grub_raid_rescan): Likewise.
34786 (grub_raid_block_xor): Likewise.
34787
34788 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34789 (CMD_CRC): New macro.
34790 (part): Removed.
34791 (read_file): Handle device as well as file.
34792 (cmd_crc): New function.
34793 (fstest): Handle multiple disks.
34794 (options): Remove part, raw and long, add root and diskcount.
34795 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34796 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34797 add handling for the new options, support multiple disks.
34798
34799 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34800
29c18915 348012008-08-23 Bean <bean123ch@gmail.com>
34802
34803 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34804
34805 * genfslist.sh: Ignore kernel.mod.
34806
34807 * genpartmaplist.sh: Likewise.
34808
8415f261 348092008-08-23 Robert Millan <rmh@aybabtu.com>
34810
34811 * util/getroot.c (find_root_device): Skip anything that starts with
34812 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34813
d5a7dc5b 348142008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34815
d5a7dc5b 34816 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34817 * util/grub.d/00_header.in: Allow the administrator to change default
34818 gfxmode via ${GRUB_GFXMODE}.
34819
380cfbb4 348202008-08-21 Felix Zielcke <fzielcke@z-51.de>
34821
34822 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34823
c9baafe7 348242008-08-21 Robert Millan <rmh@aybabtu.com>
34825
34826 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34827 loader.
34828 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34829 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34830
e290bef2 348312008-08-20 Carles Pina i Estany <carles@pina.cat>
34832
34833 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34834 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34835
f9dbfc96 348362008-08-19 Robert Millan <rmh@aybabtu.com>
34837
34838 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34839 (struct grub_virtual_screen): Remove `cursor_color'.
34840 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34841 initialization.
34842 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34843
dd6bd6ab 348442008-08-18 Robert Millan <rmh@aybabtu.com>
34845
34846 Unify (identical) linux_normal.c files.
34847 * loader/i386/efi/linux_normal.c: Move from here ...
34848 * loader/linux_normal.c: ... to here. Update all users.
34849 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34850 * loader/i386/ieee1275/linux_normal.c: Likewise.
34851
7f42f83e 348522008-08-18 Robert Millan <rmh@aybabtu.com>
34853
34854 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34855 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34856 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34857 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34858 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34859 New macros.
34860 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34861 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34862 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34863 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34864 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34865 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34866 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34867 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34868 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34869 portably using grub_getxy().
34870 Replace `-EFI' with `-bzImage' in boot message.
34871
38487ddb 348722008-08-17 Robert Millan <rmh@aybabtu.com>
34873
34874 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34875
deceb3ec 348762008-08-17 Robert Millan <rmh@aybabtu.com>
34877
34878 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34879
34880 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34881 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34882 (grub_machine_mmap_iterate): New function declaration.
34883 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34884 structure.
34885 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34886 macros.
34887
34888 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34889 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34890 Move e820 parsing from here ...
34891 * kern/i386/pc/mmap.c: New file.
34892 (grub_machine_mmap_iterate): ... to here.
34893
34894 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34895 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34896 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34897 (grub_available_iterate): Redeclare to return `void', and redeclare
34898 its hook to use grub_uint64_t as addr and size parameters, and rename
34899 to ...
34900 (grub_machine_mmap_iterate): ... this. Update all users.
34901
34902 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34903 to make it more readable. Rename to ...
34904 (grub_machine_mmap_iterate): ... this.
34905
34906 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34907 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34908 (grub_multiboot): Allocate an extra region after the payload, and fill
34909 it with a Multiboot memory map. Adjust a.out loader to calculate size
34910 with the extra space.
34911 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34912 with the extra space.
34913
f8aa0f43 349142008-08-17 Carles Pina i Estany <carles@pina.cat>
34915
9807deb9 34916 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34917
605f5bb6 349182008-08-17 Felix Zielcke <fzielcke@z-51.de>
34919
34920 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34921 mdate-sh to the list `find' searches for.
34922 * DISTLIST: Regenerated.
34923
210db6c6 349242008-08-16 Felix Zielcke <fzielcke@z-51.de>
34925
34926 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34927 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34928 genmoddep.awk, gensymlist.sh.in.
34929 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34930 * DISTLIST: Regenerated.
48cdbfd4 34931 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34932
1082b929 349332008-08-16 Robert Millan <rmh@aybabtu.com>
34934
34935 * disk/raid.c (grub_raid_init): Handle/report errors set by
34936 grub_device_iterate().
34937 * disk/lvm.c (grub_lvm_init): Likewise.
34938
42ce5170 349392008-08-15 Bean <bean123ch@gmail.com>
34940
34941 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34942 and datehook.mod.
34943 (datetime_mod_SOURCES): New macro.
34944 (datetime_mod_CFLAGS): Likewise.
34945 (datetime_mod_LDFLAGS): Likewise.
34946 (date_mod_SOURCES): Likewise.
34947 (date_mod_CFLAGS): Likewise.
34948 (date_mod_LDFLAGS): Likewise.
34949 (datehook_mod_SOURCES): Likewise.
34950 (datehook_mod_CFLAGS): Likewise.
34951 (datehook_mod_LDFLAGS): Likewise.
34952
34953 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34954 and datehook.mod.
34955 (datetime_mod_SOURCES): New macro.
34956 (datetime_mod_CFLAGS): Likewise.
34957 (datetime_mod_LDFLAGS): Likewise.
34958 (date_mod_SOURCES): Likewise.
34959 (date_mod_CFLAGS): Likewise.
34960 (date_mod_LDFLAGS): Likewise.
34961 (datehook_mod_SOURCES): Likewise.
34962 (datehook_mod_CFLAGS): Likewise.
34963 (datehook_mod_LDFLAGS): Likewise.
34964
34965 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34966 and datehook.mod.
34967 (datetime_mod_SOURCES): New macro.
34968 (datetime_mod_CFLAGS): Likewise.
34969 (datetime_mod_LDFLAGS): Likewise.
34970 (date_mod_SOURCES): Likewise.
34971 (date_mod_CFLAGS): Likewise.
34972 (date_mod_LDFLAGS): Likewise.
34973 (datehook_mod_SOURCES): Likewise.
34974 (datehook_mod_CFLAGS): Likewise.
34975 (datehook_mod_LDFLAGS): Likewise.
34976
34977 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34978 and datehook.mod.
34979 (datetime_mod_SOURCES): New macro.
34980 (datetime_mod_CFLAGS): Likewise.
34981 (datetime_mod_LDFLAGS): Likewise.
34982 (date_mod_SOURCES): Likewise.
34983 (date_mod_CFLAGS): Likewise.
34984 (date_mod_LDFLAGS): Likewise.
34985 (datehook_mod_SOURCES): Likewise.
34986 (datehook_mod_CFLAGS): Likewise.
34987 (datehook_mod_LDFLAGS): Likewise.
34988
34989 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34990 and datehook.mod.
34991 (datetime_mod_SOURCES): New macro.
34992 (datetime_mod_CFLAGS): Likewise.
34993 (datetime_mod_LDFLAGS): Likewise.
34994 (date_mod_SOURCES): Likewise.
34995 (date_mod_CFLAGS): Likewise.
34996 (date_mod_LDFLAGS): Likewise.
34997 (datehook_mod_SOURCES): Likewise.
34998 (datehook_mod_CFLAGS): Likewise.
34999 (datehook_mod_LDFLAGS): Likewise.
35000
35001 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35002
35003 * commands/date.c: New file.
35004
35005 * hook/datehook.c: Likewise.
35006
35007 * include/grub/lib/datetime.h: Likewise.
35008
35009 * include/grub/i386/cmos.h: Likewise.
35010
35011 * lib/datetime.c: Likewise.
35012
35013 * lib/i386/datetime.c: Likewise.
35014
35015 * lib/efi/datetime.c: Likewise.
35016
0e9242da 350172008-08-14 Robert Millan <rmh@aybabtu.com>
35018
35019 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35020 (grub_mkelfimage_SOURCES): New variable.
35021 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35022
35023 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35024 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35025 * conf/powerpc-ieee1275.rmk: Likewise.
35026 * conf/i386-ieee1275.rmk: Likewise.
35027
35028 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35029 * kern/i386/coreboot/init.c: Likewise.
35030
35031 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35032 with `<grub/cpu/kernel.h>'.
35033 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35034 to ...
35035 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35036 * kern/i386/coreboot/startup.S: Likewise.
35037
35038 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35039 (GRUB_MOD_GAP): Remove.
35040 * include/grub/powerpc/kernel.h: New file.
35041 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35042 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35043 * include/grub/i386/kernel.h: New file.
35044 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35045 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35046 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35047
35048 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35049 `grub-mkelfimage'.
35050 Use --directory when invoking grub_mkimage.
35051
35052 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35053 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35054 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35055 and GRUB_KERNEL_CPU_PREFIX.
35056
b86408f8 350572008-08-14 Felix Zielcke <fzielcke@z-51.de>
35058
d5e619ca 35059 * include/grub/err.h (grub_err_printf): New function prototype.
35060 * util/misc.c (grub_err_printf): New function.
35061 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35062 grub_printf.
35063 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 35064
7161f0e0 350652008-08-13 Robert Millan <rmh@aybabtu.com>
35066
35067 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35068
a1967522 350692008-08-13 Robert Millan <rmh@aybabtu.com>
35070
35071 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35072 boot entry.
35073
371458b5 350742008-08-12 Robert Millan <rmh@aybabtu.com>
35075
35076 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35077 of the relocation code from here ...
35078 (grub_multiboot): ... to here.
35079 (forward_relocator, backward_relocator): Move from here ...
35080 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35081 (grub_multiboot_backward_relocator): ... to here.
35082 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35083 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35084 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35085 (grub_multiboot_forward_relocator_end)
35086 (grub_multiboot_backward_relocator)
35087 (grub_multiboot_backward_relocator_end): New variables.
35088
05f9452b 350892008-08-12 Bean <bean123ch@gmail.com>
35090
35091 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35092
20024ab0 350932008-08-11 Robert Millan <rmh@aybabtu.com>
35094
35095 * kern/i386/linuxbios/startup.S: Move from here ...
35096 * kern/i386/coreboot/startup.S: ... to here.
35097
35098 * kern/i386/linuxbios/init.c: Move from here ...
35099 * kern/i386/coreboot/init.c: ... to here.
35100
35101 * kern/i386/linuxbios/table.c: Move from here ...
35102 * kern/i386/coreboot/mmap.c: ... to here.
35103
35104 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35105
e352e9cd 351062008-08-11 Robert Millan <rmh@aybabtu.com>
35107
35108 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35109 errors. Leave it to the upper layer to handle them.
35110
2d05bc6a 351112008-08-09 Christian Franke <franke@computer.org>
35112
35113 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35114 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35115 Install `grub.d/10_windows' only on Cygwin.
35116 * configure.ac: Add subst of `target_os'.
35117 Check `target_os' also before setting TARGET_OBJ2ELF.
35118 Add `--enable-grub-pe2elf'.
35119
042bd419 351202008-08-08 Robert Millan <rmh@aybabtu.com>
35121
35122 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35123 (grub_last_time): Change type to grub_uint64_t.
35124 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35125 (grub_disk_close): Likewise.
35126
35127 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35128 (run_menu): Migrate code from to using grub_get_time_ms().
35129
35130 * util/misc.c (grub_get_time_ms): New function.
35131
7f280db5 351322008-08-08 Marco Gerards <marco@gnu.org>
35133
35134 * disk/ata.c (grub_ata_regget): Change return type to
35135 `grub_uint8_t'.
35136 (grub_ata_regget2): Likewise.
35137 (grub_ata_wait_status): New function.
35138 (grub_ata_wait_busy): Removed function, updated all users to use
35139 `grub_ata_wait_status'.
35140 (grub_ata_wait_drq): Likewise.
35141 (grub_ata_cmd): New function.
35142 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35143 error handling.
35144 (grub_ata_pio_write): Add error handling.
35145 (grub_atapi_identify): Likewise.
35146 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35147 handling.
35148 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35149 handling. Actually use the detected registers. Reorder the
35150 detection logic such that it is easier to read.
35151 (grub_ata_pciinit): Do not assign the same ID to each controller.
35152 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35153 handling.
35154 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35155
35156 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35157
1fbc5e66 351582008-08-08 Marco Gerards <marco@gnu.org>
35159
35160 * NEWS: Update.
35161
819ce6c0 351622008-08-07 Bean <bean123ch@gmail.com>
35163
35164 * include/grub/x86_64/pci.h: New file.
35165
5c41d44d 351662008-08-07 Christian Franke <franke@computer.org>
35167
35168 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35169 (TIMER2_GATE): Likewise.
35170 (grub_pit_wait): Add enable/disable of the timer2 gate
35171 bit of port 0x61. This fixes a possible infinite loop.
35172
5ebc275d 351732008-08-07 Bean <bean123ch@gmail.com>
35174
35175 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35176 kern/i386/tsc.c and kern/i386/pit.c.
35177
35178 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35179 x86_64 platform.
35180
35181 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35182 <grub/i386/tsc.h>.
35183
35184 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35185
e383b3d0 351862008-08-07 Bean <bean123ch@gmail.com>
35187
35188 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35189
35190 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35191
35192 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35193 multiple inclusion. Add #include <grub/types.h>.
35194
1cbb58ac 351952008-08-06 Christian Franke <franke@computer.org>
35196
35197 * conf/common.rmk: Build and install `10_windows'.
35198 * util/grub.d/10_windows.in: New script.
35199
337f5a1e 352002008-08-06 Pavel Roskin <proski@gnu.org>
35201
35202 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35203
057bc4ac 352042008-08-06 Robert Millan <rmh@aybabtu.com>
35205
35206 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35207 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35208
2b99f123 352092008-08-06 Bean <bean123ch@gmail.com>
35210
35211 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35212 (grub_pxefs_fs_int): Remove dummy definition.
35213 (grub_pxefs_open): Use data->block_size to store the current block
35214 size setting.
35215 (grub_pxefs_read): Use block size stored in data->block_size. As the
35216 value of grub_pxe_blksize can be changed after the file is opened.
35217
9f0234cb 352182008-08-06 Bean <bean123ch@gmail.com>
35219
35220 * fs/i386/pc/pxe.c (curr_file): new variable.
35221 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35222 require the dummy internal file system anymore.
35223 (grub_pxefs_read): Removed.
35224 (grub_pxefs_close): Likewise.
35225 (grub_pxefs_fs_int): Likewise.
35226 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35227 connection when we switch file.
35228 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35229
a55d42e0 352302008-08-06 Robert Millan <rmh@aybabtu.com>
35231
35232 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35233 `halt.mod'.
35234 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35235 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35236
35237 * kern/i386/halt.c: New file.
35238 * kern/i386/reboot.c: Likewise.
35239 * include/grub/i386/reboot.h: Likewise.
35240 * include/grub/i386/halt.h: Likewise.
35241
35242 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35243 Include `<grub/cpu/halt.h>'.
35244 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35245 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35246
35247 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35248 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35249 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35250 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35251 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35252 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35253 from here ...
35254 * include/grub/i386/at_keyboard.h: ... to here.
35255
24371d26 352562008-08-05 Robert Millan <rmh@aybabtu.com>
35257
35258 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35259 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35260 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35261 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35262 `kern/generic/millisleep.c'.
35263
35264 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35265 instead of grub_get_rtc().
35266 (grub_tsc_init): Initialize `tsc_boot_time'.
35267
35268 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35269 (grub_machine_init): Use grub_tsc_init() rather than
35270 installing an RTC-based handler via grub_install_get_time_ms().
35271
35272 * kern/i386/pit.c: New file.
35273 * include/grub/i386/pit.h: Likewise.
35274
9e7007b3 352752008-08-05 Bean <bean123ch@gmail.com>
35276
35277 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35278
35279 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35280 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35281 (pxe_mod_SOURCES): New macro.
35282 (pxe_mod_CFLAGS): Likewise.
35283 (pxe_mod_LDFLAGS): Likewise.
35284 (pxecmd_mod_SOURCES): Likewise.
35285 (pxecmd_mod_CFLAGS): Likewise.
35286 (pxecmd_mod_LDFLAGS): Likewise.
35287
35288 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35289 (grub_pxe_call): Likewise.
35290
35291 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35292
35293 * commands/i386/pc/pxecmd.c: New file.
35294
9f0234cb 35295 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 35296
35297 * include/grub/i386/pc/pxe.h: Likewise.
35298
6977d49f 352992008-08-05 Bean <bean123ch@gmail.com>
35300
35301 * util/console.c (grub_console_cur_color): New variable.
35302 (grub_console_standard_color): Likewise.
35303 (grub_console_normal_color): Likewise.
35304 (grub_console_highlight_color): Likewise.
35305 (color_map): Likewise.
35306 (use_color): Likewise.
35307 (NUM_COLORS): New macro.
35308 (grub_ncurses_setcolorstate): Handle color properly.
35309 (grub_ncurses_setcolor): Don't change color here, just remember the
35310 settings, color will be set in grub_ncurses_setcolorstate.
35311 (grub_ncurses_getcolor): New function.
35312 (grub_ncurses_init): Initialize color pairs.
35313 (grub_ncurses_term): New member grub_ncurses_getcolor.
35314
9c2ff3ee 353152008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35316
9c2ff3ee 35317 High resolution timer support. Implemented for x86 CPUs using TSC.
35318 Extracted generic grub_millisleep() so it's linked in only as needed.
35319 This requires a Pentium compatible CPU; if the RDTSC instruction is
35320 not supported, then it falls back on the generic grub_get_time_ms()
35321 implementation that uses the machine's RTC.
35322
35323 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35324 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35325 `kern/generic/millisleep.c'.
35326
35327 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35328 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35329
35330 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35331 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35332
35333 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35334
35335 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35336 `kern/generic/millisleep.c'.
35337
35338 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35339
35340 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35341
35342 * kern/generic/rtc_get_time_ms.c: New file.
35343
35344 * kern/generic/millisleep.c: New file.
337f5a1e 35345
9c2ff3ee 35346 * kern/misc.c: Don't include
35347 <kern/time.h> anymore.
35348 (grub_millisleep_generic): Removed.
35349
35350 * commands/sleep.c (grub_interruptible_millisleep): Uses
35351 grub_get_time_ms() instead of grub_get_rtc().
35352
35353 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35354 function.
35355 (grub_cpu_is_cpuid_supported): New inline function.
35356 (grub_cpu_is_tsc_supported): New inline function.
35357 (grub_tsc_init): New function prototype.
35358 (grub_tsc_get_time_ms): New function prototype.
35359
35360 * kern/i386/tsc.c (grub_get_time_ms): New file.
35361
35362 * include/grub/time.h: Include <grub/types.h.
35363 (grub_millisleep_generic): Removed.
35364 (grub_get_time_ms): New prototype.
35365 (grub_install_get_time_ms): New prototype.
35366 (grub_rtc_get_time_ms): New prototype.
35367
35368 * kern/time.c (grub_get_time_ms): New function.
35369 (grub_install_get_time_ms): New function.
35370
35371 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35372 <grub/time.h> anymore.
35373 (grub_millisleep): Removed.
35374 (grub_machine_init): Call grub_tsc_init.
35375
35376 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35377 get_time_ms() implementation.
35378
35379 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35380 (ieee1275_get_time_ms): New function.
35381 (grub_machine_init): Install get_time_ms() implementation.
35382
35383 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35384 (grub_machine_init): Call grub_tsc_init().
35385 (grub_millisleep): Removed.
bf06a93f 35386
9c2ff3ee 35387 * kern/ieee1275/init.c (grub_millisleep): Removed.
35388 (grub_machine_init): Install ieee1275_get_time_ms()
35389 implementation.
35390 (ieee1275_get_time_ms): New function.
35391 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35392 real work.
35393
9ec92aaf 353942008-08-05 Marco Gerards <marco@gnu.org>
35395
35396 * disk/ata.c: Include <grub/pci.h>.
35397 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35398 (grub_ata_initialize): Rewritten.
35399 (grub_ata_device_initialize): New function.
35400
8d23f507 354012008-08-04 Pavel Roskin <proski@gnu.org>
35402
35403 * kern/main.c: Include grub/mm.h.
35404
5e15ee3d 354052008-08-04 Robert Millan <rmh@aybabtu.com>
35406
35407 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35408 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35409 corruption problem).
35410
a9053f8f 354112008-08-04 Robert Millan <rmh@aybabtu.com>
35412
35413 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35414 warnings introduced in my last commit.
35415
dd19c7d7 354162008-08-03 Robert Millan <rmh@aybabtu.com>
35417
35418 Make PCI available on all i386 architectures.
35419
35420 * include/grub/i386/pc/pci.h: Move from here ...
35421 * include/grub/i386/pci.h: ... to here.
35422
35423 * include/grub/i386/pc/pci.h: Remove.
35424 * include/grub/i386/efi/pci.h: Remove.
35425 * include/grub/x86_64/efi/pci.h: Remove.
35426
35427 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35428 `<grub/cpu/pci.h>'.
35429
35430 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35431 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35432 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35433
35434 * conf/i386-ieee1275.rmk: Likewise.
35435
e14a6184 354362008-08-03 Robert Millan <rmh@aybabtu.com>
35437
35438 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35439 (grub_console_setcursor): Make it possible to set cursor off.
35440
52768e37 354412008-08-03 Robert Millan <rmh@aybabtu.com>
35442
35443 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35444 of modules instead of assuming which platform provides what.
35445 * util/update-grub.in: Likewise.
35446
2d52f57f 354472008-08-03 Robert Millan <rmh@aybabtu.com>
35448
35449 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35450 instead of `grub_install_dos_part' to determine whether a drive needs
35451 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35452 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35453
2a5cd121 354542008-08-02 Robert Millan <rmh@aybabtu.com>
35455
35456 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35457
93808428 354582008-08-02 Robert Millan <rmh@aybabtu.com>
35459
35460 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35461 of informational grub_dprintf() calls.
35462
3bd0a12a 354632008-08-02 Robert Millan <rmh@aybabtu.com>
35464
35465 * disk/memdisk.c (memdisk_size): Don't initialize.
35466 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35467
35468 * include/grub/i386/pc/kernel.h
35469 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35470 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35471 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35472 (grub_arch_memdisk_size): Remove.
35473
35474 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35475 field (was only used to transfer a constant). Add `type' field to
35476 support multiple module types.
35477 (grub_module_iterate): New function.
35478
35479 * kern/device.c (grub_device_open): Do not hide error messages
35480 when grub_disk_open() fails. Use grub_print_error() instead.
35481
35482 * kern/i386/pc/init.c (grub_arch_modules_addr)
35483 (grub_arch_memdisk_size): Remove functions.
35484 (grub_arch_modules_addr): Return the module address in high memory
35485 (now that it isn't copied anymore).
35486
35487 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35488 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35489 decompression routine (grub_total_module_size already includes that
35490 now). Don't copy modules back to low memory.
35491
35492 * kern/main.c: Include `<grub/mm.h>'.
35493 (grub_load_modules): Split out (and use) ...
35494 (grub_module_iterate): ... this function, which iterates through
35495 module objects and runs a hook.
35496 Comment out grub_mm_init_region() call, as it would cause non-ELF
35497 modules to be overwritten.
35498
35499 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35500 the memdisk image in its own region, make it part of the module list.
35501 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35502 (main): Parse --memdisk|-m option, and pass user-provided path as
35503 parameter to generate_image().
35504 (add_segments): Pass `memdisk_path' down to load_modules().
35505 (load_modules): Embed memdisk image in module section when requested.
35506 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35507 `header.type' instead of `header.offset'.
35508
35509 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35510 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35511 (memdisk_mod_LDFLAGS): New variables.
35512 * conf/i386-coreboot.rmk: Likewise.
35513 * conf/i386-ieee1275.rmk: Likewise.
35514
a927cc73 355152008-08-02 Robert Millan <rmh@aybabtu.com>
35516
35517 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35518 (backward_relocator): New variables. Used to allocate and relocate
35519 the payload, respectively.
35520 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35521 address, install the appropriate relocator code in each bound of
a927cc73 35522 the payload, and set the entry point such that
35523 grub_multiboot_real_boot() will jump to one of them.
35524
35525 * kern/i386/loader.S (grub_multiboot_payload_size)
35526 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35527 (grub_multiboot_payload_entry_offset): New variables.
35528 (grub_multiboot_real_boot): Set cpu context to what the relocator
35529 expects, and jump to the relocator instead of the payload.
35530
35531 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35532 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35533 (grub_multiboot_payload_entry_offset): Export.
35534
b15d8a0c 355352008-08-01 Bean <bean123ch@gmail.com>
35536
35537 * normal/menu_entry.c (editor_getline): Don't return the original
35538 string as result, as it will be released by lexer once it has done
35539 using it.
35540
cdfb3d22 355412008-08-01 Robert Millan <rmh@aybabtu.com>
35542
35543 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35544 within menuentries, not before them.
35545 util/grub.d/10_hurd.in: Likewise.
35546
9175e93d 355472008-08-01 Bean <bean123ch@gmail.com>
35548
35549 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35550 (bufio_mod_SOURCES): New macro.
35551 (bufio_mod_CFLAGS): Likewise.
35552 (bufio_mod_LDFLAGS): Likewise.
35553
35554 * include/grub/bufio.h: New file.
35555
35556 * io/bufio.c: Likewise.
35557
35558 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35559 (grub_video_reader_png): Use grub_buffile_open to open file.
35560
35561 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35562 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35563
35564 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35565 (grub_video_reader_tga): Use grub_buffile_open to open file.
35566
35567 * font/manager.c: Include <grub/bufio.h>.
35568 (add_font): Use grub_buffile_open to open file.
35569
3d8383e7 355702008-07-31 Robert Millan <rmh@aybabtu.com>
35571
35572 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35573 ELF segments, use a macro for arbitrarily accessing any of them instead
35574 of preparing a pointer that allows access to one at a time.
35575 (grub_multiboot_load_elf64): Likewise.
35576
16e641b6 355772008-07-31 Bean <bean123ch@gmail.com>
35578
35579 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35580 GRUB_KERNEL_MACHINE_DATA_END.
35581
59198b72 355822008-07-30 Robert Millan <rmh@aybabtu.com>
35583
35584 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35585 Increase from 0x50 to 0x60.
35586 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35587 use UUIDs to identify the root drive for them. If that's not
35588 possible, abort.
35589 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35590 check, for cross-disk installs.
35591
ae88bca3 355922008-07-30 Robert Millan <rmh@aybabtu.com>
35593
35594 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35595 is non-empty, use it to set the `prefix' environment variable instead
35596 of the usual approach.
35597 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35598 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35599 environment variable instead of dummy make_install_device().
35600
35601 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35602 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35603 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35604
35605 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35606 New variable reference.
35607 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35608 New macro. Defines offset of `grub_prefix' within startup.S (relative
35609 to `start').
35610 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35611 section within startup.S (relative to `start').
35612 * include/grub/i386/coreboot/kernel.h: Likewise.
35613
35614 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35615 Overwrite grub_prefix with its contents, at the beginning of the
35616 first segment.
35617 (main): Understand -p|--prefix.
35618
14f41dd1 356192008-07-30 Robert Millan <rmh@aybabtu.com>
35620
35621 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35622
4ca049a3 356232008-07-30 Robert Millan <rmh@aybabtu.com>
35624
35625 * term/i386/pc/vga_text.c (grub_console_cls): Use
35626 grub_console_gotoxy() to go back to beginning of the screen.
35627 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35628
2921d337 356292008-07-29 Christian Franke <franke@computer.org>
35630
35631 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35632 Add conversion of emulated mount points on Cygwin.
35633
b609876d 356342008-07-29 Christian Franke <franke@computer.org>
35635
35636 * util/update-grub.in: Add a check for admin
35637 group on Cygwin.
35638 Remove old `grub.cfg.new' before creation.
35639 Add `-f' to `mv' to handle the different filesystem
35640 semantics of Windows.
35641
e93e4679 356422008-07-29 Bean <bean123ch@gmail.com>
35643
35644 * normal/main.c (get_line): Fix buffer overflow bug.
35645
41694fd0 356462008-07-28 Robert Millan <rmh@aybabtu.com>
35647
35648 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35649 (struct grub_apple_header): New struct. Describes the layout of
35650 the partmap header.
35651 (apple_partition_map_iterate): Check the header magic as well as the
35652 partition magic (which was already being checked).
35653
cfd0b4e6 356542008-07-28 Pavel Roskin <proski@gnu.org>
35655
35656 * genmk.rb: Add a warning to the beginning of the output that
35657 it's a generated file and should not be edited.
35658
93cce016 356592008-07-28 Robert Millan <rmh@aybabtu.com>
35660
35661 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35662 with the same number are found, just use issue a warning with
35663 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35664
cd1df915 356652008-07-27 Robert Millan <rmh@aybabtu.com>
35666
35667 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35668 information.
35669
b70a8427 356702008-07-27 Bean <bean123ch@gmail.com>
35671
35672 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35673 (grub_fat_find_dir): Ignore case when comparing filename.
35674
8f5e379f 356752008-07-27 Bean <bean123ch@gmail.com>
35676
35677 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35678 smallino, as it's more descriptive, and i8count can be confused with
35679 the other field count.
35680 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35681 inode type.
35682
a85cd5a0 356832008-07-27 Bean <bean123ch@gmail.com>
35684
35685 * commands/crc.c: New file.
35686
35687 * lib/crc.c: Likewise.
35688
35689 * include/grub/lib/crc.h: Likewise.
35690
35691 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35692
35693 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35694 (hexdump): Move this function to ...
35695
35696 * lib/hexdump.c: ... here.
35697
35698 * include/grub/hexdump.h: Renamed to ...
35699
35700 * include/grub/lib/hexdump.h: ... this.
35701
35702 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35703
35704 * util/grub-editenv.c: Likewise.
35705
35706 * include/envblk.h: Renamed to ...
35707
35708 * include/lib/envblk.h: ... this.
35709
35710 * util/envblk.c: Renamed to ...
35711
35712 * lib/envblk.c: ... this.
35713
35714 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35715 lib/hexdump.c.
35716 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35717 (pkglib_MODULES): Add crc.mod.
35718 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35719 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35720 (crc_mod_SOURCES): New macro.
35721 (crc_mod_CFLAGS): Likewise.
35722 (crc_mod_LDFLAGS): Likewise.
35723
35724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35725
35726 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35727
35728 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35729
35730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35731
35732 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35733
c298def0 357342008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35735
35736 * commands/help.c: Include <grub/term.h>.
35737 (TERM_WIDTH): Removed. Updated all users.
35738
cc349fb3 357392008-07-27 Pavel Roskin <proski@gnu.org>
35740
35741 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35742 spurious warnings about a comment within a comment.
35743
9051607e 357442008-07-25 Robert Millan <rmh@aybabtu.com>
35745
35746 * util/getroot.c (find_root_device): Skip devices that match
35747 /dev/dm-[0-9]. This lets the real device be found for any type of
35748 abstraction (LVM, EVMS, RAID..).
35749 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35750 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35751 device is found first, find_root_device() will now skip it.
35752
01453bfc 357532008-07-24 Pavel Roskin <proski@gnu.org>
35754
35755 * include/grub/types.h: Use __builtin_bswap32() and
35756 __builtin_bswap64() with gcc 4.3 and newer.
35757
6af9849f 357582008-07-24 Christian Franke <franke@computer.org>
35759
3a0fa256 35760 * util/i386/pc/grub-install.in: If `--debug' is specified,
35761 pass `--verbose' to grub-setup.
35762 Abort script if make_system_path_relative_to_its_root() fails.
35763
7810e747 357642008-07-24 Bean <bean123ch@gmail.com>
35765
35766 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35767 variable `target_platform' should be `platform'.
35768
42290e17 357692008-07-24 Bean <bean123ch@gmail.com>
35770
51cc5193 35771 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35772 (grub_png_init_fixed_block): New function.
35773 (grub_png_decode_image_data): Handle fixed huffman code compression.
35774
2a8a80e4 357752008-07-24 Bean <bean123ch@gmail.com>
35776
35777 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35778 (grub_pe2elf_SOURCES): New macro.
35779 (CLEANFILES): Add grub-pe2elf.
35780
35781 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35782 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35783 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35784 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35785 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35786 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35787 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35788 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35789 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35790 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35791 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35792 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35793 (GRUB_PE32_DT_FUNCTION): Likewise.
35794 (GRUB_PE32_REL_I386_DIR32): Likewise.
35795 (GRUB_PE32_REL_I386_REL32): Likewise.
35796 (grub_pe32_symbol): New structure.
35797 (grub_pe32_reloc): Likewise.
35798
35799 * util/grub-pe2elf.c: New file.
35800
35801 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35802 start symbol in non pc platform.
35803
35804 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35805
35806 The following patches are from Christian Franke.
35807
35808 * include/grub/dl.h: Remove .previous, gas supports this only
35809 for ELF format.
35810
35811 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35812 Remove .type, gas supports this only for ELF format.
35813
35814 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35815 nullbytes in symbol table. This fixes an infinite loop if table is
35816 zero filled.
35817
35818 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35819 TARGET_IMG_LDFLAGS and EXEEXT.
35820
35821 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35822 TARGET_IMG_LDFLAGS_AC.
35823 (grub_CHECK_STACK_ARG_PROBE): New function.
35824
35825 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35826
35827 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35828
35829 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35830 to set TARGET_IMG_LD* accordingly.
35831 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35832 Add call to grub_CHECK_STACK_ARG_PROBE.
35833 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35834
35835 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35836
35837 * genmk.rb: Add EXEEXT to CLEANFILES.
35838
12ccdb75 358392008-07-23 Robert Millan <rmh@aybabtu.com>
35840
35841 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35842 define the codes for arrows and lines used for the menu).
35843 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35844 as well.
35845
35846 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35847 fonts, because the latter are too slow.
35848
18eeaf04 358492008-07-21 Bean <bean123ch@gmail.com>
35850
35851 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35852 a20. Run keyboard test last, as it will cause macbook to halt.
35853
b095e2ad 358542008-07-18 Pavel Roskin <proski@gnu.org>
35855
35856 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35857 load foreign architecture modules correctly anyway. Keep
35858 support for loading host architecture modules, whether we
35859 compile them or not.
35860
737feb35 358612008-07-17 Pavel Roskin <proski@gnu.org>
35862
3f4ce737 35863 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35864 change target_cpu. The compiler default can mismatch target_cpu
35865 in any case.
35866
4ad2d049 35867 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35868 * kern/efi/efi.c: Likewise.
35869
f6130a12 35870 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35871 target compiler is functional.
35872 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35873 are set up.
35874
58393a2d 35875 * configure.ac: Default to efi platform for x86_64-apple. Allow
35876 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35877 adjustments from the rest, only do them if target is not
35878 explicitly given. Merge other adjustments with the final sanity
35879 check. Remove an extraneous check for supported CPU. Be
35880 specific which CPU and which platform is not supported.
35881
737feb35 35882 * configure.ac: Default to pc platform for x86_64.
35883
546f966a 358842008-07-17 Robert Millan <rmh@aybabtu.com>
35885
35886 Partial LinuxBIOS -> Coreboot rename.
35887
35888 * conf/i386-linuxbios.rmk: Renamed to ...
35889 * conf/i386-coreboot.rmk: ... this.
35890 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35891 * configure.ac: Accept "coreboot" as input platform (but maintain
35892 compatibility with "linuxbios").
35893 * include/grub/i386/linuxbios: Renamed to ...
35894 * include/grub/i386/coreboot: ... this.
35895
20011694 358962008-07-17 Bean <bean123ch@gmail.com>
35897
35898 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35899 (appleldr_mod_SOURCE): New variable.
20011694 35900 (appleldr_mod_CFLAGS): Likewise.
35901 (appleldr_mod_LDFLAGS): Likewise.
35902 (pci_mod_SOURCES): Likewise.
35903 (pci_mod_CFLAGS): Likewise.
35904 (pci_mod_LDFLAGS): Likewise.
35905 (lspci_mod_SOURCES): Likewise.
35906 (lspci_mod_CFLAGS): Likewise.
35907 (lspci_mod_LDFLAGS): Likewise.
35908
35909 * conf/x86_64-efi.rmk: New file.
35910
35911 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35912 macro.
35913 (grub_efidisk_write): Likewise.
35914
35915 * include/efi/api.h (efi_call_0): New macro.
35916 (efi_call_1): Likewise.
35917 (efi_call_2): Likewise.
35918 (efi_call_3): Likewise.
35919 (efi_call_4): Likewise.
35920 (efi_call_5): Likewise.
35921 (efi_call_6): Likewise.
35922
35923 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35924 grub_rescue_cmd_chainloader.
35925
35926 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35927 (grub_pe32_optional_header): Change some fields based on i386 or
35928 x86_64 platform.
35929 (GRUB_PE32_PE32_MAGIC): Likewise.
35930
35931 * include/grub/efi/uga_draw.h: New file.
35932
35933 * include/grub/elf.h (STN_ABS): New constant.
35934 (R_X86_64_NONE): Relocation constant for x86_64.
35935 (R_X86_64_64): Likewise.
35936 (R_X86_64_PC32): Likewise.
35937 (R_X86_64_GOT32): Likewise.
35938 (R_X86_64_PLT32): Likewise.
35939 (R_X86_64_COPY): Likewise.
35940 (R_X86_64_GLOB_DAT): Likewise.
35941 (R_X86_64_JUMP_SLOT): Likewise.
35942 (R_X86_64_RELATIVE): Likewise.
35943 (R_X86_64_GOTPCREL): Likewise.
35944 (R_X86_64_32): Likewise.
35945 (R_X86_64_32S): Likewise.
35946 (R_X86_64_16): Likewise.
35947 (R_X86_64_PC16): Likewise.
35948 (R_X86_64_8): Likewise.
35949 (R_X86_64_PC8): Likewise.
35950
35951 * include/grub/i386/efi/pci.h: New file.
35952
35953 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35954 Change it value based on platform.
35955 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35956 (GRUB_E820_RAM): Likewise.
35957 (GRUB_E820_RESERVED): Likewise.
35958 (GRUB_E820_ACPI): Likewise.
35959 (GRUB_E820_NVS): Likewise.
35960 (GRUB_E820_EXEC_CODE): Likewise.
35961 (GRUB_E820_MAX_ENTRY): Likewise.
35962 (grub_e820_mmap): New structure.
35963 (linux_kernel_header): Change the efi field according to different
35964 kernel version, also field from linux_kernel_header.
35965
35966 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35967
35968 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35969 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35970 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35971 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35972 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35973 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35974 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35975 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35976 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35977 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35978
35979 * include/grub/x86_64/efi/kernel.h: New file.
35980
35981 * include/grub/x86_64/efi/loader.h: Likewise.
35982
35983 * include/grub/x86_64/efi/machine.h: Likewise.
35984
35985 * include/grub/x86_64/efi/pci.h: Likewise.
35986
35987 * include/grub/x86_64/efi/time.h: Likewise.
35988
35989 * include/grub/x86_64/linux.h: Likewise.
35990
35991 * include/grub/x86_64/setjmp.h: Likewise.
35992
35993 * include/grub/x86_64/time.h: Likewise.
35994
35995 * include/grub/x86_64/types.h: Likewise.
35996
35997 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35998 GRUB_TARGET_SIZEOF_VOID_P.
35999
36000 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36001 (grub_efi_locate_handle): Likewise.
36002 (grub_efi_open_protocol): Likewise.
36003 (grub_efi_set_text_mode): Likewise.
36004 (grub_efi_stall): Likewise.
36005 (grub_exit): Likewise.
36006 (grub_reboot): Likewise.
36007 (grub_halt): Likewise.
36008 (grub_efi_exit_boot_services): Likewise.
36009 (grub_get_rtc): Likewise.
36010
36011 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36012 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36013 (grub_efi_allocate_pages): Wrap efi calls.
36014 (grub_efi_free_pages): Wrap efi calls.
36015 (grub_efi_get_memory_map): Wrap efi calls.
36016
36017 * kern/x86_64/dl.c: New file.
36018
36019 * kern/x86_64/efi/callwrap.S: Likewise.
36020
36021 * kern/x86_64/efi/startup.S: Likewise.
36022
36023 * loader/efi/appleloader.c: Likewise.
36024
36025 * loader/efi/chainloader.c (cmdline): New variable.
36026 (grub_chainloader_unload): Wrap efi calls.
36027 (grub_chainloader_boot): Likewise.
36028 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36029 command line.
36030
36031 * loader/efi/chainloader_normal.c (chainloader_command):
36032 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36033 command line.
36034
36035 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36036 method.
36037 (grub_e820_add_region): New function.
36038 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36039 booting.
36040 (grub_find_video_card): New function.
36041 (grub_linux_setup_video): New function.
36042 (grub_rescue_cmd_linux): Probe for video information.
36043
36044 * normal/x86_64/setjmp.S: New file.
36045
36046 * term/efi/console.c (map_char): New function.
36047 (grub_console_putchar): Map unicode char.
36048 (grub_console_checkkey): Wrap efi calls.
36049 (grub_console_getkey): Likewise.
36050 (grub_console_getwh): Likewise.
36051 (grub_console_gotoxy): Likewise.
36052 (grub_console_cls): Likewise.
36053 (grub_console_setcolorstate): Likewise.
36054 (grub_console_setcursor): Likewise.
36055
36056 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36057
59652a20 360582008-07-16 Pavel Roskin <proski@gnu.org>
36059
ef294055 36060 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36061 format strings.
36062
59652a20 36063 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36064 pointer, not an integer. This fixes a warning and prevents
36065 precision loss on 64-bit systems.
36066 (relocate_addresses): Remove unneeded cast.
36067
afc3b5d7 360682008-07-15 Pavel Roskin <proski@gnu.org>
36069
506b2b3e 36070 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36071
62ead89c 36072 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36073
c4cd51d7 36074 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36075 Fix comparison between signed and unsigned.
36076
0d3d8f28 36077 * include/grub/i386/ieee1275/console.h: Declare
36078 grub_console_init() and grub_console_fini().
36079
8804b286 36080 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36081 It's empty and unused.
36082
ee01cf35 36083 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36084 beginning to avoid warnings with some compilers.
36085
afc3b5d7 36086 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36087 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36088
e4e8eaa5 360892008-07-14 Pavel Roskin <proski@gnu.org>
36090
407aceb4 36091 * kern/env.c (grub_register_variable_hook): Don't copy empty
36092 string, it leaks memory. Pass "" to grub_env_set(), it should
36093 handle constant strings.
36094
e4e8eaa5 36095 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36096 * commands/cmp.c (grub_cmd_cmp): Likewise.
36097 * kern/dl.c (grub_dl_flush_cache): Likewise.
36098 (grub_dl_load_core): Likewise.
36099 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36100 (grub_elf64_load_phdrs): Likewise.
36101
d4e2dad3 361022008-07-13 Pavel Roskin <proski@gnu.org>
36103
36104 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36105 between signed and unsigned.
36106 (LzmaEnc_Finish): Fix warning about an unused parameter.
36107
aa24b516 361082008-07-13 Bean <bean123ch@gmail.com>
36109
36110 * Makefile.in (enable_lzo): New rule.
36111
36112 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36113
36114 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36115
36116 * boot/i386/pc/lnxboot.S: #include <config.h>.
36117
36118 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 36119 its value according to the compression algorithm used, lzo or lzma.
aa24b516 36120
36121 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36122 compression algorithm according to configure macro.
36123
36124 * kern/i386/pc/startup.S (codestart): Likewise.
36125
36126 * kern/i386/pc/lzma_decode.S: New file.
36127
36128 * include/grub/lib/LzFind.h: Likewise.
36129
36130 * include/grub/lib/LzHash.h: Likewise.
36131
36132 * include/grub/lib/LzmaDec.h: Likewise.
36133
36134 * include/grub/lib/LzmaEnc.h: Likewise.
36135
36136 * include/grub/lib/LzmaTypes.h: Likewise.
36137
36138 * lib/LzFind.c: Likewise.
36139
36140 * lib/LzmaDec.c: Likewise.
36141
36142 * lib/LzmaEnc.c: Likewise.
36143
4ae821ac 361442008-07-13 Bean <bean123ch@gmail.com>
36145
36146 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36147 (grub_ext4_extent_header): New structure.
36148 (grub_ext4_extent): Likewise.
36149 (grub_ext4_extent_idx): Likewise.
36150 (grub_ext4_find_leaf): New function.
36151 (grub_ext2_read_block): Handle extents.
36152
9a745147 361532008-07-12 Robert Millan <rmh@aybabtu.com>
36154
36155 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36156
d49a4cf6 361572008-07-11 Robert Millan <rmh@aybabtu.com>
36158
36159 * util/grub.d/40_custom.in: New file. Example on how to add custom
36160 entries to /etc/grub.d.
36161 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36162 40_custom (implicitly, by merging all the grub.d rules).
36163
947414b4 361642008-07-11 Pavel Roskin <proski@gnu.org>
36165
0059cf6f 36166 * commands/read.c (grub_getline): Fix invalid memory access.
36167 Don't add newline to the variable value.
36168
947414b4 36169 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36170 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36171 (serial_hw_get_port): Check validity of the port number.
36172 (grub_cmd_serial): Check return value of serial_hw_get_port().
36173
62a02d00 361742008-07-07 Pavel Roskin <proski@gnu.org>
36175
36176 * boot/i386/pc/diskboot.S (notification_string): Replace
36177 "Loading kernel" with just "loading". This is shorter, less
36178 confusing and saves a few bytes for possible future changes.
36179
3e5581b0 361802008-07-05 Pavel Roskin <proski@gnu.org>
36181
ea387a48 36182 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36183 size for ATAPI devices, they are undefined. Output sector
36184 number in decimal form.
36185
3e5581b0 36186 * disk/ata.c: Use named constants for status bits.
36187
fdecb8fd 361882008-07-04 Pavel Roskin <proski@gnu.org>
36189
bcd35b90 36190 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36191 grub_addr_t before casting it to the void pointer to fix a
36192 warning. Non-addressable regions are discarded earlier.
36193 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36194 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36195 (check_signature): Don't shadow table_header.
36196 (grub_linuxbios_table_iterate): Cast numeric constants to
36197 grub_linuxbios_table_header_t.
36198 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36199 grub_stop().
36200
af58ab3d 36201 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36202 prevent warnings.
36203
1759aa57 36204 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36205 pointer, which can cause warnings. Support 64-bit addresses.
36206
fdecb8fd 36207 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36208 of sizeof(long). This fixes PowerPC image generation on x86_64.
36209
8516d2a8 362102008-07-04 Robert Millan <rmh@aybabtu.com>
36211
36212 This fixes a performance issue when pc & gpt partmap iterators
36213 didn't abort iteration even after our hook found what it was
fe987087 36214 looking for (often causing expensive probes of non-existent drives).
8516d2a8 36215
36216 Some callers relied on previous buggy behaviour, since they would
34c44600 36217 raise an error when their own hooks caused early abortion of its
8516d2a8 36218 iteration.
36219
36220 * kern/device.c (grub_device_open): Improve error message.
36221 * disk/lvm.c (grub_lvm_open): Likewise.
36222 * disk/raid.c (grub_raid_open): Likewise.
36223
36224 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36225 when hook requests it, independently of grub_errno.
36226 (pc_partition_map_probe): Do not fail when find_func() caused
36227 early abortion of pc_partition_map_iterate().
36228
36229 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36230 when hook requests it, independently of grub_errno.
36231 (gpt_partition_map_probe): Do not fail when find_func() caused
36232 early abortion of gpt_partition_map_iterate().
36233
36234 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36235 when hook requests it, independently of grub_errno. Do not fail when
36236 part_map_iterate_hook() caused early abortion of p->iterate().
36237
36238 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36239 when grub_partition_iterate() returned with non-zero.
36240
277d0de9 362412008-07-03 Pavel Roskin <proski@gnu.org>
36242
36243 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36244 like we do in grub_ata_pio_read().
36245 (grub_ata_readwrite): Always write individual sectors. Fix the
36246 sector count for the remainder.
36247 (grub_ata_write): Enable writing to ATA devices. Correctly
36248 report error for ATAPI devices.
36249
d4c9b428 362502008-07-02 Pavel Roskin <proski@gnu.org>
36251
e43fc690 36252 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36253 warning.
36254
f707af42 36255 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36256 for every read sector, we already increment it for the whole
36257 batch. This fixes reading more than 256 sectors at once.
36258
11e16b15 36259 * util/grub-editenv.c (cmd_info): Cast argument to long
36260 explicitly. ptrdiff_t reduces to int on i386.
36261
cbabfdd4 36262 * util/grub-editenv.c (main): Be specific which parameter is
36263 missing.
36264
b8fbce0a 36265 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36266 (memdisk): Make memdisk_orig_addr a pointer.
36267
c9c8e606 36268 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36269 for file offsets, use grub_off_t instead. Fix printf format
36270 warnings.
36271
ca62e598 36272 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36273 there. Real unexpected warnings should not drown in the noise
36274 about known problems.
36275
ce8d1766 36276 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36277 grub_disk_addr_t for memory addresses.
36278
00c7a56a 36279 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36280 explicitly to fix a warning.
36281
08d3ef09 36282 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36283
cb71ba20 36284 * Makefile.in (MODULE_LDFLAGS): New variable.
36285 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36286 the linker accepts --build-id=none.
36287 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36288 MODULE_LDFLAGS.
36289 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36290
d4c9b428 36291 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36292 those in Linux XFS code. Provide a way to access 64-bit parent
36293 inode.
36294 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36295 the end of struct grub_xfs_dir_header.
36296
d4156eee 362972008-07-02 Bean <bean123ch@gmail.com>
36298
36299 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36300 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36301 and GRUB_IEEE1275_FLAG_NO_ANSI.
36302
36303 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36304 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36305 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36306
36307 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36308 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36309
36310 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36311 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36312
36313 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36314 esc sequence on non ANSI terminal.
36315 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36316
36317 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36318 beginning of file.
36319
2270f77b 363202008-07-02 Bean <bean123ch@gmail.com>
36321
36322 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36323 (grub_editenv_SOURCES): New variable.
36324 (pkglib_MODULES): Add loadenv.mod.
36325 (loadenv_mod_SOURCES): New variable.
36326 (loadenv_mod_CFLAGS): Likewise.
36327 (loadenv_mod_LDFLAGS): Likewise.
36328
36329 * include/grub/envblk.h: New file.
36330
36331 * util/envblk.c: New file.
36332
36333 * util/grub-editenv.c: New file.
36334
36335 * commands/loadenv.c: New file.
36336
0e9e51ec 363372008-07-01 Pavel Roskin <proski@gnu.org>
36338
d89b7634 36339 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36340 not unsigned char. This fixes warnings and is consistent with
36341 other tags.
36342
bf1835b1 36343 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36344
8222a04b 36345 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36346
6a42d99d 36347 * term/tparm.c (analyze): Always set *popcount.
36348
10b159d1 36349 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36350 cast to fix a warning.
36351
b8789f6c 36352 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36353 cast to suppress a warning.
36354
29d7e38a 36355 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36356 grub_fshelp_read_file() expects.
36357
f341f669 36358 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36359 write uuid as a 32-bit value in CPU byte order, so declare and
36360 use it as such.
36361
0e9e51ec 36362 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36363 long if the format specifier expects it.
36364 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36365 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36366 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36367 long to fix a warning.
36368 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36369 grub_dprintf() arguments to fix warnings.
36370
3aefa857 363712008-06-30 Pavel Roskin <proski@gnu.org>
36372
56c7668b 36373 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36374 install_bsd_part immediately before core.img is embedded or
36375 modified on disk. This fixes core.img verification if core.img
36376 cannot be embedded.
36377
3aefa857 36378 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36379 core_path to calculate the blocklist.
36380 Patch from Javier Martín <lordhabbit@gmail.com>
36381
5444088d 363822008-06-29 Robert Millan <rmh@aybabtu.com>
36383
36384 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36385 block to disk block.
36386 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36387 Patch from Niels Böhm <bitbucket@arcor.de>
36388
674835c8 363892008-06-29 Robert Millan <rmh@aybabtu.com>
36390
36391 * util/update-grub_lib.in (font_path): Search for fonts in
36392 /boot/grub first, which is more likely to be readable (we aren't
36393 deciding where fonts live, just looking for them).
36394
f527dbc8 363952008-06-26 Pavel Roskin <proski@gnu.org>
36396
6c2d8df6 36397 * util/biosdisk.c (read_device_map): Don't leave dead map
36398 entries for devices failing stat() check.
36399
f527dbc8 36400 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36401 core_path_dev for the core.img path on the target device.
36402
aebe3d13 364032008-06-26 Robert Millan <rmh@aybabtu.com>
36404
36405 * disk/fs_uuid.c: New file.
36406 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36407 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36408 (fs_uuid_mod_LDFLAGS): New variables.
36409 * include/grub/disk.h (grub_disk_dev_id): Add
36410 `GRUB_DISK_DEVICE_UUID_ID'.
36411 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36412 implement iterate().
36413
37aaf354 364142008-06-26 Robert Millan <rmh@aybabtu.com>
36415
36416 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36417 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36418 Linux image includes no initrd.
36419
25ff262a 364202008-06-21 Javier Martín <lordhabbit@gmail.com>
36421
36422 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36423 call to resolve the core image location that effectively appended the
36424 name twice.
36425
76a2bd44 364262008-06-21 Robert Millan <rmh@aybabtu.com>
36427
36428 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36429 call from here ...
36430
36431 * util/grub.d/10_hurd.in: ... to here ...
36432 * util/grub.d/10_linux.in: ... and here.
36433
650e1c79 364342008-06-19 Robert Millan <rmh@aybabtu.com>
36435
fe987087 36436 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36437 after it has been set by grub_machine_set_prefix().
36438
6ce63911 364392008-06-19 Robert Millan <rmh@aybabtu.com>
36440
36441 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36442 search result when not saving to variable, not the other way around.
36443 When saving to variable, abort iteration as soon as a match is found.
36444
73940cec 364452008-06-19 Robert Millan <rmh@aybabtu.com>
36446
36447 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36448 check for partition that provides /boot/grub. Its logic is flawed,
36449 as it prevents prepare_grub_to_access_device() from being called
36450 multiple times.
36451
3c62a39d 364522008-06-19 Robert Millan <rmh@aybabtu.com>
36453
36454 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36455 "insmod" command directly when abstraction modules are needed,
fe987087 36456 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36457 since it had already been processed).
36458
47395a42 364592008-06-19 Pavel Roskin <proski@gnu.org>
36460
36461 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36462 changed. This is needed in case GRUB_LIBDIR changes.
36463 * conf/i386-ieee1275.rmk: Likewise.
36464 * conf/i386-linuxbios.rmk: Likewise.
36465 * conf/i386-pc.rmk: Likewise.
36466 * conf/powerpc-ieee1275.rmk: Likewise.
36467
a145ac2d 364682008-06-18 Pavel Roskin <proski@gnu.org>
36469
36470 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36471 kernel_elf_symlist.c to symlist.c for consistency with other
36472 architectures. Update all users.
36473 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36474
7847c51e 364752008-06-18 Robert Millan <rmh@aybabtu.com>
36476
36477 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36478 it in prefix.
36479
36480 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36481 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36482 a RAID device, run setup() for all members independently on whether
36483 LVM abstraction is being used.
36484 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36485 If grub-mkimage has set `*install_dos_part == -2', don't override this
36486 value.
36487 Perform *install_dos_part adjustments independently on whether
36488 we're embedding or not.
36489 Clarify error message when image is too big for embedding.
36490 Remove duplicate *install_dos_part stanza.
36491
b23e5644 364922008-06-17 Robert Millan <rmh@aybabtu.com>
36493
36494 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36495 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36496 variables.
36497 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36498 values in grub_ofconsole_normal_color and
36499 grub_ofconsole_highlight_color (they're not directly related to
36500 background and foreground).
36501 (grub_ofconsole_setcolorstate): Extract background and foreground
36502 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36503
0aac2f79 365042008-06-17 Robert Millan <rmh@aybabtu.com>
36505
36506 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36507 /boot/grub for the check in last commit, not /boot (they could be
36508 different partitions).
36509
3cca7ef3 365102008-06-16 Robert Millan <rmh@aybabtu.com>
36511
36512 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36513 asked to setup access for the same partition that provides /boot,
36514 don't bother using UUIDs since our root already has the value we
36515 want.
36516
347396d8 365172008-06-16 Robert Millan <rmh@aybabtu.com>
36518
36519 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36520 I2O devices.
36521 Patch from Sven Mueller <sven@debian.org>.
36522
991477f8 365232008-06-16 Robert Millan <rmh@aybabtu.com>
36524
36525 * util/update-grub.in: Check for $EUID instead of $UID.
36526 Reported by Vincent Zweije.
36527
d31a32a1 365282008-06-16 Bean <bean123ch@gmail.com>
36529
fe987087 36530 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36531 (grub_ext2_read_block): Likewise.
36532 (grub_ext2_read_inode): Likewise.
36533 (grub_ext2_mount): Likewise.
36534 (grub_ext2_close): Likewise.
36535 (grub_ext3_get_journal): Removed.
36536
fe987087 36537 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36538 (grub_reiserfs_read_symlink): Likewise.
36539 (grub_reiserfs_mount): Likewise.
36540 (grub_reiserfs_open): Likewise.
36541 (grub_reiserfs_read): Likewise.
36542 (grub_reiserfs_close): Likewise.
36543 (grub_reiserfs_get_journal): Removed.
36544
36545 * fs/fshelp.c (grub_fshelp_read): Removed.
36546 (grub_fshelp_map_block): Likewise.
36547
36548 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36549 (grub_fshelp_journal): Likewise.
36550 (grub_fshelp_read): Likewise.
36551 (grub_fshelp_map_block): Likewise.
36552
3540a760 365532008-06-16 Pavel Roskin <proski@gnu.org>
36554
36555 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36556 floating point anymore.
36557 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36558
95614c84 365592008-06-15 Pavel Roskin <proski@gnu.org>
36560
36561 * commands/ls.c (grub_ls_list_files): Use integer calculations
36562 for human readable format, avoid floating point use.
36563 * kern/misc.c (grub_ftoa): Remove.
36564 (grub_vsprintf): Remove floating point support.
36565
50465dd6 365662008-06-15 Robert Millan <rmh@aybabtu.com>
36567
fe6b695a 36568 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36569 devices.
36570 Reported by Max Vozeler.
36571
a9207284 365722008-06-15 Robert Millan <rmh@aybabtu.com>
36573
36574 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36575 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36576 skipped later.
36577 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36578 the beginning of the prefix.
36579
36580 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36581 It is assumed that if we have a memdisk, grub-mkimage has set
36582 grub_prefix to include the "(memdisk)" drive in it.
36583
a7cbd45a 365842008-06-15 Robert Millan <rmh@aybabtu.com>
36585
36586 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36587 Initialize keyboard controller after registering the terminal, so that
36588 grub_printf() can be called from grub_keyboard_controller_init().
36589
21cf716a 365902008-06-15 Robert Millan <rmh@aybabtu.com>
36591
36592 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36593 extent-btree which is written as big endian on disk.
36594 Reported by Alain Greppin <al@chilibi.org>.
36595
23a64d8e 365962008-06-14 Robert Millan <rmh@aybabtu.com>
36597
36598 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36599 * util/i386/pc/grub-install.in (modules): Likewise.
36600
d687651c 366012008-06-13 Pavel Roskin <proski@gnu.org>
36602
36603 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36604
dfe9ddd4 366052008-06-13 Bean <bean123ch@gmail.com>
36606
36607 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36608
36609 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36610
36611 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36612 to indicate sparse block.
36613
16ae7781 366142008-06-12 Pavel Roskin <proski@gnu.org>
36615
e6d1a308 36616 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36617 number, grub_fshelp_read() does it for us.
36618
16ae7781 36619 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36620 linear disk read with journal translation.
36621 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36622 * include/grub/fshelp.h: Declare grub_fshelp_read().
36623
40fd3a2b 366242008-06-09 Pavel Roskin <proski@gnu.org>
36625
36626 * fs/minix.c (grub_minix_mount): Handle error reading
36627 superblock.
36628
f5679726 366292008-06-08 Robert Millan <rmh@aybabtu.com>
36630
36631 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36632 don't append the RAID prefix afterwards.
36633 Reported by Clint Adams.
36634
ce525529 366352008-06-08 Robert Millan <rmh@aybabtu.com>
36636
36637 Based on description from Pavel:
36638 * kern/disk.c (grub_disk_check_range): Rename to ...
36639 (grub_disk_adjust_range): ... this. Add a comment explaining the
36640 tasks performed by this function.
36641
ad4936a0 366422008-06-08 Robert Millan <rmh@aybabtu.com>
36643
36644 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36645 `num_serial' (for consistency with other variables).
36646 (struct grub_ntfs_data): Add `uuid' member.
36647 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36648 (grub_ntfs_uuid): New function.
36649 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36650
dc20b0f9 366512008-06-07 Pavel Roskin <proski@gnu.org>
36652
36653 * util/biosdisk.c (open_device): Revert last change to the
36654 function, it broke installation. The sector needs to be
36655 different dependent on which device is opened.
36656
c5e3cfba 366572008-06-06 Robert Millan <rmh@aybabtu.com>
36658
36659 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36660 rest of GRUB, and breakage doesn't happen if its value were modified.
36661
36662 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36663 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36664 a constant (same value).
36665 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36666 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36667
26a1f8c4 366682008-06-06 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/biosdisk.c (open_device): Do not modify sector offset when
36671 accessing a partition. kern/disk.c already handles this for us.
36672
25d6b327 366732008-06-06 Robert Millan <rmh@aybabtu.com>
36674
36675 * util/grub-emu.c (grub_machine_init): Move code in this function from
36676 here ...
36677 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36678 segfault in case grub_printf() is called).
36679
36680 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36681 grub_probe. Update all users not to explicitly add it again.
36682 (grub_device): New variable; contains corresponding device for grubdir.
36683 (fs_module, partmap_module, devabstraction_module): Pass
36684 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36685 every time.
36686
9ece62fb 366872008-06-05 Robert Millan <rmh@aybabtu.com>
36688
36689 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36690 is found, print it (same layout as with labels).
36691
1ad36d37 366922008-06-04 Robert Millan <rmh@aybabtu.com>
36693
36694 * util/biosdisk.c (get_drive): Rename to ...
36695 (find_grub_drive): ... this. Update all users.
36696
36697 (get_os_disk): Rename to ...
36698 (convert_system_partition_to_system_disk): ... this. Update all users.
36699
36700 (find_drive): Rename to ...
36701 (find_system_device): ... this. Update all users.
36702
e6a30859 367032008-06-04 Robert Millan <rmh@aybabtu.com>
36704
36705 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36706 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36707 (make_device_map): Likewise.
36708
00c108a4 367092008-06-01 Robert Millan <rmh@aybabtu.com>
36710
36711 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36712 before dereferencing it.
36713
36714 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36715 union with fat12/fat16-specific ones. Add some new fields, including
36716 `num_serial' for both versions.
36717 (struct grub_fat_data): Add `uuid' member.
36718 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36719 names. Initialize `data->uuid' using `num_serial'.
36720 (grub_fat_uuid): New function.
36721 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36722
36723 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36724 (grub_reiserfs_uuid): New function.
36725 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36726 member.
36727
36728 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36729 (grub_xfs_uuid): New function.
36730 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36731
1385c5bb 367322008-06-01 Robert Millan <rmh@aybabtu.com>
36733
36734 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36735 code that is backward compatible with pre-uuid search command.
36736
c682dfd7 367372008-05-31 Robert Millan <rmh@aybabtu.com>
36738
36739 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36740 floppies after everything else, to ensure floppy drive isn't accessed
36741 unnecessarily (patch from Bean).
36742
b7db5d47 367432008-05-31 Robert Millan <rmh@aybabtu.com>
36744
36745 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36746 not print device names when we were asked to set a variable.
36747
6e037aa9 367482008-05-31 Robert Millan <rmh@aybabtu.com>
36749
36750 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36751 using "cursor-on" and "cursor-off" commands (understood at least by
36752 the Open Firmware flavour on OLPC).
36753
41305bc8 367542008-05-31 Michael Gorven <michael@gorven.za.net>
36755
36756 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36757 on and off sequences.
36758
69ba137e 367592008-05-31 Robert Millan <rmh@aybabtu.com>
36760
36761 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36762 * util/update-grub.in: Likewise.
36763
520ae21b 367642008-05-30 Pavel Roskin <proski@gnu.org>
36765
36766 * util/biosdisk.c (linux_find_partition): Simplify logic and
36767 make the code more universal. Keep special processing for
36768 devfs, but use a simple rule for all other devices. If the
36769 device ends with a number, append 'p' and the partition number.
36770 Otherwise, append only the partition number.
36771
5786569b 367722008-05-30 Robert Millan <rmh@aybabtu.com>
36773
36774 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36775 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36776 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36777 the `root' parameter to Linux.
36778
51500452 367792008-05-30 Robert Millan <rmh@aybabtu.com>
36780
36781 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36782 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36783 --fs_uuid with --fs-uuid.
36784 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36785 all filesystems support them).
36786
811d3878 367872008-05-30 Robert Millan <rmh@aybabtu.com>
36788
36789 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36790 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36791
cab63c95 367922008-05-30 Robert Millan <rmh@aybabtu.com>
36793
36794 * util/grub.d/00_header.in: Remove obsolete comment referencing
36795 convert_system_path_to_grub_path().
36796 * util/update-grub.in: Likewise.
36797 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36798 (convert_system_path_to_grub_path): Add a warning message explaining
36799 that this function is deprecated. Rely on is_path_readable_by_grub()
36800 for the readability checks.
36801 (font_path): Use is_path_readable_by_grub() for the readability
36802 check rather than convert_system_path_to_grub_path().
36803
972e2f7a 368042008-05-30 Robert Millan <rmh@aybabtu.com>
36805
36806 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36807 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36808 converting it first.
36809 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36810 grub.cfg for access to font file, and afterwards call it again to set
36811 the root device.
36812
62191274 368132008-05-30 Robert Millan <rmh@aybabtu.com>
36814
36815 * commands/search.c (options): Add --fs_uuid option.
36816 (search_fs_uuid): New function.
36817 (grub_cmd_search): Fix --set argument passing.
36818 Use search_fs_uuid() when requested via --fs_uuid.
36819 (grub_search_init): Update help message.
36820 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36821 and redeclare it as an array of 16-bit words.
36822 (grub_ext2_uuid): New function.
36823 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36824 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36825 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36826 (GRUB_DEVICE_BOOT_UUID): New variables.
36827 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36828 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36829 whenever possible.
36830 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36831 just assume `root' variable has the right value.
36832 * util/grub.d/10_linux.in: Likewise.
36833 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36834 via PRINT_FS_UUID.
36835 (main): Recognise `-t fs_uuid' argument.
36836
01b73ec8 368372008-05-30 Robert Millan <rmh@aybabtu.com>
36838
36839 * util/biosdisk.c (map): Redefine structure to hold information
36840 about GRUB drive name.
fe6b695a 36841 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36842 drive names.
36843 (call_hook): Remove.
36844 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36845 member. Assume drive has partitions.
36846 (grub_util_biosdisk_open): Access device names via `.device' struct
36847 member.
36848 (open_device): Likewise.
36849 (find_drive): Likewise.
36850 (read_device_map): Adjust map[] usage to match the new struct
36851 definition. Don't check for duplicates (still possible, but not cheap
36852 anymore).
36853 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36854 (make_device_name): Remove assumption of BIOS-like drive names.
36855
22f16596 368562008-05-30 Pavel Roskin <proski@gnu.org>
36857
36858 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36859 compiling execute.c doesn't need grub_script.tab.h anymore.
36860 (normal/command.c_DEPENDENCIES): Likewise.
36861 (normal/function.c_DEPENDENCIES): Likewise.
36862 * conf/i386-ieee1275.rmk: Likewise.
36863 * conf/i386-linuxbios.rmk: Likewise.
36864 * conf/i386-pc.rmk: Likewise.
36865 * conf/powerpc-ieee1275.rmk: Likewise.
36866 * conf/sparc64-ieee1275.rmk: Likewise.
36867
528ad8f2 368682008-05-29 Pavel Roskin <proski@gnu.org>
36869
d1dff95d 36870 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36871 when scanning metadata for volume group name.
36872
528ad8f2 36873 * include/grub/script.h: Don't include grub_script.tab.h. It's
36874 a generated file, which may only be included from the files with
36875 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36876 use union YYSTYPE, as the later allows forward declaration.
36877 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36878
47248e08 368792008-05-29 Robert Millan <rmh@aybabtu.com>
36880
36881 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36882 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36883 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36884 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36885 scan codes.
36886
ee632529 368872008-05-29 Robert Millan <rmh@aybabtu.com>
36888
36889 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36890 control key combinations.
36891
eee96e08 368922008-05-29 Robert Millan <rmh@aybabtu.com>
36893
36894 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36895 * util/ieee1275/grub-install.in: ... to here.
36896 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36897 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36898 (grub_install_SOURCES): Likewise.
36899
da9a6a94 369002008-05-29 Robert Millan <rmh@aybabtu.com>
36901
36902 * fs/affs.c: Update copyright year.
36903 * fs/ext2.c: Likewise.
36904 * fs/fshelp.c: Likewise.
36905 * fs/hfsplus.c: Likewise.
36906 * fs/ntfs.c: Likewise.
36907 * fs/xfs.c: Likewise.
36908 * include/grub/fshelp.h: Likewise.
36909 * util/grub-mkdevicemap.c: Likewise.
36910
12e65f3a 369112008-05-28 Robert Millan <rmh@aybabtu.com>
36912
36913 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36914 might need to be fatfs to support some firmware implementations
36915 (e.g. OFW or EFI).
36916
23023641 369172008-05-28 Robert Millan <rmh@aybabtu.com>
36918
36919 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36920 devices.
36921 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36922 (make_device_map): Likewise.
36923
887d2619 369242008-05-20 Bean <bean123ch@gmail.com>
36925
36926 * fs/fshelp.c (grub_fshelp_map_block): New function.
36927 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36928 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36929
36930 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36931 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36932 (grub_fshelp_journal): New structure.
36933 (grub_fshelp_map_block): New function prototype.
36934 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36935 (grub_fshelp_map_block): Likewise.
36936
36937 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36938 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36939 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36940 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36941 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36942 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36943 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36944 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36945 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36946 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36947 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36948 (grub_ext2_sblock): New members for journal support.
36949 (grub_ext3_journal_header): New structure.
36950 (grub_ext3_journal_revoke_header): Likewise.
36951 (grub_ext3_journal_block_tag): Likewise.
36952 (grub_ext3_journal_sblock): Likewise.
36953 (grub_fshelp_node): New members logfile and journal.
36954 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36955 grub_fshelp_map_block to get real block number.
36956 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36957 number.
36958 (grub_ext2_read_inode): Likewise.
36959 (grub_ext3_get_journal): New function.
36960 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36961 (grub_ext2_close): Release memory used by journal.
36962
36963 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36964 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36965 (grub_reiserfs_transaction_header): Renamed to
36966 grub_reiserfs_description_block, replace field data with real_blocks.
36967 (grub_reiserfs_commit_block): New structure.
36968 (grub_reiserfs_data): New member journal.
36969 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36970 number.
36971 (grub_reiserfs_read_symlink): Likewise.
36972 (grub_reiserfs_iterate_dir): Likewise.
36973 (grub_reiserfs_open): Likewise.
36974 (grub_reiserfs_read): Likewise.
36975 (grub_reiserfs_get_journal): New function.
36976 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36977 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36978 using grub_reiserfs_get_journal.
36979 (grub_reiserfs_close): Release memory used by journal.
36980
36981 * fs/affs.c (grub_affs_read_block): Change block type to
36982 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36983
36984 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36985
36986 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36987
36988 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36989
36990 * fs/udf.c (grub_udf_read_block): Change block type to
36991 grub_disk_addr_t. Use type cast to avoid warning.
36992
36993 * fs/xfs.c (grub_xfs_read_block): Likewise.
36994
b7c6bed5 369952008-05-16 Christian Franke <franke@computer.org>
36996
36997 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36998 to ensure that break with ESC will always work.
36999 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37000 Remove ESC from keyboard queue.
37001
eedf167f 370022008-05-16 Christian Franke <franke@computer.org>
37003
37004 * util/biosdisk.c: [__CYGWIN__] Add includes.
37005 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37006 (get_os_disk): Move variable declarations to OS specific
37007 parts to avoid warning.
37008 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37009 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37010 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37011 Cygwin.
37012 * util/getroot.c: [__CYGWIN__] Add includes.
37013 (strip_extra_slashes): Fix "/" case.
37014 [__CYGWIN__] (get_win32_path): New function.
37015 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37016 [__CYGWIN__] (find_root_device): Disable.
37017 [__CYGWIN__] (get_bootsec_serial): New function.
37018 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37019 [__linux__] (grub_guess_root_device): Add early returns to simplify
37020 structure.
37021 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37022 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37023 check for Linux only.
37024
a079699e 370252008-05-15 Bean <bean123ch@gmail.com>
37026
37027 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37028 keyboard hang problem in apple's intel mac.
37029
1cf4059a 370302008-05-09 Robert Millan <rmh@aybabtu.com>
37031
37032 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37033 devices.
37034 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37035 (make_device_map): Likewise.
37036 Reported by Aurelien Jarno <aurel32@debian.org>
37037
ed759390 370382008-05-07 Ian Campbell <ijc@hellion.org.uk>
37039
37040 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37041 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37042 (make_device_map): Output entries for xvd type disks.
37043
b56c4eaa 370442008-05-07 Robert Millan <rmh@aybabtu.com>
37045
37046 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37047 devices.
37048 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37049 (make_device_map): Likewise.
37050 Reported by Roland Dreier <rdreier@cisco.com>
37051
7f8866ed 370522008-05-07 Robert Millan <rmh@aybabtu.com>
37053
37054 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37055 grub_strstr() call. Correct a few mistakes in failure path handling.
37056
b0346e0f 370572008-05-06 Robert Millan <rmh@aybabtu.com>
37058
37059 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37060 Do not print a trailing slash (therefore, the root directory is an
37061 empty string).
37062 (convert_system_path_to_grub_path): Do not remove trailing slash
37063 from make_system_path_relative_to_its_root() output.
37064
37065 * util/i386/pc/grub-install.in: Add trailing slash to output from
37066 make_system_path_relative_to_its_root().
37067
6cf12cbd 370682008-05-06 Robert Millan <rmh@aybabtu.com>
37069
37070 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37071 ensures that output lines aren't intermangled with those sent to
37072 stderr (via grub_util_info()).
37073 * util/grub-probe.c (grub_refresh): Likewise.
37074 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37075
0fbb3117 370762008-05-05 Christian Franke <franke@computer.org>
37077
37078 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37079 Add Cygwin device names.
37080 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37081 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37082 (check_device): Return error instead of success on empty name.
37083 (make_device_map): Move label inside linux specific code to
37084 prevent compiler warning.
37085
8124cdb7 370862008-04-30 Robert Millan <rmh@aybabtu.com>
37087
37088 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37089 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37090 first boot option.
37091 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37092
094c01d0 370932008-04-29 Robert Millan <rmh@aybabtu.com>
37094
37095 * docs/grub.cfg: New file (example GRUB configuration).
37096
f4b1fc02 370972008-04-26 Robert Millan <rmh@aybabtu.com>
37098
329ce2a5 37099 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37100 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37101 and `disk/ieee1275/nand.c'.
f4b1fc02 37102
25f16ec1 371032008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 37104
25f16ec1 37105 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37106 i386-linuxbios.
37107
37108 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37109 change the buffer size to 4096 for cdrom device.
37110
37111 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37112 and nand.mod.
37113 (_linux_mod_SOURCES): New variable.
37114 (_linux_mod_CFLAGS): Likewise.
37115 (_linux_mod_LDFLAGS): Likewise.
37116 (linux_mod_SOURCES): Likewise.
37117 (linux_mod_CFLAGS): Likewise.
37118 (linux_mod_LDFLAGS): Likewise.
37119 (nand_mod_SOURCES): Likewise.
37120 (nand_mod_CFLAGS): Likewise.
37121 (nand_mod_LDFLAGS): Likewise.
37122
37123 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37124 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37125 type property. (nand device in olpc don't have this property)
37126
37127 * include/grub/disk.h (grub_disk_dev_id): New macro
37128 GRUB_DISK_DEVICE_NAND_ID.
37129
37130 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37131 function prototype.
37132 (grub_rescue_cmd_initrd): Likewise.
37133
37134 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37135 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37136 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 37137
25f16ec1 37138 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37139 GRUB_MACHINE_IEEE1275 is defined.
37140
37141 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37142 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37143
37144 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37145 on nested function heap_init.
37146 (grub_upper_mem): New variable for i386-ieee1275.
37147 (grub_get_extended_memory): New function for i386-ieee1275.
37148 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37149
37150 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37151 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37152 property.
f19dbdb7 37153
25f16ec1 37154 * loader/i386/ieee1275/linux.c: New file.
37155
37156 * loader/i386/ieee1275/linux_normal.c: New file.
37157
37158 * disk/ieee1275/nand.c: New file.
37159
e89d61e9 371602008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37161
37162 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37163 value.
37164 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37165
602566f6 371662008-04-18 Robert Millan <rmh@aybabtu.com>
37167
37168 Restructures early code path on ieee1275 to unify grub_main() as
37169 the first C function that is executed in every platform.
37170
37171 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37172 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37173 cmain().
37174 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37175 * kern/ieee1275/cmain.c (cmain): Rename to ...
37176 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37177 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37178 at the beginning.
37179
57490c2b 371802008-04-18 Robert Millan <rmh@aybabtu.com>
37181
37182 * util/update-grub.in: Fix syntax error when setting
37183 `GRUB_PRELOAD_MODULES'.
37184 Reported by Stephane Chazelas <stephane@artesyncp.com>
37185
1977517d 371862008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37187
37188 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37189 section into account, newer toolchains generate unique build ids
37190 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 37191 we want build ids to be preserved
1977517d 37192 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37193 far from other sections don't cause the raw binary images grow
37194 size
37195
bfb1f1a2 371962008-04-15 Robert Millan <rmh@aybabtu.com>
37197
37198 * disk/lvm.c: Update copyright year.
37199 * kern/misc.c: Likewise.
37200
01979850 372012008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37202
37203 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 37204 there is no memory left for physical volume name.
01979850 37205
0a1150e2 372062008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37207
37208 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37209 volume name mapping to support bigger than 9 character names properly.
37210
82ead3fe 372112008-04-13 Robert Millan <rmh@aybabtu.com>
37212
37213 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37214 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37215
e54a72f5 372162008-04-13 Christian Franke <franke@computer.org>
37217
37218 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37219 to create a floppy emulation boot CD when non emulation mode
37220 does not work.
37221 Enable Joliet CD filesystem extension.
37222
9fe86034 372232008-04-13 Robert Millan <rmh@aybabtu.com>
37224
37225 * kern/misc.c (grub_strncat): Fix off-by-one error.
37226 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37227
37228 * kern/env.c (grub_env_context_close): Clear current context, not
37229 previous one.
37230 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37231
37232 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37233
7ceeee39 372342008-04-13 Robert Millan <rmh@aybabtu.com>
37235
37236 Improve robustness when handling LVM.
37237
37238 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 37239 (and leave `*p' unmodified).
7ceeee39 37240 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37241 through it.
37242 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37243 iterating through it.
37244 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37245 through it.
fe6b695a 37246 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 37247 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37248 Don't assume `vg->pvs != NULL' when iterating through it.
37249
58cd3d85 372502008-04-13 Robert Millan <rmh@aybabtu.com>
37251
37252 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37253 * genmk.rb (partmap): New variable.
37254 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37255 (#{partmap}): New target rule.
37256 * genpartmaplist.sh: New file.
37257 * Makefile.in (pkglib_DATA): Add partmap.lst.
37258 (partmap.lst): New target rule.
37259 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37260 modules (including all partition maps), instead of preloading them.
37261
78b51059 372622007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37263
37264 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37265 `linux-boot-prober' (if installed) to detect other operating
37266 systems which are installed on the computer and add them to
37267 the boot menu.
37268 * conf/common.rmk: Build and install 30_os-prober.
37269
a91627b4 372702008-04-12 Robert Millan <rmh@aybabtu.com>
37271
37272 * kern/powerpc/ieee1275/init.c: Move from here ...
37273 * kern/ieee1275/init.c: ... to here. Update all users.
37274
37275 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37276 * kern/ieee1275/cmain.c: ... to here. Update all users.
37277
37278 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37279 * kern/ieee1275/openfw.c: ... to here. Update all users.
37280
37281 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37282 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37283
322562ea 372842008-04-10 Pavel Roskin <proski@gnu.org>
37285
37286 * configure.ac: Always use "_cv_" in cache variables for
37287 compatibility with Autoconf 2.62.
37288
a02a73c5 372892008-04-07 Robert Millan <rmh@aybabtu.com>
37290
37291 Revert grub/machine/init.h addition by Pavel (since it breaks on
37292 i386-ieee1275 and others):
37293 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37294 * util/powerpc/ieee1275/misc.c: Likewise.
37295
25c024b1 372962008-04-07 Robert Millan <rmh@aybabtu.com>
37297
37298 * util/grub-probe.c (probe): Improve error message.
37299
3cbd2f98 373002008-04-07 Robert Millan <rmh@aybabtu.com>
37301
37302 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37303 (this prevents the presence of a bogus entry from ruining the whole
37304 thing).
37305
87a297bf 373062008-04-06 Pavel Roskin <proski@gnu.org>
37307
36747a62 37308 * util/biosdisk.c: Include grub/util/biosdisk.h.
37309 * util/grub-fstest.c (execute_command): Make static.
37310 * util/grub-mkdevicemap.c (check_device): Likewise.
37311 * util/i386/pc/misc.c: Include grub/machine/init.h.
37312 * util/powerpc/ieee1275/misc.c: Likewise.
37313 * util/lvm.c: Include grub/util/lvm.h.
37314 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37315 grub/cache.h.
37316 * util/raid.c: Include grub/util/raid.h.
37317 (grub_util_getdiskname): Make static.
37318
87a297bf 37319 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37320 grub_hostfs_fini(), as they are called from grub_init_all() and
37321 grub_fini_all() respectively. This fixes an infinite loop in
37322 grub-fstest due to double registration of hostfs.
37323 Reported by Christian Franke <Christian.Franke@t-online.de>
37324
f6ce7629 373252008-04-05 Pavel Roskin <proski@gnu.org>
37326
37327 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37328 all 8 functions. Otherwise, probe function 0 only.
37329
070e49e4 373302008-04-04 Pavel Roskin <proski@gnu.org>
37331
8b088a4c 37332 * commands/lspci.c (grub_lspci_iter): Print the bus number
37333 correctly.
37334
4f657021 37335 * commands/lspci.c (grub_pci_classes): Fix typos.
37336 (grub_lspci_iter): Don't print func twice. Print vendor ID
37337 before device ID, as it's normally done.
37338
070e49e4 37339 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37340 Fix signedness warnings.
37341 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37342 Likewise.
37343 * util/ieee1275/get_disk_name.c: Include config.h so that
37344 _GNU_SOURCE is defined and getline() is declared. Mark an
37345 unused argument as such. Fix a signedness warning.
37346
ba7328dc 373472008-04-02 Pavel Roskin <proski@gnu.org>
37348
26887f22 37349 * genkernsyms.sh.in: Use more robust assignments for CC and
37350 srcdir. Quote srcdir.
37351 * gensymlist.sh.in: Likewise. Assert at the compile time that
37352 the symbol table is not empty.
37353
ba7328dc 37354 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37355 * fs/cpio.c (grub_cpio_read): Likewise.
37356
0f582c6b 373572008-04-01 Pavel Roskin <proski@gnu.org>
37358
4b6e1995 37359 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37360 * disk/host.c (grub_host_open): Likewise.
37361 * disk/loopback.c (grub_loopback_open): Likewise.
37362 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37363 disk->id as in disk/host.c, not a multi-character constant.
37364
828a2768 37365 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37366 later is obsolete, potentially dangerous and sets a bad example.
37367 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37368 * util/misc.c (grub_util_get_image_size): Likewise.
37369
2bb4fb47 37370 * disk/loopback.c (options): Improve help for "--partitions".
37371
0f582c6b 37372 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37373 options to align them with the short options, e.g. "echo -e".
37374
a33224e0 373752008-03-31 Bean <bean123ch@gmail.com>
37376
37377 * video/reader/png.c (grub_png_data): New member is_16bit and
37378 image_data.
37379 (grub_png_decode_image_header): Detect 16 bit png image.
37380 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37381 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37382 (grub_video_reader_png): Release memory occupied by image_data.
37383
37384 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37385 4096 bytes.
37386 (grub_nfs_mount): Skip the test for sector per cluster.
37387
37388 * include/grub/ntfs.h (MAX_SPC): Removed.
37389
86cb4f54 373902008-03-31 Bean <bean123ch@gmail.com>
37391
37392 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37393 (grub_probe_SOURCES): Add fs/afs.c.
37394 (grub_fstest_SOURCES): Likewise.
37395 (afs_mod_SOURCES): New variable.
37396 (afs_mod_CFLAGS): Likewise.
37397 (afs_mod_LDFLAGS): Likewise.
37398
37399 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37400 (grub_emu_SOURCES): Likewise.
37401
37402 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37403
37404 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37405
37406 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37407
37408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37409
37410 * fs/afs.c: New file.
37411
17c74c21 374122008-03-30 Pavel Roskin <proski@gnu.org>
37413
4cb68e89 37414 * disk/host.c: Include grub/misc.h to fix a warning.
37415 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37416 warnings about implicit declarations.
37417
8790bb04 37418 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37419 variable.
37420 * include/grub/i386/loader.h: Change declaration of
37421 grub_linux_boot() to match what grub_loader_set() expects.
37422 * util/getroot.c (grub_guess_root_device): Return const char* to
37423 fix a warning.
37424 * util/grub-probe.c (probe): Fix a warning about uninitialized
37425 abstraction_name variable.
37426 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37427 second argument as unused to fix a warning.
37428
9a3f3296 37429 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37430 missing grub_error() call.
37431
0ecef90d 37432 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37433 2.60 and newer uses it to define datadir.
37434
0bf6d401 37435 * commands/sleep.c: Fix warning about implicit declaration.
37436 * disk/memdisk.c: Likewise.
37437 * loader/aout.c: Likewise.
37438 * loader/i386/bsd_normal.c: Likewise.
37439 * util/grub-probe.c: Likewise.
37440
7cdacf97 37441 * commands/i386/cpuid.c (has_longmode): Make static.
37442 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37443 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37444
17c74c21 37445 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37446 GDT. This is more robust, as %ds can change.
37447 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37448 calling real_to_prot().
37449 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37450
80a3e68b 374512008-03-28 Pavel Roskin <proski@gnu.org>
37452
37453 * kern/i386/pc/startup.S: Assert that uncompressed functions
37454 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37455 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37456 code, as they push parts of the code (error handlers) beyond
37457 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37458 code as correctness and size.
37459
77bcd272 374602008-03-28 Pavel Roskin <proski@gnu.org>
37461
37462 * kern/i386/pc/startup.S
37463 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37464 data block address to the real mode, keep offset minimal. This
37465 works around a bug in AWARD BIOS on old Athlon systems, which
37466 makes CD detection hang.
37467
c5dfd43b 374682008-03-26 Pavel Roskin <proski@gnu.org>
37469
37470 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37471 const.
37472 * include/grub/normal.h: Add grub_parse_color_name_pair()
37473 declaration.
37474
bf962df2 374752008-03-24 Bean <bean123ch@gmail.com>
37476
37477 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37478 (cd_count): Removed.
37479 (cd_drive): New variable.
37480 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37481 (grub_biosdisk_call_hook): Likewise.
37482 (grub_biosdisk_iterate): Change cdrom detection method.
37483 (grub_biosdisk_open): Replace cd_start with cd_drive.
37484 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37485 detect cdrom device.
37486
37487 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37488 Removed.
37489 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37490 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37491 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37492 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37493 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37494 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37495 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37496 (grub_biosdisk_cdrp): New structure.
37497 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37498
37499 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37500
37501 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37502 device.
37503
37504 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37505 New function.
37506
68e7fc7a 375072008-03-20 Robert Millan <rmh@aybabtu.com>
37508
37509 Remove 2 TiB limit in ata.mod.
37510 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37511 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37512 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37513 grub_uint64_t instead of grub_uint32_t.
37514
38ad2cf5 375152008-03-05 Bean <bean123ch@gmail.com>
37516
37517 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37518 (grub_multiboot): Set boot device.
37519
37520 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37521
2b89344e 375222008-03-02 Bean <bean123ch@gmail.com>
37523
37524 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37525 symlink_buffer.
37526
87a95d1f 375272008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37528
37529 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37530 texinfo.tex.
37531
37532 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37533 modified.
37534
37535 * docs/fdl.texi: New file.
f19dbdb7 37536
87a95d1f 37537 * docs/mdate-sh: New file. Copied from gnulib.
37538 * docs/texinfo.tex: Likewise.
37539
37540 * config.guess: Updated from gnulib.
37541 * install-sh: Likewise.
37542
7dc15d8e 375432008-02-28 Robert Millan <rmh@aybabtu.com>
37544
37545 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37546 (aout_mod_SOURCES): New variable.
37547 (aout_mod_CFLAGS): Likewise.
37548 (aout_mod_LDFLAGS): Likewise.
37549
37550 * conf/i386-ieee1275.rmk: Likewise.
37551
b00ab696 375522008-02-28 Robert Millan <rmh@aybabtu.com>
37553
37554 * util/update-grub.in: Reorganise terminal validity check. Accept
37555 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37556 Based on suggestion by Franklin PIAT.
37557
79ca2d78 375582008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37559
37560 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37561 function.
37562 * util/getroot.c (grub_util_check_block_device): New function that
37563 returns the given argument if it is a block device and returns NULL else.
37564 * util/grub-probe.c (argument_is_device): New variable.
37565 (probe): Promote device_name from a variable to an argument. Receive
37566 device_name from grub_util_check_block_device() if path is NULL and from
37567 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37568 (options): Introduce new parameter '-d, --device'.
79ca2d78 37569 (main): Add description of the new parameter to the help screen.
37570 Rename path variable to argument. Set argument_is_device if the '-d'
37571 option is given. Pass argument to probe() depending on
37572 argument_is_device.
37573
0d16e571 375742008-02-24 Bean <bean123ch@gmail.com>
37575
37576 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37577 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37578 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37579 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37580 (GRUB_ISO9660_VOLDESC_END): Likewise.
37581 (grub_iso9660_primary_voldesc): New member escape.
37582 (grub_iso9660_data): New member joliet.
37583 (grub_iso9660_convert_string): New function.
37584 (grub_iso9660_mount): Detect joliet extension.
37585 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37586 (grub_iso9660_iso9660_label): Likewise.
37587
37588 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37589 (grub_setup_SOURCES): Add fs/udf.c.
37590 (grub_fstest_SOURCES): Likewise.
37591 (udf_mod_SOURCES): New variable.
37592 (udf_mod_CFLAGS): Likewise.
37593 (udf_mod_LDFLAGS): Likewise.
37594
37595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37596 (grub_emu_SOURCES): Likewise.
37597
37598 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37599
37600 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37601
37602 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37603
37604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37605
37606 * fs/udf.c: New file.
37607
8a594a17 376082008-02-24 Robert Millan <rmh@aybabtu.com>
37609
37610 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37611 (normal/lexer.c_DEPENDENCIES): New variables.
37612 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37613 (normal/lexer.c_DEPENDENCIES): Likewise.
37614 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37615 (normal/lexer.c_DEPENDENCIES): Likewise.
37616 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37617 (normal/lexer.c_DEPENDENCIES): Likewise.
37618 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37619 (normal/lexer.c_DEPENDENCIES): Likewise.
37620 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37621 (normal/lexer.c_DEPENDENCIES): Likewise.
37622
2dc33c03 376232008-02-23 Robert Millan <rmh@aybabtu.com>
37624
37625 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37626 since they were intended to be in hex. This didn't break previously
37627 because of a bug in gpt_partition_map_iterate() (see below).
37628
37629 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37630 when checking the validity of GPT header.
37631 Remove `partno', since it always provides the same information as `i'.
37632
f6f4cfb0 376332008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37634
37635 * include/grub/efi/time.h: Fix a wrong comment.
37636
79ff665f 376372008-02-19 Pavel Roskin <proski@gnu.org>
37638
37639 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37640 message.
37641
d38e24c2 376422008-02-19 Bean <bean123ch@gmail.com>
37643
37644 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37645 (aout_mod_SOURCES): New variable.
37646 (aout_mod_CFLAGS): Likewise.
37647 (aout_mod_LDFLAGS): Likewise.
37648 (_bsd_mod_SOURCES): New variable.
37649 (_bsd_mod_CFLAGS): Likewise.
37650 (_bsd_mod_LDFLAGS): Likewise.
37651 (bsd_mod_SOURCES): New variable.
37652 (bsd_mod_CFLAGS): Likewise.
37653 (bsd_mod_LDFLAGS): Likewise.
37654
37655 * include/grub/aout.h: New file.
37656
37657 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37658
37659 * include/grub/i386/bsd.h: New file.
37660
37661 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37662 to make it public.
37663
37664 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37665 function is called, so that it's possible to change it inside the hook.
37666 (grub_elf64_load): Likewise.
37667 (grub_elf_file): Don't close the file if elf header is not found.
37668 (grub_elf_close): Close the file if grub_elf_file fails (The new
37669 grub_elf_file won't close it).
37670 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37671 (grub_elf64_size): Likewise.
37672
37673 * kern/i386/loader.S (grub_unix_real_boot): New function.
37674
37675 * loader/aout.c: New file.
37676
37677 * loader/i386/bsd.c: New file.
37678
37679 * loader/i386/bsd_normal.c: New file.
37680
37681 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37682
37683 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37684 can test other formats.
d38e24c2 37685
b93bdb0f 376862008-02-19 Robert Millan <rmh@aybabtu.com>
37687
37688 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37689 (grub_gpt_partition_type_empty): Redefine with macro from
37690 `<grub/gpt_partition.h>'.
37691 (gpt_partition_map_iterate): Adjust partition type comparison.
37692
37693 Export `entry' as partmap-specific `part.data' struct.
37694 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37695
37696 * include/grub/gpt_partition.h (grub_gpt_header)
37697 (grub_gpt_partentry): ... to here (new file).
37698
37699 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37700
37701 (grub_gpt_partition_type_bios_boot): New const variable, defined
37702 with macro from `<grub/gpt_partition.h>'.
37703
37704 (setup): Replace `first_start' with `embed_region', which keeps
37705 track of the embed region (and is partmap-agnostic).
37706
37707 Replace find_first_partition_start() with find_usable_region(),
37708 which finds a usable region for embedding using partmap-specific
37709 knowledge (supports PC/MSDOS and GPT).
37710
37711 Fix all assumptions that the embed region start at sector 1, using
37712 `embed_region.start' from now on. Similarly, use `embed_region.end'
37713 rather than `first_start' to calculate available size.
37714
37715 In grub_util_info() message, replace "into after the MBR" with an
37716 indication of the specific sector our embed region starts at.
37717
66cb40f6 377182008-02-19 Robert Millan <rmh@aybabtu.com>
37719
37720 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37721 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37722 `commands/reboot.c'.
37723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37724 (halt_mod_SOURCES): Likewise.
37725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37726 (halt_mod_SOURCES): Likewise.
37727
b7202015 377282008-02-17 Christian Franke <franke@computer.org>
37729
37730 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37731
32b0fc49 377322008-02-17 Robert Millan <rmh@aybabtu.com>
37733
37734 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37735 set `first_start' to 0 for non-PC/MSDOS partition maps.
37736
aca63502 377372008-02-16 Robert Millan <rmh@aybabtu.com>
37738
37739 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37740 do not assume partition map is PC/MSDOS before performing checks that
37741 are specific to that layout.
37742
0de8be86 377432008-02-13 Robert Millan <rmh@aybabtu.com>
37744
37745 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37746 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37747 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37748
c3db8364 377492008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37750
37751 * configure.ac: Only a cosmetic change on the handling of
37752 -fno-stack-protector.
37753
f714229e 377542008-02-12 Alexandre Boeglin <alex@boeglin.org>
37755
c3db8364 37756 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37757 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37758 reboot.c.
f714229e 37759 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37760 (halt_mod_SOURCES): New variable.
37761 (halt_mod_CFLAGS): Likewise.
37762 (halt_mod_LDFLAGS): Likewise.
37763 (reboot_mod_SOURCES): Likewise.
37764 (reboot_mod_CFLAGS): Likewise.
37765 (reboot_mod_LDFLAGS): Likewise.
37766
c3db8364 37767 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37768 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37769 reboot.c.
f714229e 37770 (halt_mod_SOURCES): Likewise.
37771 (reboot_mod_SOURCES): Likewise.
37772
c3db8364 37773 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37774 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37775 (reboot_mod_SOURCES): Likewise.
37776
37777 * commands/i386/pc/reboot.c: merge this file ...
37778
37779 * commands/ieee1275/reboot.c: ... and this file ...
37780
37781 * commands/reboot.c: ... to this file.
c3db8364 37782 Add some precompiler directive to include the correct header for
37783 each machine.
f714229e 37784
37785 * commands/ieee1275/halt.c: move this file ...
37786
37787 * commands/halt.c: ... to here.
c3db8364 37788 Add some precompiler directive to include the correct header for
37789 each machine.
f714229e 37790
37791 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37792 (grub_halt): Likewise.
37793
37794 * kern/efi/efi.c (grub_reboot): New function.
37795 (grub_halt): Likewise.
37796
c74493e0 377972008-02-12 Robert Millan <rmh@aybabtu.com>
37798
37799 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37800 /dev (like it is done for /dev/mapper). This doesn't provide support
37801 for EVMS, but at least it is now easy to identify the problem when it
37802 arises.
37803
d0db4b04 378042008-02-11 Robert Millan <rmh@aybabtu.com>
37805
37806 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37807 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37808 comparing it with -1, not 0.
37809
bf748642 378102008-02-10 Robert Millan <rmh@aybabtu.com>
37811
37812 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37813 `disk/lvm.c'.
37814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37815 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37816
37817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37818 `disk/lvm.c' to the end of the list.
37819 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37820 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37821
b5db202a 378222008-02-10 Robert Millan <rmh@aybabtu.com>
37823
37824 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37825 grub_print_error() instead. This will let user know why we're entering
37826 rescue mode.
37827 Based on suggestions from Sam Morris.
37828
83abee31 378292008-02-10 Alexandre Boeglin <alex@boeglin.org>
37830
37831 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37832 on remaining N args, instead of "--" arg N times.
37833
78d5a08b 378342008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37835
37836 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37837 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37838 pattern for unknown glyphs.
37839
68807e5f 378402008-02-09 Robert Millan <rmh@aybabtu.com>
37841
37842 * configure.ac: Probe for `help2man'.
37843 * Makefile.in (builddir): New variable.
37844 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37845 or otherwise add a few flags/options to it.
37846 (install-local): For every executable utility or script that is
37847 installed, invoke $(HELP2MAN) to install a manpage based on --help
37848 output.
37849
37850 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37851 that it doesn't prevent --help from working in build tree.
37852
37853 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37854 with `bug-grub@gnu.org'.
37855 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37856 * util/update-grub.in (usage): New function.
37857 Implement proper argument check, with support for --help and --version
37858 (as well as existing -y).
37859
378602008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37861
37862 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37863 avoid overwriting previous output.
37864 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37865
c1962162 378662008-02-09 Robert Millan <rmh@aybabtu.com>
37867
37868 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37869 drawing the menu.
37870
3dac2e3f 378712008-02-09 Robert Millan <rmh@aybabtu.com>
37872
37873 * commands/sleep.c: New file.
37874 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37875 (sleep_mod_SOURCES): New variable.
37876 (sleep_mod_CFLAGS): Likewise.
37877 (sleep_mod_LDFLAGS): Likewise.
37878
7a634e08 378792008-02-09 Robert Millan <rmh@aybabtu.com>
37880
37881 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37882 situations in which we can deduce the RAID size and the superblock
37883 doesn't match it.
37884
b92f0c18 378852008-02-09 Robert Millan <rmh@aybabtu.com>
37886
37887 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37888 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37889 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37890
37891 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37892 and return a grub_diskmemberlist_t composed of physical array members.
37893 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37894
37895 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37896 prototype.
37897 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37898 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37899 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37900
37901 * util/grub-probe.c (probe): Move partmap probing code from here ...
37902 (probe_partmap): ... to here.
37903 (probe): Use probe_partmap() once for the disk we're probing, and
37904 additionally, when such disk contains a memberlist() struct member,
37905 once for each disk that is contained in the structure returned by
37906 memberlist().
37907
91a4bf68 379082008-02-09 Robert Millan <rmh@aybabtu.com>
37909
37910 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37911 environment variable to 'all' in order to obtain debug output from
37912 non-util/ code.
37913 * util/i386/pc/grub-setup.c (main): Likewise.
37914
a96f9caa 379152008-02-08 Robert Millan <rmh@aybabtu.com>
37916
37917 * disk/raid.c (grub_raid_scan_device): Check for
37918 `array->device[sb.this_disk.number]' rather than for
37919 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37920 guaranteed to be accessible.
a96f9caa 37921
b37a9222 379222008-02-08 Robert Millan <rmh@aybabtu.com>
37923
37924 * disk/raid.c: Update copyright.
37925 * fs/cpio.c: Likewise.
37926 * include/grub/raid.h: Likewise.
37927 * loader/i386/pc/multiboot.c: Likewise.
37928 * util/hostfs.c: Likewise.
37929
5626aee1 379302008-02-08 Robert Millan <rmh@aybabtu.com>
37931
37932 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37933 to a grub_disk_t array.
37934 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37935 `device[x]'.
37936 (grub_raid_scan_device): Replace `device[x].name' accesses with
37937 `device[x]->name'. Simplify initialization of `array->device[x]'.
37938
554f0187 379392008-02-08 Robert Millan <rmh@aybabtu.com>
37940
37941 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37942 grub_dprintf() calls.
37943 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37944 error message.
37945
1ec8425d 379462008-02-07 Christian Franke <franke@computer.org>
37947
37948 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37949 instead of fseek and ftell to support large files.
37950 (grub_hostfs_read): Likewise.
37951
f2156fda 379522008-02-07 Robert Millan <rmh@aybabtu.com>
37953
37954 Patch from Jeroen Dekkers.
37955 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37956 failure, since successfully reading all array members might not be
f2156fda 37957 required.
37958
9216e0e7 379592008-02-06 Robert Millan <rmh@aybabtu.com>
37960
37961 * util/grub-probe.c (probe): Simplify partmap probing (with the
37962 assumption that the first word up to the underscore equals to
37963 the module name).
37964
b0dfd29a 379652008-02-06 Christian Franke <franke@computer.org>
37966
37967 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37968 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37969 last block of a cpio or tar stream.
37970 Check for "TRAILER!!!" instead of any empty data
37971 block to detect last block of a cpio stream.
37972 (grub_cpio_dir): Fix constness of variable np.
37973 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37974 cpio or tar trailer is detected. This fixes a crash
37975 on open of a non existing file.
37976
c32865bf 379772008-02-05 Bean <bean123ch@gmail.com>
37978
37979 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37980 address of entry.
37981 (grub_multiboot_load_elf64): Likewise.
37982 (grub_multiboot): Initialize mbi structure.
37983
37984 * util/grub-fstest.c: Don't include unused header file script.h.
37985
fe6b695a 37986 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37987 of file.
37988 (grub_fstest_SOURCES): Likewise.
37989
409480b7 379902008-02-05 Robert Millan <rmh@aybabtu.com>
37991
37992 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37993 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37994 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37995 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37996
37997 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37998 (translation_table): Replace hardcoded values with macros
37999 provided by `<grub/term.h>'.
38000
38001 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38002 (keyboard_map): Correct/add a few values, with macros provided
38003 by `<grub/term.h>'.
38004 (keyboard_map_shift): Zero values that don't differ from their
38005 `keyboard_map' equivalents.
38006 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38007 Discard the second scan code that is always sent by Caps lock.
38008 Only use `keyboard_map_shift' when it provides a non-zero value,
38009 otherwise fallback to `keyboard_map'.
38010
99fadbaa 380112008-02-04 Bean <bean123ch@gmail.com>
38012
38013 * Makefile.in (enable_grub_fstest): New variable.
38014
38015 * conf/common.rmk (grub_fstest_init.lst): New rule.
38016 (grub_fstest_init.h): Likewise.
38017 (grub_fstest_init.c): Likewise.
38018 (util/grub-fstest.c_DEPENDENCIES): New variable.
38019 (grub_fstest_SOURCES): Likewise.
38020
38021 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38022
38023 * util/grub-fstest.c: New file.
38024
bf567c50 380252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38026
38027 Make grub-setup handle a separate root device.
f19dbdb7 38028
bf567c50 38029 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38030 so that the root device can be compared with the destination
38031 device.
38032 When embedding the core image, if the root and destination devices
38033 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38034 0xFF.
38035 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 38036
9be6b98b 380372008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38038
38039 Add support for having a grub directory in a different drive. This
38040 is still only the data handling part.
f19dbdb7 38041
9be6b98b 38042 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38043 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38044 (grub_root_drive): New variable.
38045
38046 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38047 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38048 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38049 as it was.
38050
38051 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38052
38053 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38054 macro.
38055 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38056
38057 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38058 is bogus, because PXE booting does not specify any drive
38059 correctly.
38060
38061 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38062 am not sure if this is really correct.
38063
38064 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38065 is always identical to the boot drive when booting from a CD.
38066
38067 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38068 longer.
38069 (root_drive): New variable.
38070 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38071 (setup_sectors): Push %dx right after popping it, because %dh will
38072 be modified later.
38073 (copy_buffer): Restore %dx.
38074
e0ca0677 380752008-02-03 Robert Millan <rmh@aybabtu.com>
38076
38077 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38078 use `cdboot.img' for cdrom images.
38079
3b3f6629 380802008-02-03 Robert Millan <rmh@aybabtu.com>
38081
38082 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38083 only setup gfxterm when `font' command has succeeded.
38084
d42b3672 380852008-02-03 Robert Millan <rmh@aybabtu.com>
38086
38087 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38088 (grub_rescue_cmd_multiboot_loader)
38089 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38090
fa370ea6 380912008-02-03 Pavel Roskin <proski@gnu.org>
38092
e0c5dacb 38093 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 38094 %edx and %esi from stack only after grub_gate_a20() is called.
38095 grub_gate_a20() clobbers %edx.
38096
f2a76e1d 380972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38098
38099 * configure.ac (AC_INIT): Bumped to 1.96.
38100
38101 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38102 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38103 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38104 video/readers/png.c.
38105
90fd32d1 381062008-02-03 Bean <bean123ch@gmail.com>
9be665dd 38107
38108 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38109 (cdboot_img_SOURCES): New variable.
38110 (cdboot_img_ASFLAGS): New variable.
38111 (cdboot_img_LDFLAGS): New variable.
38112
38113 * boot/i386/pc/cdboot.S: New file.
38114
38115 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38116 (cd_count): Likewise.
38117 (grub_biosdisk_get_drive): Add support for cd device.
38118 (grub_biosdisk_call_hook): Likewise.
38119 (grub_biosdisk_iterate): Likewise.
38120 (grub_biosdisk_open): Likewise.
38121 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38122 (grub_biosdisk_rw): Support reading from cd device.
38123 (GRUB_MOD_INIT): Iterate cd devices.
38124
38125 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38126 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38127 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38128
38129 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38130
4020aa53 381312008-02-02 Robert Millan <rmh@aybabtu.com>
38132
38133 * commands/read.c: New file.
38134 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38135 (read_mod_SOURCES): New variable.
38136 (read_mod_CFLAGS): Likewise.
38137 (read_mod_LDFLAGS): Likewise.
38138
e03a1132 381392008-02-02 Robert Millan <rmh@aybabtu.com>
38140
38141 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38142 determining whether menu has to be displayed.
38143
58c69220 381442008-02-02 Marco Gerards <marco@gnu.org>
38145
38146 * bus/pci.c: New file.
38147
38148 * include/grub/pci.h: Likewise.
38149
38150 * include/grub/i386/pc/pci.h: Likewise.
38151
38152 * commands/lspci.c: Likewise.
38153
38154 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38155 `lspci.mod'.
38156 (pci_mod_SOURCES): New variable.
38157 (pci_mod_CFLAGS): Likewise.
38158 (pci_mod_LDFLAGS): Likewise.
38159 (lspci_mod_SOURCES): Likewise.
38160 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 38161 (lspci_mod_LDFLAGS): Likewise.
58c69220 38162
c004e1b4 381632008-02-02 Bean <bean123ch@gmail.com>
38164
38165 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38166 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38167
38168 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38169 (grub_xfs_btree_node): New structure.
38170 (grub_xfs_btree_root): New structure.
38171 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38172 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38173 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38174 (GRUB_XFS_EXTENT_SIZE): Likewise.
38175 (grub_xfs_read_block): Support btree format type.
38176 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38177 Use directory block as basic unit.
38178
38179 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38180
38181 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38182 __attribute__ ((__regparm__ (1))).
38183
f95562bf 381842008-02-01 Robert Millan <rmh@aybabtu.com>
38185
38186 Correct a mistake in previous commit.
38187
38188 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38189 top.
38190 (normal/command.c_DEPENDENCIES): New variable.
38191
7d31f41f 381922008-02-01 Robert Millan <rmh@aybabtu.com>
38193
38194 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38195 top.
38196 (normal/command.c_DEPENDENCIES): New variable.
38197 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38198 * conf/i386-ieee1275.rmk: Likewise.
38199 * conf/i386-linuxbios.rmk: Likewise.
38200 * conf/i386-pc.rmk: Likewise.
38201 * conf/sparc64-ieee1275.rmk: Likewise.
38202 * conf/powerpc-ieee1275.rmk: Likewise.
38203 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38204
38205 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38206
60b6be74 382072008-02-01 Robert Millan <rmh@aybabtu.com>
38208
38209 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38210 call at beginning of function.
38211
078522ab 382122008-01-31 Pavel Roskin <proski@gnu.org>
38213
38214 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 38215 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38216 (grub_mkrescue_SOURCES): Likewise.
078522ab 38217 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38218
ccaa8a5f 382192008-01-30 Robert Millan <rmh@aybabtu.com>
38220
38221 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38222 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38223 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38224 (grub_probe_SOURCES): ... to here.
38225
38226 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38227 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38228 * conf/i386-ieee1275.rmk: Likewise.
38229 * conf/i386-linuxbios.rmk: Likewise.
38230 * conf/powerpc-ieee1275.rmk: Likewise.
38231
ae5a9cd7 382322008-01-30 Tristan Gingold <gingold@free.fr>
38233
38234 * kern/rescue.c: Silently accept empty lines.
38235
70bc2ef2 382362008-01-29 Bean <bean123ch@gmail.com>
38237
38238 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38239 (real_code_2): Code cleanup and change comment style.
38240 (move_memory): Avoid using 32-bit address mode.
38241
6a4d50ea 382422008-01-29 Bean <bean123ch@gmail.com>
38243
38244 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38245 (png_mod_SOURCES): New variable.
38246 (png_mod_CFLAGS): Likewise.
38247 (png_mod_LDFLAGS): Likewise.
38248
38249 * video/readers/png.c: New file.
38250
11cc30ac 382512008-01-28 Robert Millan <rmh@aybabtu.com>
38252
38253 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38254 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38255 `ifndef GRUB_MOD_GAP' hack.
38256 * util/elf/grub-mkimage.c (add_segments): Likewise.
38257
3abc589f 382582008-01-27 Robert Millan <rmh@aybabtu.com>
38259
38260 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38261 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 38262 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 38263
e1907778 382642008-01-27 Robert Millan <rmh@aybabtu.com>
38265
38266 Get grub-emu to build again (including parallel builds).
38267
38268 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38269 Split into ...
38270 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38271 (normal/execute.c_DEPENDENCIES): ... this, ...
38272 (grub-emu_DEPENDENCIES): ... and this.
38273
38274 * conf/i386-efi.rmk: Likewise.
38275 * conf/i386-linuxbios.rmk: Likewise.
38276 * conf/i386-ieee1275.rmk: Likewise.
38277 * conf/powerpc-ieee1275.rmk: Likewise.
38278 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38279
2216b101 382802008-01-27 Robert Millan <rmh@aybabtu.com>
38281
38282 * NEWS: Add a few items.
38283
f75172d9 382842008-01-27 Robert Millan <rmh@aybabtu.com>
38285
38286 Fix parallel builds with grub-emu. Based on earlier commit for
38287 grub-probe and grub-setup.
38288
38289 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38290 (util/grub-emu.c_DEPENDENCIES): ... this.
38291 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38292 (util/grub-emu.c_DEPENDENCIES): ... this.
38293 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38294 (util/grub-emu.c_DEPENDENCIES): ... this.
38295 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38296 (util/grub-emu.c_DEPENDENCIES): ... this.
38297 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38298 (util/grub-emu.c_DEPENDENCIES): ... this.
38299
3f51de77 383002008-01-27 Pavel Roskin <proski@gnu.org>
38301
38302 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38303 to create a gap between _end and the modules added to the image
38304 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38305 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38306 * util/elf/grub-mkimage.c (add_segments): Likewise.
38307
2033f53e 383082008-01-26 Pavel Roskin <proski@gnu.org>
38309
38310 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38311 just return an error.
38312
22da1f6f 383132008-01-26 Bean <bean123ch@gmail.com>
38314
38315 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38316 (grub_reiserfs_get_item): Save offset of the next item.
38317 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38318
2a9525e6 383192008-01-25 Robert Millan <rmh@aybabtu.com>
38320
38321 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38322 make all filesystem sources appear together (possibly fixing omissions
38323 while at it).
38324 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38325 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38326 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38328
38329 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38330 add `kern/file.c'.
38331 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38332 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38333 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38334 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38335
38336 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38337 (probe): Add a sanity check to make sure of our ability to read
38338 requested files when probing for filesystem type.
38339
38340 * genmk.rb: Update copyright year (2007).
38341
38342 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38343 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38344 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38345 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38346 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38347 : Remove function prototypes.
38348
b95f71b5 383492008-01-25 Robert Millan <rmh@aybabtu.com>
38350
38351 Revert my previous commits (based on wrong assumption of how grub_errno
38352 works).
38353
fe6b695a 38354 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38355 * kern/file.c (grub_file_open): Likewise.
38356
d08bbb49 383572008-01-24 Pavel Roskin <proski@gnu.org>
38358
38359 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38360 that hang if GRUB tries to setup colors.
38361 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38362 colors for firmwares that don't support it.
38363 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38364 Recognize Open Hack'Ware, set flags to work around its
38365 limitations.
38366
605e36ed 383672008-01-24 Robert Millan <rmh@aybabtu.com>
38368
38369 * kern/file.c (grub_file_open): Do not account previous failures of
38370 unrelated functions when grub_errno is checked for.
38371 Reported by Oleg Strikov.
38372
bac332a1 383732008-01-24 Bean <bean123ch@gmail.com>
38374
38375 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38376 (grub_ufs_sblock): New member volume name.
38377 (grub_ufs_find_file): Fix string copy bug.
38378 (grub_ufs_label): Implement this function properly.
38379
38380 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38381 (grub_hfs_iterate_records): Use the correct file number for extents
38382 and catalog file. Fix problem in next index calculation.
38383 (grub_hfs_find_node): Replace recursive function call with loop.
38384 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38385
15c80c09 383862008-01-23 Robert Millan <rmh@aybabtu.com>
38387
38388 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38389 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38390 (grub_multiboot2_real_boot): New function prototype.
38391
38392 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38393 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38394
38395 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38396 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38397
305338fd 383982008-01-23 Robert Millan <rmh@aybabtu.com>
38399
38400 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38401 #ifdef'ed out grub_printf().
38402
3ea52685 384032008-01-23 Robert Millan <rmh@aybabtu.com>
38404
38405 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38406 grub_dprintf calls, since they make "debug=all" mode unusable.
38407 (grub_console_checkkey): Likewise.
38408
5882ae4b 384092008-01-23 Robert Millan <rmh@aybabtu.com>
38410
38411 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38412 `term/i386/pc/at_keyboard.c'.
38413 (pkglib_MODULES): Add `serial.mod'.
38414 (serial_mod_SOURCES): New variable.
38415 (serial_mod_CFLAGS): Likewise.
38416 (serial_mod_LDFLAGS): Likewise.
38417
38418 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38419 `<grub/powerpc/ieee1275/console.h>'.
38420 (grub_keyboard_controller_init): New function prototype.
38421 (grub_console_checkkey): Likewise.
38422 (grub_console_getkey): Likewise.
38423
38424 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38425 keyboard on i386.
38426
38427 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38428 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38429
06ab5303 384302008-01-23 Robert Millan <rmh@aybabtu.com>
38431
38432 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38433 present, "(memdisk)/boot/grub" becomes the default prefix.
38434
38435 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38436 a memdisk tarball with all the modules. Add --overlay=DIR option that
38437 allows users to overlay additional files into the image.
38438
dbb475a4 384392008-01-23 Robert Millan <rmh@aybabtu.com>
38440
38441 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38442 and `machine/memory.h'.
38443 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38444 (_multiboot_mod_SOURCES): New variable.
38445 (_multiboot_mod_CFLAGS): Likewise.
38446 (_multiboot_mod_LDFLAGS): Likewise.
38447 (multiboot_mod_SOURCES): Likewise.
38448 (multiboot_mod_CFLAGS): Likewise.
38449 (multiboot_mod_LDFLAGS): Likewise.
38450
38451 * include/grub/i386/ieee1275/loader.h: New file.
38452
38453 * include/grub/i386/ieee1275/machine.h: Likewise.
38454
38455 * include/grub/i386/ieee1275/memory.h: Likewise.
38456
38457 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38458 variable declaration.
38459 (grub_os_area_size): Likewise.
38460
38461 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38462 (grub_lower_mem, grub_upper_mem): New variables.
38463 (grub_stop_floppy): New function (just to make
38464 grub_multiboot2_real_boot() happy).
38465
38466 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38467 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38468 (grub_stop): New function.
38469 Include `"../realmode.S"' and `"../loader.S"'.
38470
38471 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38472 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38473
38474 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38475 rely on grub_multiboot2_real_boot() for final boot.
38476
25638629 384772008-01-22 Robert Millan <rmh@aybabtu.com>
38478
38479 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38480 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38481 device that doesn't look like an SD card.
38482 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38483 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38484 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38485 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38486 found.
38487
9dad816d 384882008-01-22 Robert Millan <rmh@aybabtu.com>
38489
38490 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38491 avoid claiming over our own code.
38492
34842f2d 384932008-01-22 Bean <bean123ch@gmail.com>
38494
38495 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38496 (jpeg_mod_SOURCES): New variable.
38497 (jpeg_mod_CFLAGS): Likewise.
38498 (jpeg_mod_LDFLAGS): Likewise.
38499
38500 * video/readers/jpeg.c : New file.
38501
44023a28 385022008-01-22 Bean <bean123ch@gmail.com>
38503
38504 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38505 there are no more items.
38506
bc2d8ac6 385072008-01-21 Robert Millan <rmh@aybabtu.com>
38508
38509 * kern/mm.c (grub_mm_init_region): Improve debug message.
38510
261bd4bc 385112008-01-21 Robert Millan <rmh@aybabtu.com>
38512
38513 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38514 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38515 address.
38516 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38517 a C macro.
38518 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38519 Indicates start of upper memory.
38520 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38521 (generate_image): Abort when image size is big enough to corrupt
38522 upper memory.
38523
38524 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38525 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38526 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38527 instead of hardcoding 0xA0000.
38528 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38529 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38530 instead of hardcoding 0xA0000.
38531
f970b55e 385322008-01-21 Robert Millan <rmh@aybabtu.com>
38533
38534 * disk/memdisk.c (memdisk_size): New variable.
38535 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38536 `memdisk_size'.
38537 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38538 image to dynamic memory.
38539 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38540 `memdisk_size'. Free memdisk block.
38541
1a8b0526 385422008-01-21 Robert Millan <rmh@aybabtu.com>
38543
38544 Fix detection of very small filesystems (like tar).
38545
38546 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38547 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38548 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38549 a problem with this disk).
38550
6e9b4aab 385512008-01-21 Robert Millan <rmh@aybabtu.com>
38552
38553 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38554 on grub_biosdisk_rw_standard() error.
38555
0d8837b2 385562008-01-21 Robert Millan <rmh@aybabtu.com>
38557
38558 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38559 recent changes.
38560 * kern/elf.c: Likewise.
38561 * kern/ieee1275/ieee1275.c: Likewise.
38562 * kern/powerpc/ieee1275/openfw.c: Likewise.
38563 * term/ieee1275/ofconsole.c: Likewise.
38564
ffd36e34 385652008-01-21 Robert Millan <rmh@aybabtu.com>
38566
38567 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38568
3f0093d0 38569 * include/grub/kernel.h (grub_arch_memdisk_addr)
38570 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38571
3f0093d0 38572 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38573 (grub_arch_memdisk_size): ... to here.
ffd36e34 38574
6c391b21 385752008-01-21 Robert Millan <rmh@aybabtu.com>
38576
38577 Mostly based on bugfix from Bean.
38578
38579 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38580 attribute with hook() parameter.
38581 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38582 declaration.
38583 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38584 attribute with hook() parameter.
38585 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38586 declaration.
38587
55a581dc 385882008-01-21 Robert Millan <rmh@aybabtu.com>
38589
38590 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38591 (pkglib_MODULES): Add `memdisk.mod'.
38592 (memdisk_mod_SOURCES): New variable.
38593 (memdisk_mod_CFLAGS): Likewise.
38594 (memdisk_mod_LDFLAGS): Likewise.
38595
38596 * disk/memdisk.c: New file.
38597
38598 * include/grub/disk.h (grub_disk_dev_id): Add
38599 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38600
38601 * include/grub/i386/pc/kernel.h
38602 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38603 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38604 (grub_kernel_image_size): New variable declaration.
38605 (grub_total_module_size): Likewise.
38606 (grub_memdisk_image_size): Likewise.
38607
38608 * include/grub/i386/pc/memory.h
38609 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38610
38611 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38612 (grub_arch_memdisk_addr): New variable declaration.
38613 (grub_arch_memdisk_size): Likewise.
38614
38615 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38616 (grub_arch_memdisk_size): Likewise.
38617
38618 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38619 (codestart): Replace hardcoded `0x100000' with
38620 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38621
38622 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38623 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38624 not NULL, append the contents of the file it refers to, at the end of
38625 the compressed kernel image. Initialize `grub_memdisk_image_size'
38626 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38627 (options): Add "memdisk"|'m' option.
38628 (main): Parse --memdisk|-m option, and pass user-provided path as
38629 parameter to generate_image().
38630
3d7f54c9 386312008-01-20 Robert Millan <rmh@aybabtu.com>
38632
38633 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38634 grub_dprintf() calls from here ...
38635 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38636
0bf74728 386372008-01-20 Robert Millan <rmh@aybabtu.com>
38638
38639 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38640
38641 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38642 declaration.
38643 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38644 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38645 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38646 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38647 property).
38648 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38649 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38650
33bf70a7 386512008-01-19 Robert Millan <rmh@aybabtu.com>
38652
fe6b695a 38653 Get rid of confusing function (superseded by
33bf70a7 38654 `grub_ieee1275_get_integer_property')
38655 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38656 prototype.
38657 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38658 function.
38659 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38660 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38661 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38662
e2da7d26 386632008-01-19 Robert Millan <rmh@aybabtu.com>
38664
38665 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38666 command after "shut-down", since implementations differ on which
38667 the command for halt is.
38668
59f1fd8d 386692008-01-19 Robert Millan <rmh@aybabtu.com>
38670
38671 * include/grub/i386/linuxbios/console.h: Add header protection.
38672 (grub_keyboard_controller_init): New function prototype.
38673 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38674 (KEYBOARD_COMMAND_READ): Likewise.
38675 (KEYBOARD_COMMAND_WRITE): Likewise.
38676 (KEYBOARD_SCANCODE_SET1): Likewise.
38677 (grub_keyboard_controller_write): New function.
38678 (grub_keyboard_controller_read): Likewise.
38679 (grub_keyboard_controller_init): Likewise.
38680
38681 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38682 (grub_console_init): On coreboot/LinuxBIOS, call
38683 grub_keyboard_controller_init().
38684
5f5a7c15 386852008-01-19 Robert Millan <rmh@aybabtu.com>
38686
38687 PowerPC changes provided by Pavel Roskin.
38688
38689 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38690 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38691 don't rely on cmain() doing it.
38692 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38693 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38694
1210e168 386952008-01-16 Robert Millan <rmh@aybabtu.com>
38696
38697 * include/grub/i386/linuxbios/memory.h
38698 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38699 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38700 receive `table_header' as argument. Instead, probe for it in the
38701 known memory ranges where it can be present.
38702 (grub_available_iterate): Do not pass a fixed `table_header' address
38703 to grub_linuxbios_table_iterate().
38704
3d04eab8 387052008-01-15 Robert Millan <rmh@aybabtu.com>
38706
38707 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38708 * conf/i386-ieee1275.rmk: New file.
38709 * include/grub/i386/ieee1275/console.h: Likewise.
38710 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38711 * include/grub/i386/ieee1275/kernel.h: Likewise.
38712 * include/grub/i386/ieee1275/time.h: Likewise.
38713 * kern/i386/ieee1275/init.c: Likewise.
38714 * kern/i386/ieee1275/startup.S: Likewise.
38715
d1bc1b73 387162008-01-15 Robert Millan <rmh@aybabtu.com>
38717
38718 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38719 when pointers are 32-bit (but still do set it to one when they are
38720 64-bit).
38721
66a65807 387222008-01-15 Robert Millan <rmh@aybabtu.com>
38723
38724 * include/grub/ieee1275/ieee1275.h
38725 (grub_ieee1275_get_integer_property): New function prototype.
38726
38727 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38728 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38729 grub_ieee1275_get_property() to handle endianness.
66a65807 38730
38731 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38732 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38733 where appropriate.
66a65807 38734 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38735 (grub_map): Likewise.
38736 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38737
a83ccafd 387382008-01-15 Bean <bean123ch@gmail.com>
38739
38740 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38741 (grub_script_execute_cmdline): Reset grub_errno.
38742
38743 * normal/main.c (read_config_file): Reset grub_errno.
38744
38745 * normal/parse.y (script_init): New.
38746 (script): Move function and menuentry here.
38747 (delimiter): New.
38748 (command): Add delimiter at the end of command.
38749 (commands): Adjust to match the new command.
38750 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38751 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38752 (if): Use the new commands.
38753
38754 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38755
df6ecfc6 387562008-01-15 Robert Millan <rmh@aybabtu.com>
38757
38758 * normal/menu.c (run_menu): Move timeout message from here ...
38759 (print_timeout): ... to here.
38760 (run_menu): Use print_timeout() once during initial draw to print
38761 the whole message, and again in every clock tick to update only
38762 the number of seconds.
38763
87ae25eb 387642008-01-15 Robert Millan <rmh@aybabtu.com>
38765
38766 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38767 actual size of `available' from grub_ieee1275_get_property(), and
38768 restrict parsing to that bound.
38769
47bf09a4 387702008-01-15 Christian Franke <franke@computer.org>
38771
38772 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38773 (argp_program_version): Remove variable.
38774 (argp_program_bug_address): Likewise.
38775 (options): Convert from struct argp_option to struct option.
38776 (struct arguments): Remove.
38777 (parse_opt): Remove.
38778 (usage): New function.
38779 (main): Replace struct args members by simple variables.
38780 Replace argp_parse() by getopt_long().
38781 Add switch to evaluate options.
38782 Add missing "(...)" around root_dev in prefix string.
38783
c86f1469 387842008-01-14 Robert Millan <rmh@aybabtu.com>
38785
38786 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38787 for grub_ieee1275_exit(), in order to improve portability.
38788
e622c559 387892008-01-14 Robert Millan <rmh@aybabtu.com>
38790
38791 * util/grub.d/10_linux.in (prefix): Define.
38792 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38793
44cb1ec8 387942008-01-13 Pavel Roskin <proski@gnu.org>
38795
38796 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38797 grub_errno if no errors have been detected.
38798
1eb8c802 387992008-01-12 Robert Millan <rmh@aybabtu.com>
38800
38801 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38802 (grub_util_get_dev_abstraction): New function prototype.
38803
38804 * util/getroot.c: Include `<grub/util/getroot.h>'
38805 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38806 (grub_util_get_dev_abstraction): ... here (new function).
38807
38808 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38809 `PRINT_ABSTRACTION'.
38810 (probe): Probe for abstraction type when requested.
38811 (main): Understand `--target=abstraction'.
38812
38813 * util/i386/efi/grub-install.in: Add abstraction module to core
38814 image when it is found to be necessary.
38815 * util/i386/pc/grub-install.in: Likewise.
38816 * util/powerpc/ieee1275/grub-install.in: Likewise.
38817
38818 * util/update-grub_lib.in (font_path): Return system path without
38819 converting to GRUB path.
38820 * util/update-grub.in: Convert system path returned by font_path()
38821 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38822 abstraction module is needed for loading fonts (if any). Export
38823 that as `GRUB_PRELOAD_MODULES'.
38824 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38825 insmod commands).
38826
52bd3de9 388272008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38828
38829 Remove some unused code from reiserfs.
f19dbdb7 38830
52bd3de9 38831 * fs/reiserfs.c (struct grub_reiserfs_key)
38832 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38833 (struct grub_reiserfs_node_body): Removed.
38834 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38835 Likewise.
38836 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38837 Likewise.
38838 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38839 Likewise.
38840 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38841 Likewise.
38842 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38843 Likewise.
38844 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38845 Likewise.
38846 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38847 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38848 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38849
2f80039d 388502008-01-10 Robert Millan <rmh@aybabtu.com>
38851
38852 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38853 Determines if a file is garbage left by packaging systems, etc.
38854 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38855 for processing /etc/grub.d scripts.
38856 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38857 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38858 as a condition for processing Linux images.
38859
87888032 388602008-01-10 Pavel Roskin <proski@gnu.org>
38861
38862 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38863 to compile reiserfs.c on PowerPC.
38864
7e54fced 388652008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38866
38867 * kern/device.c (grub_device_iterate): Do not abort device iteration
38868 when one of the devices cannot be opened.
38869 * kern/disk.c (grub_disk_open): Do not account previous failures of
38870 unrelated functions when grub_errno is checked for.
38871
5aa541e6 388722008-01-08 Robert Millan <rmh@aybabtu.com>
38873
38874 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38875 `! grub_linux_is_bzimage', change order of address comparison to make
38876 it more intuitive, and improve "too big zImage" error message.
38877
7076340d 388782008-01-08 Robert Millan <rmh@aybabtu.com>
38879
38880 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38881 `$(update-grub_DATA)'.
38882 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38883 targets.
38884
9ca70333 388852008-01-07 Robert Millan <rmh@aybabtu.com>
38886
38887 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38888 which instruction is modified by grub-setup during installation
38889 (since it wasn't obvious by only looking at this file).
38890
38ccf575 388912008-01-07 Robert Millan <rmh@aybabtu.com>
38892
38893 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38894 listing actual TODO items.
38895
f5db4291 388962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38897
868967cf 38898 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38899 correctly.
38900 (grub_reiserfs_get_key_offset): Likewise.
38901 (grub_reiserfs_set_key_offset): Likewise.
38902 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38903 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38904
38905 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38906 better to remove the bitfield version completely.
f19dbdb7 38907
868967cf 389082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38909
f5db4291 38910 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38911 allocated from the heap, due to the fshelp implementation.
38912 (grub_reiserfs_dir): Free NODE, due to the same reason.
38913
492e6d9d 389142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38915
38916 Mostly from Vincent Pelletier:
f19dbdb7 38917
492e6d9d 38918 * fs/reiserfs.c: New file.
f19dbdb7 38919
492e6d9d 38920 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38921 (reiserfs_mod_SOURCES): New variable.
38922 (reiserfs_mod_CFLAGS): Likewise.
38923 (reiserfs_mod_LDFLAGS): Likewise.
38924
38925 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38926 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38927 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38928 normal/color.c.
38929
9ce3e7c1 389302008-01-06 Robert Millan <rmh@aybabtu.com>
38931
38932 * normal/color.c: Remove `<grub/env.h>'.
38933
f3b58148 389342008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38935
38936 * include/grub/normal.h: Include <grub/env.h>.
38937
7ac3bcfa 389382008-01-05 Robert Millan <rmh@aybabtu.com>
38939
38940 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38941 usage example with `(hd0,1)'.
fb358190 38942 Reported by Samuel Thibault.
7ac3bcfa 38943
c8ee99d7 389442008-01-05 Robert Millan <rmh@aybabtu.com>
38945
38946 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38947 (grub_linux_boot_zimage): Rename to ...
38948 (grub_linux_boot): ... this.
38949 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38950 (grub_linux_boot_zimage): Conditionalize zImage copy.
38951
38952 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38953 (grub_linux_boot_bzimage): Remove prototype.
38954 (grub_linux_boot_zimage): Rename to ...
38955 (grub_linux_boot): ... this.
38956
38957 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38958 (grub_linux_boot): Remove function.
38959
0ece25b1 389602008-01-05 Robert Millan <rmh@aybabtu.com>
38961
38962 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38963 (grub_env_write_color_highlight): Likewise.
38964 (grub_wait_after_message): Likewise.
38965
38966 * normal/color.c: New file.
38967
38968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38969 (normal_mod_DEPENDENCIES): Likewise.
38970
38971 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38972 (normal_mod_DEPENDENCIES): Likewise.
38973
38974 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38975 (normal_mod_DEPENDENCIES): Likewise.
38976
38977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38978 (normal_mod_DEPENDENCIES): Likewise.
38979
38980 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38981 for waiting after a message is printed.
38982 * normal/main.c (read_config_file): Likewise.
38983 (grub_normal_init): Register grub_env_write_color_normal() and
38984 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38985 `color_highlight' variables as global.
38986
38987 * normal/menu.c (grub_wait_after_message): New function.
38988 (grub_color_menu_normal): New variable. Replaces ...
38989 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38990 (grub_color_menu_highlight): New variable. Replaces ...
38991 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38992 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38993 `GRUB_TERM_COLOR_STANDARD'.
38994 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38995 `normal_code' and `highlight_code' to `old_color_normal' and
38996 `old_color_highlight', respectively.
38997 (grub_menu_init_page): Update colors when drawing the menu, based on
38998 `menu_color_normal' and `menu_color_highlight' variables.
38999 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39000 a message is printed.
39001
182dd4e5 390022008-01-05 Robert Millan <rmh@aybabtu.com>
39003
39004 * kern/env.c (grub_env_context_open): Propagate hooks for global
39005 variables to new context.
39006
39007 * kern/main.c (grub_set_root_dev): Export `root' variable.
39008
ddf8f6ad 390092008-01-05 Robert Millan <rmh@aybabtu.com>
39010
39011 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 39012 discs unconditionally, since udev and others have options to provide
ddf8f6ad 39013 them.
39014
d8b43d9b 390152008-01-05 Robert Millan <rmh@aybabtu.com>
39016
39017 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39018
2bff2de3 390192008-01-04 Christian Franke <franke@computer.org>
39020
39021 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39022 of eisa_mmap.
39023
97eab917 390242008-01-03 Pavel Roskin <proski@gnu.org>
39025
39026 * kern/i386/linuxbios/init.c: Put "void" to all function
39027 declarations with no arguments.
39028 * kern/powerpc/ieee1275/init.c: Likewise.
39029 * term/i386/pc/at_keyboard.c: Likewise.
39030 * term/i386/pc/vga_text.c: Likewise.
39031 * util/grub-mkdevicemap.c: Likewise.
39032
b9416d00 390332008-01-02 Robert Millan <rmh@aybabtu.com>
39034
39035 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39036 message when loaded image is out of bounds.
39037 (grub_multiboot_load_elf64): Likewise.
39038
92695df9 390392008-01-02 Pavel Roskin <proski@gnu.org>
39040
39041 * util/grub.d/10_linux.in: Try version without ".old" when
39042 looking for initrd. It's better to use initrd from the newer
39043 kernel of the same version than no initrd at all.
39044
d98d9cad 390452008-01-01 Robert Millan <rmh@aybabtu.com>
39046
39047 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39048
dbfdce36 390492008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39050
f19dbdb7 39051 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 39052 grub_video_get_active_render_target.
39053 (grub_video_adapter): Added unmap_color and get_active_render_target.
39054
f19dbdb7 39055 * video/video.c: Added grub_video_unmap_color and
dbfdce36 39056 grub_video_get_active_render_target.
39057 (grub_video_get_info): Changed method to accept NULL pointer as an
39058 argument to allow detection of active video adapter.
39059
39060 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39061 grub_video_vbe_unmap_color_int.
39062 Added grub_video_vbe_unmap_color and
39063 grub_video_vbe_get_active_render_target.
39064 (grub_video_vbe_adapter): Added unmap_color and
39065 get_active_render_target.
39066
f19dbdb7 39067 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 39068 with grub_video_vbe_unmap_color_int.
39069
39070 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39071 (DEFAULT_NORMAL_COLOR): Likewise.
39072 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39073 (DEFAULT_FG_COLOR): Removed.
39074 (DEFAULT_BG_COLOR): Likewise.
39075 (DEFAULT_CURSOR_COLOR): Changed value.
39076 (grub_virtual_screen): Added standard_color_setting,
39077 normal_color_setting, highlight_color_setting and term_color.
39078 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39079 (bitmap_width): Added.
39080 (bitmap_height): Likewise.
39081 (bitmap): Likewise.
39082 (set_term_color): Likewise.
39083 (grub_virtual_screen_setup): Changed to use new terminal coloring
39084 settings.
39085 (grub_gfxterm_init): Added init for bitmap.
39086 (grub_gfxterm_fini): Added destroy for bitmap.
39087 (redraw_screen_rect): Updated to use background bitmap and new
39088 terminal coloring.
39089 (scroll_up): Added optimization for case when there is no bitmap.
39090 (grub_gfxterm_cls): Fixed to use correct background color.
39091 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39092 coloring.
39093 (grub_virtual_screen_setcolor): Likewise.
39094 (grub_virtual_screen_getcolor): Added.
39095 (grub_gfxterm_background_image_cmd): Likewise.
39096 (grub_video_term): Added setcolor and getcolor.
39097 (MOD_INIT): Added registration of background_image command.
39098 (MOD_TERM): Added unregistration for background_image command.
39099
c3c20931 391002007-12-30 Pavel Roskin <proski@gnu.org>
39101
39102 * loader/multiboot_loader.c: Fix multiboot command
39103 unregistration. Fix all typos in the word "multiboot".
39104
df266716 391052007-12-29 Pavel Roskin <proski@gnu.org>
94239199 39106
39107 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39108 support for initrd names used in Fedora.
39109
fc6e896c 391102007-12-26 Bean <bean123ch@gmail.com>
39111
39112 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39113 (cpio_mod_SOURCES): New variable.
39114 (cpio_mod_CFLAGS): Likewise.
39115 (cpio_mod_LDFLAGS): Likewise.
39116
39117 * fs/cpio.c: New file.
39118
39119 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39120
39121 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39122
39123 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39124
39125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39126
533110ad 391272007-12-25 Robert Millan <rmh@aybabtu.com>
39128
39129 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39130 (grub_getcolor): New function.
39131
39132 * kern/term.c (grub_getcolor): New function.
39133 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39134 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39135 (print_entry): Set normal and highlight colors to
39136 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39137 respectively, before printing and restore them to old
39138 values afterwards.
39139 (grub_menu_init_page): Likewise. Fill an additional colored space
39140 that would otherwise be left blank.
39141
39142 * term/efi/console.c (grub_console_getcolor): New function.
39143 (struct grub_console_term.getcolor): New variable.
39144 * term/i386/pc/console.c (grub_console_getcolor): New function.
39145 (struct grub_console_term.getcolor): New variable.
39146 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39147 (struct grub_console_term.getcolor): New variable.
39148
39149 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39150 (struct grub_console_term.setcolor): Remove variable.
39151 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39152 (struct grub_console_term.setcolor): Remove variable.
39153 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39154 (struct grub_console_term.setcolor): Remove variable.
39155 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39156 (struct grub_console_term.setcolor): Remove variable.
39157
4931827f 391582007-12-25 Robert Millan <rmh@aybabtu.com>
39159
39160 * configure.ac: Search for possible unifont.hex locations, and
39161 define UNIFONT_HEX if found.
39162
39163 * Makefile.in (UNIFONT_HEX): Define variable.
39164 (DATA): Rename to ...
39165 (PKGLIB): ... this. Update all users.
39166 (PKGDATA): New variable.
39167 (pkgdata_IMAGES): Rename to ...
39168 (pkglib_IMAGES): ... this. Update all users.
39169 (pkgdata_MODULES): Rename to ...
39170 (pkglib_MODULES): ... this. Update all users.
39171 (pkgdata_PROGRAMS): Rename to ...
39172 (pkglib_PROGRAMS): ... this. Update all users.
39173 (pkgdata_DATA): Rename to ...
39174 (pkglib_DATA): ... this. Update all users.
39175 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39176 (unicode.pff, ascii.pff): New rules.
39177 (all-local): Add `$(PKGDATA)' dependency.
39178 (install-local): Process `$(PKGDATA)'.
39179
39180 * util/update-grub_lib.in (font_path): Search for *.pff files in
39181 a few more locations, including `${pkgdata}'.
39182
57e57e31 391832007-12-23 Robert Millan <rmh@aybabtu.com>
39184
39185 Patch from Bean <bean123ch@gmail.com>:
39186 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39187 `size'.
39188
4bc72aa9 391892007-12-21 Bean <bean123ch@gmail.com>
39190
39191 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39192 (ntfscomp_mod_SOURCES): New variable.
39193 (ntfscomp_mod_CFLAGS): Likewise.
39194 (ntfscomp_mod_LDFLAGS): Likewise.
39195
39196 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39197 (grub_probe_SOURCES): Likewise.
39198 (grub_emu_SOURCES): Likewise.
39199
39200 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39201 (grub_emu_SOURCES): Likewise.
39202
39203 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39204 (grub_emu_SOURCES): Likewise.
39205
39206 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39207 (grub_emu_SOURCES): Likewise.
39208
39209 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39210 (read_run_list): Renamed to grub_ntfs_read_run_list.
39211 (decomp_nextvcn): Moved to ntfscomp.c.
39212 (decomp_getch): Likewise.
39213 (decomp_get16): Likewise.
39214 (decomp_block): Likewise.
39215 (read_block): Likewise.
39216 (read_data): Partially moved to ntfscomp.c.
39217 (fixup): Change unsigned to grub_uint16_t.
39218 (read_mft): Change unsigned long to grub_uint32_t.
39219 (read_attr): Likewise.
39220 (read_data): Likewise.
39221 (read_run_data): Likewise.
39222 (read_run_list): Likewise.
39223 (read_mft): Likewise.
39224
39225 * fs/ntfscomp.c: New file.
39226
39227 * include/grub/ntfs.h: New file.
39228
af680a87 392292007-12-16 Robert Millan <rmh@aybabtu.com>
39230
39231 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39232 IDE disk check, since Linux is known to support 20 IDE disks.
39233 Reported by Colin Watson.
39234
84be7599 392352007-12-15 Bean <bean123ch@gmail.com>
39236
39237 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39238 (lnxboot_img_SOURCES): New variable.
39239 (lnxboot_img_ASFLAGS): Likewise.
39240 (lnxboot_img_LDFLAGS): Likewise.
39241
39242 * boot/i386/pc/lnxboot.S: New file.
39243
6af9db01 392442007-11-24 Pavel Roskin <proski@gnu.org>
39245
39246 * configure.ac: Test if '--build-id=none' is supported by the
39247 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39248 objcopy to generate incorrect binary files (binutils
39249 2.17.50.0.18-1 as shipped by Fedora 8).
39250 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39251 linking, so that build ID doesn't break the test.
39252
7361cfe6 392532007-11-24 Pavel Roskin <proski@gnu.org>
39254
39255 * include/grub/i386/time.h: use "void" in the argument list
39256 of grub_cpu_idle().
39257 * include/grub/powerpc/time.h: Likewise.
39258 * include/grub/sparc64/time.h: Likewise.
39259
1593e10c 392602007-11-18 Christian Franke <franke@computer.org>
39261
39262 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39263 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39264 This fixes the problem that function keys did not work in grub-emu.
39265
3b8db1a8 392662007-11-18 Christian Franke <franke@computer.org>
39267
39268 * disk/host.c (grub_host_open): Remove attribute unused from
39269 name parameter. Add check for "host". This fixes the problem
39270 that grub-emu does not find partitions.
39271
2e29408d 392722007-11-18 Christian Franke <franke@computer.org>
39273
39274 * util/hostfs.c (is_dir): New function.
39275 (grub_hostfs_dir): Handle missing dirent.d_type case.
39276 (grub_hostfs_read): Add missing fseek().
39277 (grub_hostfs_label): Clear label pointer. This fixes a crash
39278 of grub-emu on "ls (host)".
39279
398cd047 392802007-11-18 Christian Franke <franke@computer.org>
39281
39282 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39283 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39284 to 64 bit boundary by default.
39285
c405c391 392862007-11-18 Bean <bean123ch@gmail.com>
39287
39288 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39289 (hexdump_mod_SOURCES): New variable.
39290 (hexdump_mod_CFLAGS): Likewise.
39291 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 39292
c405c391 39293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39294
39295 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39296
39297 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39298
39299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39300
39301 * include/grub/hexdump.h: New file.
39302
39303 * commands/hexdump.c: New file.
39304
5cced7fd 393052007-11-10 Robert Millan <rmh@aybabtu.com>
39306
39307 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39308 in grub_outb() calls.
39309 (beep_on): Likewise.
39310
8b714eb0 393112007-11-10 Christian Franke <franke@computer.org>
39312
39313 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39314 (grub_menu_run): Likewise.
39315
ce0f1839 393162007-11-10 Robert Millan <rmh@aybabtu.com>
39317
39318 * include/grub/i386/efi/machine.h: New file.
39319 * include/grub/i386/linuxbios/machine.h: Likewise.
39320 * include/grub/i386/pc/machine.h: Likewise.
39321 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39322 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39323
39324 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39325 (serial_hw_io_addr): New variable.
39326 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39327 instead of `(unsigned short *) 0x400'.
39328
270c237d 393292007-11-10 Bean <bean123ch@gmail.com>
39330
39331 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39332
a87783bf 393332007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39334
39335 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39336 (vga_mod_SOURCES): Added.
39337 (vga_mod_CFLAGS): Likewise.
39338 (vga_mod_LDFLAGS): Likewise.
39339
39340 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39341 grub_outb() calls.
39342 (set_map_mask): Likewise.
39343 (set_read_map): Likewise.
39344 (set_read_address): Likewise.
39345 (vga_font): Removed variable.
39346 (get_vga_glyph): Removed function.
39347 (invalidate_char): Likewise.
39348 (write_char): Changed to use grub_font_get_glyph() for font
39349 information.
39350 (grub_vga_putchar): Likewise.
39351 (grub_vga_getcharwidth): Likewise.
39352
6433b448 393532007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39354
39355 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39356 flags.
39357 (pxeboot_img_LDFLAGS): Likewise.
39358 (diskboot_img_LDFLAGS): Likewise.
39359 (kernel_img_LDFLAGS): Likewise.
39360
49178511 393612007-11-06 Robert Millan <rmh@aybabtu.com>
39362
39363 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39364 in grub_outb() calls.
39365 (serial_hw_init): Likewise.
39366
53b052de 393672007-11-05 Robert Millan <rmh@aybabtu.com>
39368
39369 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39370 spaces. Skip non-regular files.
39371
5ab33bba 393722007-11-05 Robert Millan <rmh@aybabtu.com>
39373
39374 * kern/disk.c (grub_disk_firmware_fini)
39375 (grub_disk_firmware_is_tainted): New variables.
39376
39377 * include/grub/disk.h (grub_disk_firmware_fini)
39378 (grub_disk_firmware_is_tainted): Likewise.
39379
39380 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39381 (grub_disk_biosdisk_fini): ... to here.
39382 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39383 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39384 is set. Register grub_disk_biosdisk_fini() in
39385 `grub_disk_firmware_fini'.
39386
39387 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39388 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39389 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39390 to finish existing firmware disk interface.
39391
39392 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39393 (ata_mod_SOURCES): New variable.
39394 (ata_mod_CFLAGS): Likewise.
39395 (ata_mod_LDFLAGS): Likewise.
39396
0149ab7c 393972007-11-05 Robert Millan <rmh@aybabtu.com>
39398
39399 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39400 (grub_ata_wait): Reimplement using grub_millisleep().
39401
39402 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39403 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39404
be7ac41e 394052007-11-03 Marco Gerards <marco@gnu.org>
39406
39407 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39408 (CRTC_ADDR_PORT): New macro.
39409 (CRTC_DATA_PORT): Likewise.
39410 (CRTC_CURSOR): Likewise.
39411 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39412 (CRTC_CURSOR_ADDR_LOW): Likewise.
39413 (update_cursor): New function.
39414 (grub_console_real_putchar): Call `update_cursor'.
39415 (grub_console_gotoxy): Likewise.
39416 (grub_console_cls): Set the default color when clearing the
39417 screen.
39418 (grub_console_setcursor): Implemented.
39419
bb06ab2e 394202007-11-03 Marco Gerards <marco@gnu.org>
39421
39422 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39423 become activate.
39424 (grub_ata_pio_write): Likewise.
39425
39426 (grub_atapi_identify): Wait after issuing an ATA command.
39427 (grub_atapi_packet): Likewise.
39428 (grub_ata_identify): Likewise.
39429 (grub_ata_readwrite): Likewise.
39430
cf8f780b 394312007-11-03 Marco Gerards <marco@gnu.org>
39432
39433 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39434 (grub_ata_pio_write): Likewise.
39435 (grub_ata_readwrite): Use `grub_error', instead of
39436 returning `grub_errno'.
39437
ed649e54 394382007-11-03 Marco Gerards <marco@gnu.org>
39439
39440 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39441 grub_ata_pio_write once for every single sector, instead of for
39442 multiple sectors.
39443
ca25d8f0 394442007-10-31 Robert Millan <rmh@aybabtu.com>
39445
39446 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39447
39448 * conf/i386-linuxbios.rmk: New file.
39449
39450 * kern/i386/pc/hardware.c: Likewise.
39451 * term/i386/pc/at_keyboard.c: Likewise.
39452 * term/i386/pc/vga_text.c: Likewise.
39453
39454 * include/grub/i386/linuxbios/boot.h: Likewise.
39455 * include/grub/i386/linuxbios/console.h: Likewise.
39456 * include/grub/i386/linuxbios/init.h: Likewise.
39457 * include/grub/i386/linuxbios/kernel.h: Likewise.
39458 * include/grub/i386/linuxbios/loader.h: Likewise.
39459 * include/grub/i386/linuxbios/memory.h: Likewise.
39460 * include/grub/i386/linuxbios/serial.h: Likewise.
39461 * include/grub/i386/linuxbios/time.h: Likewise.
39462
39463 * kern/i386/linuxbios/init.c: Likewise.
39464 * kern/i386/linuxbios/startup.S: Likewise.
39465 * kern/i386/linuxbios/table.c: Likewise.
39466
e911ecc1 394672007-10-31 Marco Gerards <marco@gnu.org>
39468
39469 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39470 (ata_mod_SOURCES): New variable.
39471 (ata_mod_CFLAGS): Likewise.
39472 (ata_mod_LDFLAGS): Likewise.
39473
39474 * disk/ata.c: New file.
39475
39476 * include/grub/disk.h (grub_disk_dev_id): Add
39477 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39478
7f66d0e0 394792007-10-31 Robert Millan <rmh@aybabtu.com>
39480
39481 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39482 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39483
39484 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39485 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39486
39487 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39488 `<grub/types.h>'.
39489
39490 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39491
5cd7dd46 394922007-10-27 Robert Millan <rmh@aybabtu.com>
39493
3236ca65 39494 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39495
2ebfc90f 394962007-10-22 Robert Millan <rmh@aybabtu.com>
39497
39498 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39499 `"../realmode.S"'.
39500 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39501
73fcb0f3 395022007-10-22 Robert Millan <rmh@aybabtu.com>
39503
39504 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39505 (pkgdata_MODULES): Add `biosdisk.mod'.
39506 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39507 variables.
39508
39509 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39510 (grub_biosdisk_init): Replace with ...
39511 (GRUB_MOD_INIT(biosdisk)): ... this.
39512 (grub_biosdisk_fini): Replace with ...
39513 (GRUB_MOD_FINI(biosdisk)): ... this.
39514
39515 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39516 (grub_machine_init): Remove call to grub_biosdisk_init().
39517 (grub_machine_fini): Remove call to grub_machine_fini().
39518
39519 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39520
3381d274 395212007-10-22 Robert Millan <rmh@aybabtu.com>
39522
39523 * include/grub/time.h: New file.
39524 * include/grub/i386/time.h: Likewise.
39525 * include/grub/powerpc/time.h: Likewise.
39526 * include/grub/sparc64/time.h: Likewise.
39527
39528 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39529 instances to ...
39530 (KERNEL_MACHINE_TIME_HEADER): ... this.
39531 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39532 instances to ...
39533 (KERNEL_MACHINE_TIME_HEADER): ... this.
39534 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39535 instances to ...
39536 (KERNEL_MACHINE_TIME_HEADER): ... this.
39537
39538 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39539 (grub_millisleep): New function.
39540 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39541 (grub_millisleep): New function.
39542 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39543 Remove `grub/machine/time.h' include.
39544 (grub_millisleep): New function.
39545 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39546 Remove `grub/machine/time.h' include.
39547 (grub_millisleep): New function.
39548
39549 * include/grub/misc.h (grub_div_roundup): New function.
39550
39551 * kern/misc.c: Include `<grub/time.h>'.
39552 (grub_millisleep_generic): New function.
39553
39554 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39555 Add `time.h'.
39556 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39557 Add `time.h'.
39558 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39559 `machine/time.h'. Add `time.h'.
39560 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39561
a39a0312 395622007-10-21 Robert Millan <rmh@aybabtu.com>
39563
39564 * include/grub/misc.h (grub_max): New function.
39565
2aad70e2 395662007-10-21 Robert Millan <rmh@aybabtu.com>
39567
39568 * util/misc.c (grub_util_info): Call fflush() before returning.
39569
54b71c4b 395702007-10-20 Robert Millan <rmh@aybabtu.com>
39571
39572 * genmk.rb (Image): Copy `extra_flags' from here ...
39573 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39574
39575 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39576 to `argc' and `args' arguments.
39577
a979f513 395782007-10-17 Robert Millan <rmh@aybabtu.com>
39579
39580 * kern/i386/loader.S: New file.
39581
39582 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39583 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39584 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39585 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39586 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39587 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39588 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39589 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39590 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39591 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39592 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39593 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39594 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39595 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39596
39597 * kern/i386/realmode.S: New file.
39598
39599 * kern/i386/pc/startup.S (protstack): Moved from here ...
39600 * kern/i386/realmode.S (protstack)... to here.
39601 * kern/i386/pc/startup.S (gdt): Moved from here ...
39602 * kern/i386/realmode.S (gdt)... to here.
39603 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39604 * kern/i386/realmode.S (prot_to_real)... to here.
39605
39606 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39607 `kern/i386/realmode.S'.
39608
825fc8fd 396092007-10-17 Robert Millan <rmh@aybabtu.com>
39610
39611 * include/grub/i386/loader.h: New file.
39612
39613 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39614 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39615 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39616 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39617 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39618 * include/grub/i386/loader.h (grub_linux_prot_size)
39619 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39620 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39621 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39622 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39623
39624 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39625
e179b2f4 396262007-10-15 Robert Millan <rmh@aybabtu.com>
39627
39628 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39629 filesystem when dev->disk is unset.
39630 Do probe for filesystem even when dev->disk->has_partitions is set.
39631 In case a filesystem is found, always report it.
39632 In case it isn't, if dev->disk->has_partitions is set, report that
39633 a partition table was found instead of reporting that no filesystem
39634 could be identified.
39635
5db82af6 396362007-10-12 Robert Millan <rmh@aybabtu.com>
39637
39638 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39639 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39640
68f6ac74 39641 * include/grub/types.h (grub_host_to_target16): New macro.
39642 (grub_host_to_target32): Likewise.
39643 (grub_host_to_target64): Likewise.
39644 (grub_target_to_host16): Likewise.
39645 (grub_target_to_host32): Likewise.
39646 (grub_target_to_host64): Likewise.
5db82af6 39647
39648 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39649 Renamed from to ...
39650 (GRUB_MOD_ALIGN): ...this. Update all users.
39651
68f6ac74 39652 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39653 grub_host_to_target32.
39654 Replace grub_be_to_cpu32 with grub_target_to_host32.
39655 (load_modules): Likewise.
39656 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39657 Replace grub_be_to_cpu32 with grub_target_to_host32.
39658 Replace grub_cpu_to_be16 with grub_host_to_target16.
39659 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39660
3cf497cc 396612007-10-12 Robert Millan <rmh@aybabtu.com>
39662
39663 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39664 * util/elf/grub-mkimage.c: ... here.
39665
39666 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39667 `util/powerpc/ieee1275/grub-mkimage.c'.
39668
c8cc3692 396692007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39670
c8cc3692 39671 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39672 and make it easier to figure out.
39673 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39674 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39675 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39676 leave us with less than HEAP_MIN_SIZE total heap.
39677 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39678
5c58b791 396792007-10-03 Robert Millan <rmh@aybabtu.com>
39680
39681 * include/grub/i386/io.h: New file.
39682 * commands/i386/pc/play.c (inb): Removed.
39683 (outb): Removed.
39684 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39685 with grub_outb().
afcd2ef8 39686 * term/i386/pc/serial.c (inb): Removed.
39687 (outb): Removed.
39688 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39689 with grub_outb().
39690 * term/i386/pc/vga.c (inb): Removed.
39691 (outb): Removed.
39692 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39693 with grub_outb().
5c58b791 39694
1a477ed6 396952007-10-02 Robert Millan <rmh@aybabtu.com>
39696
39697 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39699 Reported by Marcin Kurek.
39700
6b5d80fa 397012007-09-07 Robert Millan <rmh@aybabtu.com>
39702
39703 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39704 SmartFirmware version updates (as released by Sven Luther), and avoid
39705 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39706 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39707 known broken.
39708
5618afbf 397092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39710
39711 From Hitoshi Ozeki:
39712 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39713 when merging two regions.
39714
6139dcd9 397152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39716
508e39ee 39717 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39718 * normal/completion.c (grub_normal_do_completion): Likewise.
39719 Reported by Hitoshi Ozeki.
39720
397212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39722
6139dcd9 39723 Do not use devices at boot in chainloading.
f19dbdb7 39724
6139dcd9 39725 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39726 (boot_part_addr): Likewise.
39727 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39728 with BOOT_DRIVE and BOOT_PART_ADDR.
39729 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39730 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39731
38da6516 397322007-08-29 Robert Millan <rmh@aybabtu.com>
39733
39734 Patch from Simon Peter <dn.tlp@gmx.net>:
39735 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39736 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39737 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39738 util/i386/pc/grub-setup.c_DEPENDENCIES.
39739 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39740 util/grub-probe.c_DEPENDENCIES.
39741 * conf/powerpc-ieee1275.rmk: Likewise.
39742
29d0928c 397432007-08-28 Robert Millan <rmh@aybabtu.com>
39744
39745 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39746 to tell grub-mkdevicemap how to name devices.
39747 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39748 feature).
39749
39750 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39751 util/i386/get_disk_name.c.
39752 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39753 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39754 util/ieee1275/get_disk_name.c.
39755
39756 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39757
39758 * DISTLIST: Add util/i386/get_disk_name.c and
39759 util/ieee1275/get_disk_name.c.
39760
39761 * util/grub-mkdevicemap.c: Replace device naming logic with
39762 grub_util_get_disk_name() calls.
39763
5a0d3cca 397642007-08-20 Robert Millan <rmh@aybabtu.com>
39765
39766 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39767 (so that it works for both plural and singular quantities).
39768
8b72db2f 397692007-08-05 Robert Millan <rmh@aybabtu.com>
39770
39771 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39772 so that [xz] isn't taken into account when determining order.
39773
352466bf 397742007-08-02 Marco Gerards <marco@gnu.org>
39775
39776 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39777 `include/multiboot2.h', `include/grub/elfload.h',
39778 `include/multiboot.h', `include/grub/multiboot.h',
39779 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39780 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39781 `kern/elf.c', `loader/multiboot_loader.c',
39782 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39783 `loader/i386/pc/multiboot2.c',
39784 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39785 `util/i386/pc/grub-mkrescue.in'. Remove
39786 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39787 `include/grub/i386/pc/util/biosdisk.h' and
39788 `include/grub/powerpc/ieee1275/multiboot.h'.
39789
8f096014 397902007-08-02 Bean <bean123ch@gmail.com>
39791
39792 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39793 (ntfs_mod_SOURCES): New variable.
39794 (ntfs_mod_CFLAGS): Likewise.
39795 (ntfs_mod_LDFLAGS): Likewise.
39796
39797 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39798 (grub_probe_SOURCES): Likewise.
39799 (grub_emu_SOURCES): Likewise.
39800
39801 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39802 (grub_emu_SOURCES): Likewise.
39803
39804 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39805 (grub_emu_SOURCES): Likewise.
f19dbdb7 39806
8f096014 39807 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39808
39809 * fs/ntfs.c: New file.
39810
9959f7db 398112007-08-02 Bean <bean123ch@gmail.com>
39812
39813 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39814
39815 * file.h (grub_file): Likewise.
39816
39817 * fshelp.h (grub_fshelp_read_file): Likewise.
39818
39819 * util/i386/pc/grub-setup.c (setup): Likewise.
39820 (save_first_sector): Likewise.
39821 (save_blocklists): Likewise.
f19dbdb7 39822
9959f7db 39823 * fs/affs.c (grub_affs_read_file): Likewise.
39824
39825 * fs/ext2.c (grub_ext2_read_file): Likewise.
39826
39827 * fs/fat.c (grub_fat_read_data): Likewise.
39828
39829 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39830
39831 * fs/hfs.c (grub_hfs_read_file): Likewise.
39832
39833 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39834
39835 * fs/jfs.c (grub_jfs_read_file): Likewise.
39836
39837 * fs/minix.c (grub_minix_read_file): Likewise.
39838
39839 * fs/sfs.c (grub_sfs_read_file): Likewise.
39840
39841 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39842
9959f7db 39843 * fs/xfs.c (grub_xfs_read_file): Likewise.
39844
39845 * command/blocklist.c (read_blocklist): Likewise.
39846 (print_blocklist): Likewise.
39847
0a203f83 398482007-08-02 Marco Gerards <marco@gnu.org>
39849
39850 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39851 `util/hostfs.c'.
39852
39853 * disk/host.c: New file.
39854
39855 * util/hostfs.c: Likewise.
39856
39857 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39858 return `GRUB_ERR_BAD_FS'.
39859 * fs/sfs.c (grub_sfs_mount): Likewise.
39860 * fs/xfs.c (grub_xfs_mount): Likewise.
39861
39862 * include/grub/disk.h (enum grub_disk_dev_id): Add
39863 `GRUB_DISK_DEVICE_HOST_ID'.
39864
39865 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39866
e5dfe777 398672007-07-24 Jerone Young <jerone@gmail.com>
39868
f19dbdb7 39869 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39870 modules for compilation.
39871 * conf/powerpc-ieee1275.rmk: Likewise.
39872
39873 * include/multiboot.h: Move multiboot definitions to one file. Rename
39874 many definitions to not get grub specific.
39875 * include/multiboot2.h: Create header with multiboot 2 definitions.
39876 * include/grub/multiboot.h: Header for grub specific function
39877 prototypes and definitions.
39878 * include/grub/multiboot2.h: Likewise.
39879 * include/grub/multiboot_loader.h: Likewise.
39880 * include/grub/i386/pc/multiboot.h: Removed.
39881 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39882
39883 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39884 and 2 to allow for one multiboot and module commands.
39885 * loader/multiboot2.c: Add multiboot2 functionality.
39886 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39887 and definition names.
39888 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39889 2 functions.
39890 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39891 ieee1275 specific multiboot2 code.
39892
39893 * kern/i386/pc/startup.S: Change headers and definition names for
39894 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39895
daf0f0ba 398962007-07-22 Robert Millan <rmh@aybabtu.com>
39897
39898 * geninitheader.sh: Process file specified in first parameter rather
39899 than hardcoding grub_modules_init.lst.
fe6b695a 39900 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39901 than hardcoding grub_modules_init.h.
39902
39903 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39904 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39905 grub_probe_init.[ch] and grub_setup_init.[ch].
39906
39907 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39908 grub_modules_init.h with grub_emu_init.h.
39909 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39910 grub_probe_init.[ch] files.
39911 * conf/i386-efi.rmk: Likewise.
39912 * conf/i386-pc.rmk: Likewise.
39913 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39914 grub_setup_init.[ch] files.
39915
39916 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39917 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39918 to initialize modules rather than a list of hardcoded functions.
39919 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39920 grub_init_all() to initialize modules rather than a list of hardcoded
39921 functions.
39922
54cdc1cc 399232007-07-22 Robert Millan <rmh@aybabtu.com>
39924
39925 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39926 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39927
ad0686cc 399282007-07-22 Robert Millan <rmh@aybabtu.com>
39929
39930 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39931 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39932 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39933 flag when running on SmartFirmware.
39934 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39935 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39936 was set.
39937
39938 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39939 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39940 rather than decreasing it.
39941
39942 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39943 there's not enough space to do it, fail in the same way as when it
39944 can't be done because there are no partitions.
39945
39946 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39947 when nvsetenv failed.
39948
969c02ec 399492007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39950
39951 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39952 because this rule is automatically generated.
39953 (grub-mkrescue): Removed for the same reason as above.
39954
5a79f472 399552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39956
39957 Migrate to GNU General Public License Version 3.
f19dbdb7 39958
5a79f472 39959 * COPYING: Replaced with the plain text version of GPLv3.
39960
39961 * config.guess: Updated from gnulib.
39962 * config.sub: Likewise.
39963
39964 * geninit.sh: Output a GPLv3 copyright notice.
39965 * geninitheader.sh: Likewise.
39966 * genmodsrc.sh: Likewise.
39967 * gensymlist.sh.in: Likewise.
39968
39969 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39970 * boot/i386/pc/diskboot.S: Likewise.
39971 * boot/i386/pc/pxeboot.S: Likewise.
39972 * commands/blocklist.c: Likewise.
39973 * commands/boot.c: Likewise.
39974 * commands/cat.c: Likewise.
39975 * commands/cmp.c: Likewise.
39976 * commands/configfile.c: Likewise.
39977 * commands/echo.c: Likewise.
39978 * commands/help.c: Likewise.
39979 * commands/ls.c: Likewise.
39980 * commands/search.c: Likewise.
39981 * commands/terminal.c: Likewise.
39982 * commands/test.c: Likewise.
39983 * commands/videotest.c: Likewise.
39984 * commands/i386/cpuid.c: Likewise.
39985 * commands/i386/pc/halt.c: Likewise.
39986 * commands/i386/pc/play.c: Likewise.
39987 * commands/i386/pc/reboot.c: Likewise.
39988 * commands/i386/pc/vbeinfo.c: Likewise.
39989 * commands/i386/pc/vbetest.c: Likewise.
39990 * commands/ieee1275/halt.c: Likewise.
39991 * commands/ieee1275/reboot.c: Likewise.
39992 * commands/ieee1275/suspend.c: Likewise.
39993 * disk/loopback.c: Likewise.
39994 * disk/lvm.c: Likewise.
39995 * disk/raid.c: Likewise.
39996 * disk/efi/efidisk.c: Likewise.
39997 * disk/i386/pc/biosdisk.c: Likewise.
39998 * disk/ieee1275/ofdisk.c: Likewise.
39999 * font/manager.c: Likewise.
40000 * fs/affs.c: Likewise.
40001 * fs/ext2.c: Likewise.
40002 * fs/fat.c: Likewise.
40003 * fs/fshelp.c: Likewise.
40004 * fs/hfs.c: Likewise.
40005 * fs/hfsplus.c: Likewise.
40006 * fs/iso9660.c: Likewise.
40007 * fs/jfs.c: Likewise.
40008 * fs/minix.c: Likewise.
40009 * fs/sfs.c: Likewise.
40010 * fs/ufs.c: Likewise.
40011 * fs/xfs.c: Likewise.
40012 * hello/hello.c: Likewise.
40013 * include/grub/acorn_filecore.h: Likewise.
40014 * include/grub/arg.h: Likewise.
40015 * include/grub/bitmap.h: Likewise.
40016 * include/grub/boot.h: Likewise.
40017 * include/grub/cache.h: Likewise.
40018 * include/grub/device.h: Likewise.
40019 * include/grub/disk.h: Likewise.
40020 * include/grub/dl.h: Likewise.
40021 * include/grub/elfload.h: Likewise.
40022 * include/grub/env.h: Likewise.
40023 * include/grub/err.h: Likewise.
40024 * include/grub/file.h: Likewise.
40025 * include/grub/font.h: Likewise.
40026 * include/grub/fs.h: Likewise.
40027 * include/grub/fshelp.h: Likewise.
40028 * include/grub/gzio.h: Likewise.
40029 * include/grub/hfs.h: Likewise.
40030 * include/grub/kernel.h: Likewise.
40031 * include/grub/loader.h: Likewise.
40032 * include/grub/lvm.h: Likewise.
40033 * include/grub/misc.h: Likewise.
40034 * include/grub/mm.h: Likewise.
40035 * include/grub/net.h: Likewise.
40036 * include/grub/normal.h: Likewise.
40037 * include/grub/parser.h: Likewise.
40038 * include/grub/partition.h: Likewise.
40039 * include/grub/pc_partition.h: Likewise.
40040 * include/grub/raid.h: Likewise.
40041 * include/grub/rescue.h: Likewise.
40042 * include/grub/script.h: Likewise.
40043 * include/grub/setjmp.h: Likewise.
40044 * include/grub/symbol.h: Likewise.
40045 * include/grub/term.h: Likewise.
40046 * include/grub/terminfo.h: Likewise.
40047 * include/grub/tparm.h: Likewise.
40048 * include/grub/types.h: Likewise.
40049 * include/grub/video.h: Likewise.
40050 * include/grub/efi/api.h: Likewise.
40051 * include/grub/efi/chainloader.h: Likewise.
40052 * include/grub/efi/console.h: Likewise.
40053 * include/grub/efi/console_control.h: Likewise.
40054 * include/grub/efi/disk.h: Likewise.
40055 * include/grub/efi/efi.h: Likewise.
40056 * include/grub/efi/pe32.h: Likewise.
40057 * include/grub/efi/time.h: Likewise.
40058 * include/grub/i386/linux.h: Likewise.
40059 * include/grub/i386/setjmp.h: Likewise.
40060 * include/grub/i386/types.h: Likewise.
40061 * include/grub/i386/efi/kernel.h: Likewise.
40062 * include/grub/i386/efi/loader.h: Likewise.
40063 * include/grub/i386/efi/time.h: Likewise.
40064 * include/grub/i386/pc/biosdisk.h: Likewise.
40065 * include/grub/i386/pc/boot.h: Likewise.
40066 * include/grub/i386/pc/chainloader.h: Likewise.
40067 * include/grub/i386/pc/console.h: Likewise.
40068 * include/grub/i386/pc/init.h: Likewise.
40069 * include/grub/i386/pc/kernel.h: Likewise.
40070 * include/grub/i386/pc/loader.h: Likewise.
40071 * include/grub/i386/pc/memory.h: Likewise.
40072 * include/grub/i386/pc/multiboot.h: Likewise.
40073 * include/grub/i386/pc/serial.h: Likewise.
40074 * include/grub/i386/pc/time.h: Likewise.
40075 * include/grub/i386/pc/vbe.h: Likewise.
40076 * include/grub/i386/pc/vbeblit.h: Likewise.
40077 * include/grub/i386/pc/vbefill.h: Likewise.
40078 * include/grub/i386/pc/vbeutil.h: Likewise.
40079 * include/grub/i386/pc/vga.h: Likewise.
40080 * include/grub/ieee1275/ieee1275.h: Likewise.
40081 * include/grub/ieee1275/ofdisk.h: Likewise.
40082 * include/grub/powerpc/libgcc.h: Likewise.
40083 * include/grub/powerpc/setjmp.h: Likewise.
40084 * include/grub/powerpc/types.h: Likewise.
40085 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40086 * include/grub/powerpc/ieee1275/console.h: Likewise.
40087 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40088 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40089 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40090 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40091 * include/grub/powerpc/ieee1275/time.h: Likewise.
40092 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40093 * include/grub/sparc64/libgcc.h: Likewise.
40094 * include/grub/sparc64/setjmp.h: Likewise.
40095 * include/grub/sparc64/types.h: Likewise.
40096 * include/grub/sparc64/ieee1275/console.h: Likewise.
40097 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40098 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40099 * include/grub/sparc64/ieee1275/time.h: Likewise.
40100 * include/grub/util/biosdisk.h: Likewise.
40101 * include/grub/util/getroot.h: Likewise.
40102 * include/grub/util/lvm.h: Likewise.
40103 * include/grub/util/misc.h: Likewise.
40104 * include/grub/util/raid.h: Likewise.
40105 * include/grub/util/resolve.h: Likewise.
40106 * io/gzio.c: Likewise.
40107 * kern/device.c: Likewise.
40108 * kern/disk.c: Likewise.
40109 * kern/dl.c: Likewise.
40110 * kern/elf.c: Likewise.
40111 * kern/env.c: Likewise.
40112 * kern/err.c: Likewise.
40113 * kern/file.c: Likewise.
40114 * kern/fs.c: Likewise.
40115 * kern/loader.c: Likewise.
40116 * kern/main.c: Likewise.
40117 * kern/misc.c: Likewise.
40118 * kern/mm.c: Likewise.
40119 * kern/parser.c: Likewise.
40120 * kern/partition.c: Likewise.
40121 * kern/rescue.c: Likewise.
40122 * kern/term.c: Likewise.
40123 * kern/efi/efi.c: Likewise.
40124 * kern/efi/init.c: Likewise.
40125 * kern/efi/mm.c: Likewise.
40126 * kern/i386/dl.c: Likewise.
40127 * kern/i386/efi/init.c: Likewise.
40128 * kern/i386/efi/startup.S: Likewise.
40129 * kern/i386/pc/init.c: Likewise.
40130 * kern/i386/pc/lzo1x.S: Likewise.
40131 * kern/i386/pc/startup.S: Likewise.
40132 * kern/ieee1275/ieee1275.c: Likewise.
40133 * kern/powerpc/cache.S: Likewise.
40134 * kern/powerpc/dl.c: Likewise.
40135 * kern/powerpc/ieee1275/cmain.c: Likewise.
40136 * kern/powerpc/ieee1275/crt0.S: Likewise.
40137 * kern/powerpc/ieee1275/init.c: Likewise.
40138 * kern/powerpc/ieee1275/openfw.c: Likewise.
40139 * kern/sparc64/cache.S: Likewise.
40140 * kern/sparc64/dl.c: Likewise.
40141 * kern/sparc64/ieee1275/init.c: Likewise.
40142 * kern/sparc64/ieee1275/openfw.c: Likewise.
40143 * loader/efi/chainloader.c: Likewise.
40144 * loader/efi/chainloader_normal.c: Likewise.
40145 * loader/i386/efi/linux.c: Likewise.
40146 * loader/i386/efi/linux_normal.c: Likewise.
40147 * loader/i386/pc/chainloader.c: Likewise.
40148 * loader/i386/pc/chainloader_normal.c: Likewise.
40149 * loader/i386/pc/linux.c: Likewise.
40150 * loader/i386/pc/linux_normal.c: Likewise.
40151 * loader/i386/pc/multiboot.c: Likewise.
40152 * loader/i386/pc/multiboot_normal.c: Likewise.
40153 * loader/powerpc/ieee1275/linux.c: Likewise.
40154 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40155 * normal/arg.c: Likewise.
40156 * normal/cmdline.c: Likewise.
40157 * normal/command.c: Likewise.
40158 * normal/completion.c: Likewise.
40159 * normal/execute.c: Likewise.
40160 * normal/function.c: Likewise.
40161 * normal/lexer.c: Likewise.
40162 * normal/main.c: Likewise.
40163 * normal/menu.c: Likewise.
40164 * normal/menu_entry.c: Likewise.
40165 * normal/misc.c: Likewise.
40166 * normal/parser.y: Likewise.
40167 * normal/script.c: Likewise.
40168 * normal/i386/setjmp.S: Likewise.
40169 * normal/powerpc/setjmp.S: Likewise.
40170 * normal/sparc64/setjmp.S: Likewise.
40171 * partmap/acorn.c: Likewise.
40172 * partmap/amiga.c: Likewise.
40173 * partmap/apple.c: Likewise.
40174 * partmap/gpt.c: Likewise.
40175 * partmap/pc.c: Likewise.
40176 * partmap/sun.c: Likewise.
40177 * term/gfxterm.c: Likewise.
40178 * term/terminfo.c: Likewise.
40179 * term/efi/console.c: Likewise.
40180 * term/i386/pc/console.c: Likewise.
40181 * term/i386/pc/serial.c: Likewise.
40182 * term/i386/pc/vesafb.c: Likewise.
40183 * term/i386/pc/vga.c: Likewise.
40184 * term/ieee1275/ofconsole.c: Likewise.
40185 * util/biosdisk.c: Likewise.
40186 * util/console.c: Likewise.
40187 * util/genmoddep.c: Likewise.
40188 * util/getroot.c: Likewise.
40189 * util/grub-emu.c: Likewise.
40190 * util/grub-mkdevicemap.c: Likewise.
40191 * util/grub-probe.c: Likewise.
40192 * util/lvm.c: Likewise.
40193 * util/misc.c: Likewise.
40194 * util/raid.c: Likewise.
40195 * util/resolve.c: Likewise.
40196 * util/update-grub.in: Likewise.
40197 * util/update-grub_lib.in: Likewise.
40198 * util/grub.d/00_header.in: Likewise.
40199 * util/grub.d/10_hurd.in: Likewise.
40200 * util/grub.d/10_linux.in: Likewise.
40201 * util/i386/efi/grub-install.in: Likewise.
40202 * util/i386/efi/grub-mkimage.c: Likewise.
40203 * util/i386/pc/grub-install.in: Likewise.
40204 * util/i386/pc/grub-mkimage.c: Likewise.
40205 * util/i386/pc/grub-mkrescue.in: Likewise.
40206 * util/i386/pc/grub-setup.c: Likewise.
40207 * util/i386/pc/misc.c: Likewise.
40208 * util/powerpc/ieee1275/grub-install.in: Likewise.
40209 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40210 * util/powerpc/ieee1275/misc.c: Likewise.
40211 * video/bitmap.c: Likewise.
40212 * video/video.c: Likewise.
40213 * video/i386/pc/vbe.c: Likewise.
40214 * video/i386/pc/vbeblit.c: Likewise.
40215 * video/i386/pc/vbefill.c: Likewise.
40216 * video/i386/pc/vbeutil.c: Likewise.
40217 * video/readers/tga.c: Likewise.
40218
3572d015 402192007-07-02 Robert Millan <rmh@aybabtu.com>
40220
40221 * conf/i386-efi.rmk: Replace obsolete reference to
40222 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40223 with util/getroot.c.
40224 * conf/powerpc-ieee1275.rmk: Likewise.
40225 * conf/sparc64-ieee1275.rmk: Likewise.
40226
40227 * util/grub-emu.c (main): Fix unchecked pointer handling.
40228
2c2a681b 402292007-07-02 Robert Millan <rmh@aybabtu.com>
40230
40231 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40232 invocation to fail, in order to support partition-less media.
40233
40234 * util/i386/pc/grub-install.in: Likewise.
40235
40236 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40237 which fs or partmap modules are needed (akin to its sister scripts).
40238
40239 Also use grub-probe to get rid of unportable /proc/mounts check.
40240
40241 Print the same informational message that the other scripts do, before
fe6b695a 40242 exiting.
2c2a681b 40243
6193defe 402442007-06-23 Robert Millan <rmh@aybabtu.com>
40245
fe6b695a 40246 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 40247 a font file can be found and, if so, echo the GRUB path to it.
40248
40249 * util/update-grub.in: Handle multiple terminals depending on user
40250 input, platform availability and font file presence. Propagate
40251 variables of our findings to /etc/grub.d/ children.
40252
40253 * util/grub.d/00_header.in: Handle multiple terminals, based on
40254 environment setup by update-grub.
40255
eface1dc 402562007-06-23 Robert Millan <rmh@aybabtu.com>
40257
ba50d28f 40258 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 40259
bf697e28 402602007-06-21 Robert Millan <rmh@aybabtu.com>
40261
40262 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40263 indicate end of data section in kernel image.
40264 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40265 GRUB_KERNEL_MACHINE_DATA_END.
40266
40267 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40268 space for it.
40269 * kern/i386/efi/startup.S: Likewise.
40270
40271 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40272 during image generation. Implement --prefix option to override this
40273 patch.
40274 * util/i386/efi/grub-mkimage.c: Likewise.
40275
40276 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40277 code to make path relative to its root into a separate function.
40278
40279 * util/i386/pc/grub-install.in: Use newly provided
40280 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40281 pass the result to grub-install --prefix.
40282
baa574b4 402832007-06-13 Robert Millan <rmh@aybabtu.com>
40284
40285 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40286 DEFAULT_DEVICE_MAP.
40287 * util/grub-emu.c: Use above definitions from misc.h instead of
40288 defining them.
40289 * util/grub-mkdevicemap.c: Likewise.
40290 * util/i386/pc/grub-setup.c: Likewise.
40291 * util/grub-probe.c: Likewise.
40292 (probe): Abort with grub_util_error() when either
40293 grub_guess_root_device or grub_util_get_grub_dev fails.
40294
0215dcbf 402952007-06-12 Robert Millan <rmh@aybabtu.com>
40296
40297 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40298 "pager" assignment.
40299 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40300 "pcdata".
40301 * util/grub-probe.c (probe): Likewise for "drive_name".
40302
8af2ab7b 403032007-06-11 Robert Millan <rmh@aybabtu.com>
40304
40305 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40306 not just the cdrom one.
40307
59d31694 403082007-06-11 Robert Millan <rmh@aybabtu.com>
40309
40310 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40311 Add --pkglibdir=DIR option to override pkglibdir.
40312 Mention --image-type=TYPE in help output.
40313 Fix --grub-mkimage (it was a no-op).
fe6b695a 40314 Abort gracefully when no parameter is given.
59d31694 40315
7ee367e4 403162007-06-11 Robert Millan <rmh@aybabtu.com>
40317
40318 * util/i386/pc/grub-mkrescue.in: New file.
40319 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40320 * Makefile.in: Handle bin_SCRIPTS.
40321
29b0ed46 403222007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40323
40324 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40325 list of video modes.
40326
c0f90770 403272007-06-06 Robert Millan <rmh@aybabtu.com>
40328
40329 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40330 file doesn't exist, or if it is in a filesystem grub can't read.
40331
40332 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40333 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40334 header comment to fit in 80 columns when the variables are resolved.
40335
40336 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40337 could be identified by update-grub. Remove redundant check for
fe6b695a 40338 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40339 handles that).
40340
fb36dc26 403412007-06-04 Robert Millan <rmh@aybabtu.com>
40342
40343 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40344
40345 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40346
40347 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40348
0c68c93e 403492007-06-04 Robert Millan <rmh@aybabtu.com>
40350
40351 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40352
40353 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40354 grub_apple_partition_map_fini.
40355
40356 * util/biosdisk.c
40357 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40358 to access >2 TiB disks).
40359
40360 Print disk->total_sectors with %llu instead of %lu, since this
40361 variable is always 64-bit (prevents wrong disk size from being displayed
40362 on either >2 TiB disk or big-endian CPU).
40363
40364 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40365 into a generic case that supports all (sane) partition maps.
40366
40367 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40368 breaks big-endian.
40369
40370 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40371 and grub_apple_partition_map_fini() after that.
40372
0f23eb74 403732007-06-01 Robert Millan <rmh@aybabtu.com>
40374
40375 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40376
40377 * util/grub.d/00_header.in: Only enable gfxterm when
40378 convert_system_path_to_grub_path() succeeds.
40379
42c71976 403802007-05-20 Robert Millan <rmh@aybabtu.com>
40381
40382 * util/update-grub_lib.in: New file.
40383 * DISTLIST: Add update-grub_lib.in.
40384 * conf/common.rmk: Generate update-grub_lib and install it in
40385 $(lib_DATA).
40386 * Makefile.in: Add install routine for $(lib_DATA).
40387
40388 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40389 function provided by update-grub_lib to support arbitrary paths of
40390 unifont.pff.
40391 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40392 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40393
5beb2291 403942007-05-19 Robert Millan <rmh@aybabtu.com>
40395
40396 * commands/i386/cpuid.c: New module.
40397 * DISTLIST: Add it.
40398 * conf/i386-efi.rmk: Enable cpuid.mod.
40399 * conf/i386-pc.rmk: Likewise.
40400
7262eca1 404012007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40402
40403 * kern/disk.c (grub_disk_read): Check return value of
40404 grub_realloc().
40405
260ba823 404062007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40407
40408 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40409 arrays.
40410 * disk/raid.c (grub_raid_open): Likewise.
40411
1ecb6cf2 404122007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40413
40414 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40415 stack instead of on the heap.
40416
40417 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40418 before doing a read on it.
40419
40420 * configure.ac: Only use -fno-stack-protector for the target
40421 environment.
f19dbdb7 40422
21c8cbb1 404232007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40424
40425 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40426 __attribute_ ((unused)) to mode_type argument.
40427
40428 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40429
21c8cbb1 40430 * kern/misc.c (memcmp): Fix prototype.
40431
40432 * include/grub/partition.h [GRUB_UTIL]
40433 (grub_gpt_partition_map_init): Add prototype.
40434 (grub_gpt_partition_map_fini): Likewise.
40435
40436 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40437 at the right place.
40438
40439 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40440 (grub_fat_read_data): Likewise.
40441 (grub_fat_find_dir): Likewise.
40442
40443 * font/manager.c (find_glyph): Make table a const.
40444 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40445
849d55d3 404462007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40447
40448 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40449 code, first search for device in /dev/mapper, then in /dev.
40450 (grub_util_get_grub_dev): New function.
40451 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40452 prototype.
40453 * util/grub-probe.c (probe): Remove check for RAID, call
40454 grub_util_get_grub_dev() instead of
40455 grub_util_biosdisk_get_grub_dev().
40456 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40457 grub_util_biosdisk_get_grub_dev().
40458 * util/i386/pc/grub-setup.c (main): Likewise.
40459
8fff7c2f 404602007-05-16 Robert Millan <rmh@aybabtu.com>
40461
40462 * DISTLIST: Update for the latest changes.
40463 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40464 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40465 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40466 grub/util/biosdisk.h.
40467 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40468 grub/util/biosdisk.h.
40469
48e12b52 404702007-05-16 Robert Millan <rmh@aybabtu.com>
40471
40472 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40473
46b9d128 404742007-05-16 Robert Millan <rmh@aybabtu.com>
40475
40476 * util/i386/efi/grub-install.in: New.
40477 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40478 newly added grub-install.
40479 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40480 include.
40481 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40482 grub/util/biosdisk.h.
40483 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40484 grub/util/biosdisk.h.
40485
2d1a40a9 404862007-05-16 Robert Millan <rmh@aybabtu.com>
40487
40488 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40489 * include/grub/util/biosdisk.h: ... here.
40490 * util/i386/pc/biosdisk.c: Moved to ...
40491 * util/biosdisk.c: ... here.
40492 * util/i386/pc/getroot.c: Moved to ...
40493 * util/getroot.c: ... here.
40494 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40495 * util/grub-mkdevicemap.c: ... here.
40496 * util/i386/pc/grub-probe.c: Moved to ...
40497 * util/grub-probe.c: ... here.
40498
9e26e3bc 404992007-05-15 Robert Millan <rmh@aybabtu.com>
40500
40501 * util/update-grub.in: Remove duplicated line in grub.cfg header
40502 message.
40503
57f96397 405042007-05-13 Robert Millan <rmh@aybabtu.com>
40505
40506 * util/update-grub.in: Fix a few assumptions about the devices holding
40507 /, /boot and /boot/grub being the same.
40508 * util/grub.d/00_header.in: Likewise.
40509 * util/grub.d/10_hurd.in: Likewise.
40510 * util/grub.d/10_linux.in: Likewise.
40511
40512 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40513 patterns. Use that to define the `.old' suffix as older than `'.
40514
40515 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40516
40517 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40518 the grub.cfg header message.
40519
2e610d62 405202007-05-11 Robert Millan <rmh@aybabtu.com>
40521
40522 * util/update-grub.in: Create device.map if it doesn't already exist,
40523 before attempting to run grub-probe.
40524 Check for grub-probe and grub-mkdevicemap with the same code
40525 grub-install is using.
40526 Remove test mode.
40527
3f6a10ef 405282007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40529
40530 * Makefile.in: Add the datarootdir autoconf variable.
40531
02e7b75e 405322007-05-09 Robert Millan <rmh@aybabtu.com>
40533
40534 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40535 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40536
75f396cc 405372007-05-07 Robert Millan <rmh@aybabtu.com>
40538
40539 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40540 determine partition map module.
40541 * util/i386/pc/grub-install.in: Use this feature to decide which
40542 partition module to load, instead of hardcoding pc and gpt.
40543
da65cb36 405442007-05-07 Robert Millan <rmh@aybabtu.com>
40545
40546 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40547 source directory differs from build directory.
40548
b57d6a91 405492007-05-05 Robert Millan <rmh@aybabtu.com>
40550
40551 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40552 initialisation.
40553
509d00f1 405542007-05-05 Robert Millan <rmh@aybabtu.com>
40555
40556 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40557
c48f23ef 405582007-05-05 Robert Millan <rmh@aybabtu.com>
40559
40560 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40561 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40562
20b97658 405632007-05-05 Robert Millan <rmh@aybabtu.com>
40564
40565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40566 (grub_probe_SOURCES): Likewise.
40567 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40568 GPT and initialize dos_part and bsd_part accordingly.
40569 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40570 install_bsd_part.
40571 (main): Activate gpt module for use during partition identification,
40572 and deactivate it afterwards.
40573 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40574 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40575 partition identification, and deactivate it afterwards.
40576
99123174 405772007-05-05 Robert Millan <rmh@aybabtu.com>
40578
40579 * term/i386/pc/console.c (grub_console_fini): Call
40580 grub_term_set_current() before grub_term_unregister().
40581
ebd97f6e 405822007-05-04 Robert Millan <rmh@aybabtu.com>
40583
40584 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40585 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40586 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40587 and update-grub_DATA.
40588 * conf/common.rmk: Build and install update-grub components.
40589 * conf/common.mk: Regenerate.
40590 * util/update-grub.in: New. Core of update-grub.
40591 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40592 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40593 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40594 * util/grub.d/README: New. Document grub.d directory layout.
40595
b06a264d 405962007-05-01 Robert Millan <rmh@aybabtu.com>
40597
40598 * util/grub-emu.c: Move initialization functions
40599 grub_util_biosdisk_init() and grub_init_all() before
40600 grub_util_biosdisk_get_grub_dev(), which relies on them.
40601
41f0050e 406022007-04-19 Robert Millan <rmh@aybabtu.com>
40603
40604 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40605 it is used later.
40606
04582bb3 406072007-04-18 Jerone Young <jerone@gmail.com>
40608
f19dbdb7 40609 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40610 stanza.
40611
08db4632 406122007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40613
08db4632 40614 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40615 continue on and look for device node with real device name.
40616
801b76be 406172007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40618
fe6b695a 40619 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40620 ability.
40621 * Makefile.in: Add autoconf package transformation code.
40622 * util/i386/pc/grub-install.in: Likewise.
40623 * util/powerpc/ieee1275/grub-install.in: Likewise.
40624
6795c4e1 406252007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40626
40627 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40628 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40629 (EXT2_REVISION): Likewise.
40630 (EXT2_INODE_SIZE): Likewise.
40631 (struct grub_ext2_block_group): Added a missing member
40632 "used_dirs".
40633 (grub_ext2_read_inode): Divide by the inode size in a superblock
40634 instead of 128 to obtain INODES_PER_BLOCK.
40635 Use the macro EXT2_INODE_SIZE instead of directly using
40636 SBLOCK->INODE_SIZE.
40637
d70af616 406382007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40639
40640 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40641 superblock instead of the structure size to compute an
40642 offset. This fixes the problem that GRUB could not read a
40643 filesystem when inode size is different from 128-byte.
40644
3b801603 406452007-03-05 Marco Gerards <marco@gnu.org>
40646
40647 * normal/main.c (read_config_file): When "menu" is not set, create
40648 an initial context.
40649
4785bfe4 406502007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40651
40652 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40653 (HEAP_LIMIT): New macro.
40654 (grub_claim_heap): Claim memory up to `heaplimit'.
40655
a0cbb023 406562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40657
40658 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40659 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40660 (_start): Likewise.
40661 (grub_arch_modules_addr): Return address after `_end'.
40662 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40663 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40664 (add_segments): Calculate `_end' from phdr size and location.
40665 (ALIGN_UP): Moved to ...
40666 * include/grub/misc.h: here.
40667 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40668 New macro.
40669 (GRUB_IEEE1275_MODULE_BASE): Removed.
40670
fd7d8eba 406712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40672
40673 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40674 loop boundary.
40675
9b09e6fc 406762007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40677
40678 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40679 All users updated.
40680 (grub_elf64_load_hook_t): Likewise.
40681 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40682 debug output.
40683
3ce27299 406842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40685
40686 * kern/mm.c: Update copyright.
40687 (grub_mm_debug): Correct syntax error.
40688 (grub_mm_dump_free): New function.
40689 (grub_debug_free): Call `grub_free'.
40690 * include/grub/mm.h: Update copyright.
40691 (grub_mm_dump_free): Add declaration.
40692
077d5fee 406932007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40694
40695 * include/grub/ieee1275/ieee1275.h: Update copyright.
40696 * kern/powerpc/ieee1275/init.c: Likewise.
40697 * kern/powerpc/ieee1275/openfw.c: Likewise.
40698
40699 * loader/powerpc/ieee1275/linux.c: Likewise.
40700 * include/grub/elfload.h: Likewise.
40701 * kern/elf.c: Likewise.
40702 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40703 callers.
40704 (grub_elf64_load): Likewise.
40705 (grub_elf32_load_segment): Move to a nested function.
40706 (grub_elf64_load_segment): Likewise.
40707
dc946850 407082007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40709
40710 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40711 prototype.
40712 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40713 (grub_heap_len): Likewise.
40714 (HEAP_SIZE): New macro.
40715 (grub_claim_heap): New function.
40716 (grub_machine_init): Don't claim heap directly. Call
40717 `grub_claim_heap'.
40718 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40719 (grub_available_iterate): New function.
40720
baa2a121 407212007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40722
40723 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40724 * configure.ac: Use it for testing the HOST and TARGET compilers.
40725
4fe9862e 407262006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40727
40728 * Makefile.in (enable_grub_emu): New variable.
40729 * configure.ac (--enable-grub-emu): New option.
40730 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40731 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40732 * conf/i386-pc.rmk: Likewise.
40733 * conf/powerpc-ieee1275.rmk: Likewise.
40734 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40735
a8aa5762 407362006-12-12 Marco Gerards <marco@gnu.org>
40737
40738 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40739
40740 * kern/env.c (grub_env_unset): Don't free the member `value' when
40741 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40742 pointer.
40743
40744 * normal/main.c (current_menu): Removed.
40745 (free_menu): Unset the `menu' environment variable.
40746 (grub_normal_menu_addentry): Make use of the environment variable
40747 `menu', instead of using the global `current_menu'. Allocate
40748 memory for the sourcecode of this entry.
40749 (read_config_file): New argument `nested', changed all callers.
40750 Only in the case of a new context, initialize a new menu. Set the
40751 `menu' environment variable.
40752 (grub_normal_execute): Don't set and unset the environment
40753 variable `menu' here anymore. Only free the menu when leaving the
40754 context.
40755
40756 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40757 leak.
40758
957b3a3e 407592006-12-11 Marco Gerards <marco@gnu.org>
40760
40761 * normal/menu_entry.c (run): Fix off by one bug so the last line
40762 is executed. Move the loader check to outside the loop.
40763
ef875714 407642006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40765
40766 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40767
4e739985 407682006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40769
40770 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40771 the number of sectors. Reported by Andrey Shuvikov
40772 <mr_hyro@yahoo.com>.
f19dbdb7 40773
790707f2 407742006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40775
40776 * kern/disk.c (grub_disk_read): When there is a read error, always
40777 try to read only the necessary data.
f19dbdb7 40778
790707f2 40779 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40780 disk/raid.c.
40781 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40782 prototype.
40783 [GRUB_UTIL] (grub_raid_fini): Likewise.
40784 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40785 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40786 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40787 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40788 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40789 and grub_raid_fini().
f19dbdb7 40790
03e58196 407912006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40792
40793 * include/grub/types.h (__unused): Rename to UNUSED.
40794 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40795 (grub_elf64_size): Likewise.
f19dbdb7 40796
ae4f23bf 407972006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40798
40799 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40800 grub_error_push and grub_error_pop in the error-handling path.
40801 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40802 length.
40803
2166cc83 408042006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40805
40806 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40807 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40809 (kernel_elf_SOURCES): Likewise.
40810 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40811 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40812 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40813 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40814 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40815 (elf_mod_SOURCES): New variable.
40816 (elf_mod_CFLAGS): Likewise.
40817 (elf_mod_LDFLAGS): Likewise.
40818 * include/grub/types.h (__unused): New macro.
40819 * include/grub/elfload.h: New file.
40820 * kern/elf.c: Likewise.
40821 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40822 (ELF32_LOADMASK): New macro.
40823 (ELF64_LOADMASK): Likewise.
40824 (vmlinux): Removed.
40825 (grub_linux_load32): New function.
40826 (grub_linux_load64): Likewise.
40827 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40828 Use grub_elf_t instead of grub_file_t.
40829
a09d5aa5 408302006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40831
40832 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40833 `catch_result' to struct set_color_args.
40834
d976fc51 408352006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40836
40837 * normal/menu.c: Include grub/script.h.
40838 * normal/menu_entry.c: Likewise.
40839 * include/grub/normal.h: Do not include grub/script.h.
40840
67507549 408412006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40842
40843 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40844
69203a99 408452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40846
40847 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40848 disk.
40849 (grub_disk_close): Print debug messages when closing a disk.
40850 (grub_disk_read): Print debug messages when disk read fails.
40851 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40852 filesystem type.
40853 * kern/partition.c: Include misc.h.
40854 (grub_partition_iterate): Print debug messages when detecting
40855 partition type.
40856
e2b8278c 408572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40858
40859 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40860 is negative.
40861 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40862
97b2f2ff 408632006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40864
40865 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40866 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40867
6555d655 408682006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40869
40870 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40871 instead of sizeof(lv). Patch by Michael Guntsche.
40872
4d42b77f 408732006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40874
40875 * disk/lvm.c: Rename VGS to VG_LIST.
40876 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40877 (grub_lvm_open): Likewise.
40878 Thanks to Michael Guntsche for finding this bug.
40879
5d74d927 408802006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40881
40882 * configure.ac (AC_INIT): Bumped to 1.95.
40883
a1bb27e4 408842006-10-14 Robert Millan <rmh@aybabtu.com>
40885
40886 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40887 with "/dev/.static/dev/md".
40888
e0994b8b 408892006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40890
40891 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40892 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40893 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40894 DRIVE_NAME are always freed.
40895
40896 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40897 DOS_PART, as a DOS partition is counted from one instead of zero
40898 now. Reported by Robert Millan.
40899
ddd5cee9 409002006-10-14 Robert Millan <rmh@aybabtu.com>
40901
40902 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40903 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40904 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40905 string returned by grub_guess_root_device.
40906 * util/i386/pc/grub-setup.c: Likewise.
40907 * util/i386/pc/grub-probefs.c: Likewise.
40908
40909 * util/i386/pc/grub-probefs.c: Rename to ...
40910 * util/i386/pc/grub-probe.c: ... this.
40911 * DISTLIST: Remove grub-probefs, add grub-probe.
40912 * conf/i386-efi.rmk: Likewise.
40913 * conf/i386-pc.rmk: Likewise.
40914 * util/i386/pc/grub-install.in: Likewise.
40915
40916 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40917 choose which information we want to print.
40918
2b002173 409192006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40920
40921 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40922 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40923 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40924 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40925 video/readers/tga.c and video/i386/pc/vbeutil.c.
40926
409272006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40928
40929 Added support for RAID and LVM.
f19dbdb7 40930
2b002173 40931 * disk/lvm.c: New file.
40932 * disk/raid.c: Likewise.
40933 * include/grub/lvm.h: Likewise.
f19dbdb7 40934 * include/grub/raid.h: Likewise.
2b002173 40935 * include/grub/util/lvm.h: Likewise.
40936 * include/grub/util/raid.h: Likewise.
40937 * util/lvm.c: Likewise.
40938 * util/raid.c: Likewise.
40939
40940 * include/grub/disk.h (grub_disk_dev_id): Add
40941 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40942 (grub_disk_get_size): New prototype.
40943 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40944 returns a partition.
40945 (grub_disk_get_size): New function.
f19dbdb7 40946
2b002173 40947 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40948 verbatim if grub_install_dos_part is -2.
40949
40950 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40951 and LVM devices.
40952
40953 * util/i386/pc/grub-setup.c (setup): New argument
40954 MUST_EMBED. Force embedding of GRUB when the argument is
40955 true. Close FILE before returning.
40956 (main): Add support for RAID and LVM.
f19dbdb7 40957
2b002173 40958 * conf/common.rmk: Add RAID and LVM modules.
40959 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40960 util/lvm.c.
40961 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40962
40963 * kern/misc.c (grub_strstr): New function.
40964 * include/grub/misc.h (grub_strstr): New prototype.
40965
050548d0 409662006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40967
40968 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40969
da849d2d 409702006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40971
40972 * kern/misc.c (grub_strtoull): Guess the base only if not
40973 specified.
40974
97b2f2ff 409752006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40976
40977 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40978 PowerMac support.
40979
97b2f2ff 409802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40981
40982 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40983
40984 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40985 Remove `flags' argument. All callers changed.
40986 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40987 (IEEE1275_IHANDLE_INVALID): New variable.
40988 (IEEE1275_CELL_INVALID): New variable.
40989 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40990 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40991 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40992 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40993 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40994 codes from Open Firmware. All callers updated.
40995 (grub_ieee1275_next_property): Directly return Open Firmware return
40996 code.
40997 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40998 Standardize error checking from `grub_ieee1275_get_property'.
40999 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41000 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41001
97b2f2ff 410022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 41003
41004 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41005 `instance_to_package_args' to `instance_to_path_args'.
41006
41007 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41008 `grub_ieee1275_chosen'.
41009
41010 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41011 `grub_ieee1275_interpret'.
41012
97b2f2ff 410132006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 41014
41015 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41016
97b2f2ff 410172006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 41018
41019 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41020 (__cmpdi): Likewise.
41021
41022 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41023 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41024 `grub_ssize_t'.
41025
02bb8acc 41026 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 41027
41028 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41029 to type `grub_ssize_t'.
41030 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41031
7f9a8531 410322006-09-22 Marco Gerards <marco@gnu.org>
41033
41034 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41035 newlines.
41036
b5ef1102 410372006-09-22 Marco Gerards <marco@gnu.org>
41038
41039 * commands/echo.c: New file.
41040
41041 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41042
41043 * conf/common.rmk (echo_mod_SOURCES): New variable.
41044 (echo_mod_CFLAGS): Likewise.
41045 (echo_mod_LDFLAGS): Likewise.
41046
2cff3677 410472006-09-22 Marco Gerards <marco@gnu.org>
41048
41049 * normal/main.c (get_line): Malloc memory instead of using
41050 preallocated memory. Removed the arguments `cmdline' and
41051 `max_len'. Updated all callers.
41052
6ba4688b 410532006-09-22 Marco Gerards <marco@gnu.org>
41054
41055 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41056 (normal_mod_DEPENDENCIES): Likewise.
41057
41058 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41059 (normal_mod_DEPENDENCIES): Likewise.
41060
41061 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41062
e02ac02c 410632006-09-22 Johan Rydberg <jrydberg@gnu.org>
41064
41065 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41066 programs.
41067 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41068 (normal_mod_DEPENDENCIES): Likewise.
41069 * conf/i386-pc.mk: Regenerate.
41070 * conf/i386-efi.mk: Likewise
41071 * conf/common.mk: Likewise.
41072 * conf/powerpc-ieee1275.mk: Likewise.
41073 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41074
8d252e44 410752006-09-22 Robert Millan <rmh@aybabtu.com>
41076
41077 Sync with i386 version.
41078 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41079 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41080
209bf7ac 410812006-09-21 Robert Millan <rmh@aybabtu.com>
41082
41083 Import from GRUB Legacy (lib/device.c):
41084 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41085 (init_device_map) [__linux__]: Add support for I2O devices.
41086
6b146090 410872006-09-14 Marco Gerards <marco@gnu.org>
41088
41089 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41090 `-melf_i386'.
41091
e38600a8 410922006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 41093
41094 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41095 /boot/grub/*.lst.
78fa1790 41096
2952da5d 41097 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 41098
2952da5d 41099 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41100 before adding it to device.map.
41101
01b82a64 411022006-08-15 Johan Rydberg <jrydberg@gnu.org>
41103
fe6b695a 41104 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 41105 compiles a file; using the -MD option.
41106 * conf/common.mk: Regenerate.
41107 * conf/i386-pc.mk: Likewise.
41108 * conf/i386-efi.mk: Likewise.
41109 * conf/powerpc-ieee1275.mk: Likewise.
41110 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41111
1064790d 411122006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41113
41114 Move the prototypes of grub_setjmp and grub_longjmp to
41115 cpu/setjmp.h, so that each architecture may specify different
41116 attributes.
f19dbdb7 41117
1064790d 41118 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41119 (grub_longjmp): Likewise.
41120 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41121 (grub_longjmp): Likewise.
41122 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41123 (grub_longjmp): Likewise.
41124
41125 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41126 [!GRUB_UTIL] (grub_longjmp): Removed.
41127
29dda3ed 411282006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41129
41130 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41131 "color!" method does not return any value.
41132
ad2a06ed 411332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41134
41135 * include/grub/bitmap.h: New file.
41136
41137 * include/grub/i386/pc/vbeutil.h: Likewise.
41138
41139 * video/bitmap.c: Likewise.
41140
41141 * video/readers/tga.c: Likewise.
41142
41143 * video/i386/pc/vbeutil.c: Likewise.
41144
41145 * commands/videotest.c: Code cleanup and updated to reflect to new
41146 video API.
41147
41148 * term/gfxterm.c: Likewise.
41149
41150 * video/video.c: Likewise.
41151
41152 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41153 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41154 (bitmap_mod_SOURCES): New entry.
41155 (bitmap_mod_CFLAGS): Likewise.
41156 (bitmap_mod_LDFLAGS): Likewise.
41157 (tga_mod_SOURCES): Likewise.
41158 (tga_mod_CFLAGS): Likewise.
41159 (tga_mod_LDFLAGS): Likewise.
41160
41161 * include/grub/video.h (grub_video_blit_operators): New enum type.
41162 (grub_video_render_target): Changed as forward declaration and moved
41163 actual definition to be video driver specific.
41164 (grub_video_adapter.blit_bitmap): Added blitting operator.
41165 (grub_video_adapter.blit_render_target): Likewise.
41166 (grub_video_blit_bitmap): Likewise.
41167 (grub_video_blit_render_target): Likewise.
41168
41169 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41170 driver specific render target definition.
41171 (grub_video_vbe_map_rgba): Added driver internal helper.
41172 (grub_video_vbe_unmap_color): Updated to use
41173 grub_video_i386_vbeblit_info.
41174 (grub_video_vbe_get_video_ptr): Likewise.
41175
41176 * include/grub/i386/pc/vbeblit.h
41177 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41178 grub_video_i386_vbeblit_info.
41179 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41180 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41181 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41182 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41183 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41184 (grub_video_i386_vbeblit_index_index): Likewise.
41185 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41186 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41187 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41188 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41189 operator.
41190 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41191 operator.
41192
41193 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41194 include/grub/i386/pc/vbeblit.h.
41195
41196 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41197 Updated to use grub_video_i386_vbeblit_info.
41198 (grub_video_i386_vbefill_R8G8B8): Likewise.
41199 (grub_video_i386_vbefill_index): Likewise.
41200 (grub_video_i386_vbefill): Added generic filler.
41201
41202 * video/i386/pc/vbefill.c: Updated to reflect changes on
41203 include/grub/i386/pc/vbefill.h.
41204
41205 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41206 grub_video_i386_vbeblit_info.
41207 (grub_video_vbe_unmap_color): Likewise.
41208 (grub_video_vbe_blit_glyph): Likewise.
41209 (grub_video_vbe_scroll): Likewise.
41210 (grub_video_vbe_draw_pixel): Removed function.
41211 (grub_video_vbe_get_pixel): Likewise.
41212 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41213 updated code to use it.
41214 (common_blitter): Added common blitter for render target and bitmap.
41215 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41216 (grub_video_vbe_blit_render_target): Likewise.
41217
bc8c036d 412182006-07-30 Johan Rydberg <jrydberg@gnu.org>
41219
41220 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41221 is in text mode if there is no console control protocol instance
41222 available.
41223
684a8eff 412242006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41225
41226 * include/grub/video.h: Code cleanup.
41227
41228 * include/grub/i386/pc/vbe.h: Likewise.
41229
41230 * video/i386/pc/vbe.c: Likewise.
41231
41232 * video/i386/pc/vbeblit.c: Likewise.
41233
41234 * video/i386/pc/vbefill.c: Likewise.
41235
41236 * video/video.c: Likewise. Also added more comments.
41237
5915059b 412382006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41239
41240 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41241 (struct grub_biosdisk_dap): Likewise.
41242
41243 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41244 linkage settings for all functions.
41245
90ce5d56 412462006-07-12 Marco Gerards <marco@gnu.org>
41247
41248 * configure.ac (--enable-mm-debug): Fix typo.
41249
41250 * genkernsyms.sh.in: Use proper quoting for `CC'.
41251
43e7f879 412522006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41253
41254 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41255 (normal_mod_ASFLAGS): Remove "-m32".
41256
4889bdec 412572006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41258
41259 * util/misc.c: Include config.h.
41260 [!HAVE_MEMALIGN]: Do not include malloc.h.
41261 (grub_memalign): Use posix_memalign, if present. Then, use
41262 memalign, if present. Otherwise, emit an error.
41263
41264 * util/grub-emu.c: Do not include malloc.h.
41265
41266 * include/grub/util/misc.h: Include unistd.h. This is required for
41267 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41268 D. Eades III <hde@foobar-qux.org>.
41269
41270 * configure.ac (AC_GNU_SOURCE): Added.
41271 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41272 type.
41273
fd39d4da 412742006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41275
41276 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41277 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41278
b786f3b5 412792006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41280
41281 * include/grub/types.h (grub_host_addr_t): Rename to
41282 grub_target_addr_t.
41283 (grub_host_off_t): Rename to grub_target_off_t.
41284 (grub_host_size_t): Rename to grub_target_size_t.
41285 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41286 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41287
41288 * include/grub/kernel.h (struct grub_module_header): Change type
41289 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41290 (grub_module_info): Likewise.
f19dbdb7 41291
051988bb 412922006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41293
41294 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41295 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41296 Velazquez <jesus.velazquez@gmail.com>.
41297
deae281b 412982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41299
41300 Count partitions from 1 instead of 0 in the string representation
41301 of partitions. Still use 0-based internally.
f19dbdb7 41302
deae281b 41303 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41304 (sun_partition_map_iterate): Use grub_partition_t instead of
41305 struct grub_partition *. Cast DESC->START_CYLINDER to
41306 grub_uint64_t after converting the endian.
41307 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41308 (sun_partition_map_get_name): Add 1 to P->INDEX.
41309
41310 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41311 PCDATA->DOS_PART.
41312 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41313
41314 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41315 zero instead of one.
41316 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41317 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41318
41319 * partmap/apple.c (apple_partition_map_iterate): Change the type
41320 of POS to unsigned.
41321 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41322 (apple_partition_map_get_name): Add 1 into P->INDEX.
41323
41324 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41325 of POS to unsigned.
41326 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41327 calculate the offset of a partition.
41328 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41329 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41330
41331 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41332 SECTOR to grub_disk_addr_t.
41333 (acorn_partition_map_iterate): Likewise.
41334 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41335 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41336 top.
41337 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41338
41339 * kern/i386/pc/init.c (make_install_device): Add 1 into
41340 GRUB_INSTALL_DOS_PART.
41341
41342 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41343 conditional.
41344
524a1e6a 413452006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41346
41347 Clean up the code to support 64-bit addressing in disks and
41348 files. This change is not enough for filesystems yet.
f19dbdb7 41349
524a1e6a 41350 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41351 type of "start" to grub_uint64_t.
41352 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41353 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41354 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41355 convert addresses.
41356
41357 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41358 to grub_disk_addr_t.
41359
41360 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41361 string.
41362
41363 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41364
41365 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41366 to char *.
41367
41368 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41369
41370 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41371
41372 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41373
41374 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41375 to grub_off_t, to detect an error from grub_file_seek.
41376 (grub_multiboot_load_elf32): Likewise.
41377
41378 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41379 maximum unsigned long value when an overflow is detected.
41380 (grub_strtoull): New function.
41381 (grub_divmod64): Likewise.
41382 (grub_lltoa): use grub_divmod64.
41383
41384 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41385 grub_disk_addr_t.
41386 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41387 the pointer to next character. Use grub_strtoull instead of
41388 grub_strtoul.
41389 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41390 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41391 respectively.
41392
fe6b695a 41393 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41394 return value is signed.
41395 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41396 test if OFFSET is less than zero, as OFFSET is unsigned now.
41397
41398 * kern/disk.c (struct grub_disk_cache): Change the type of
41399 "sector" to grub_disk_addr_t.
41400 (grub_disk_cache_get_index): Change the type of SECTOR to
41401 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41402 unsigned after shifting.
41403 (grub_disk_cache_invalidate): Change the type of SECTOR to
41404 grub_disk_addr_t.
41405 (grub_disk_cache_unlock): Likewise.
41406 (grub_disk_cache_store): Likewise.
41407 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41408 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41409 grub_disk_addr_t and grub_uint64_t, respectively.
41410 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41411 body, as the value of OFFSET is tweaked by
41412 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41413 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41414 respectively.
41415 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41416 body, as the value of OFFSET is tweaked by
41417 grub_disk_check_range. Change the types of LEN and N to
41418 grub_size_t.
41419
41420 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41421 and "saved_offset" to grub_off_t.
41422 (test_header): Cast BUF to char *.
41423 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41424 to char *.
41425 (grub_gzio_read): Change the types of OFFSET and SIZE to
41426 grub_off_t and grub_size_t, respectively.
41427
41428 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41429 Removed.
41430 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41431 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41432 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41433 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41434 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41435
41436 * include/grub/types.h (grub_off_t): Unconditionally set to
41437 grub_uint64_t.
41438 (grub_disk_addr_t): Changed to grub_uint64_t.
41439
41440 * include/grub/partition.h (struct grub_partition): Change the
41441 types of "start", "len" and "offset" to grub_disk_addr_t,
41442 grub_uint64_t and grub_disk_addr_t, respectively.
41443 (grub_partition_get_start): Return grub_disk_addr_t.
41444 (grub_partition_get_len): Return grub_uint64_t.
41445
41446 * include/grub/misc.h (grub_strtoull): New prototype.
41447 (grub_divmod64): Likewise.
41448
41449 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41450 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41451 grub_off_t, respectively.
41452 All callers and references changed.
41453
41454 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41455 grub_size_t in "read".
41456 All callers and references changed.
41457
41458 * include/grub/file.h (struct grub_file): Change the types of
41459 "offset" and "size" to grub_off_t and grub_off_t,
41460 respectively. Change the type of SECTOR to grub_disk_addr_t in
41461 "read_hook".
41462 (grub_file_read): Change the type of LEN to grub_size_t.
41463 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41464 grub_off_t.
41465 (grub_file_size): Return grub_off_t.
41466 (grub_file_tell): Likewise.
41467 All callers and references changed.
41468
41469 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41470 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41471 "write".
41472 (struct grub_disk): Change the type of "total_sectors" to
41473 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41474 "read_hook".
524a1e6a 41475 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41476 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41477 (grub_disk_write): Likewise.
41478 All callers and references changed.
41479
41480 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41481 char * for grub_strncmp to silence gcc.
41482 (grub_iso9660_mount): Likewise.
41483 (grub_iso9660_mount): Likewise.
41484 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41485 return statement.
41486 (grub_iso9660_iterate_dir): Likewise.
41487 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41488
41489 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41490 LEN to grub_disk_addr_t and grub_size_t, respectively.
41491
41492 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41493
41494 * fs/jfs.c (grub_jfs_read_file): Likewise.
41495
41496 * fs/minix.c (grub_jfs_read_file): Likewise.
41497
41498 * fs/sfs.c (grub_jfs_read_file): Likewise.
41499
41500 * fs/ufs.c (grub_jfs_read_file): Likewise.
41501
41502 * fs/xfs.c (grub_jfs_read_file): Likewise.
41503
41504 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41505 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41506 respectively.
41507
41508 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41509 BLKNR to -1 instead of returning GRUB_ERRNO.
41510 (grub_ext2_read_file): Change the types of SECTOR and
41511 LEN to grub_disk_addr_t and grub_size_t, respectively.
41512
41513 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41514 LEN to grub_disk_addr_t and grub_size_t, respectively.
41515
41516 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41517 grub_file_read.
41518
41519 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41520 string. Do not cast SECTOR explicitly.
41521
41522 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41523 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41524 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41525 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41526 over 2TB and LBA mode is not supported, raise an error.
41527 (get_safe_sectors): New function.
41528 (grub_biosdisk_read): Use get_safe_sectors.
41529 (grub_biosdisk_write): Likewise.
41530
41531 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41532 (grub_efidisk_write): Likewise.
41533
41534 * disk/loopback.c (delete_loopback): Cosmetic changes.
41535 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41536 correctly.
41537 (grub_loopback_open): Likewise.
41538 (grub_loopback_read): Likewise. Also, change the type of POS to
41539 grub_off_t, and fix the usage of grub_memset.
41540
41541 * commands/i386/pc/play.c: Include grub/machine/time.h.
41542
41543 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41544 print FILE->SIZE.
41545
41546 * commands/configfile.c: Include grub/env.h.
41547
41548 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41549 GRUB_ERRNO directly instead. Change the type of POS to
41550 grub_off_t. Follow the coding standard.
41551
41552 * commands/blocklist.c: Include grub/partition.h.
41553 (grub_cmd_blocklist): Return an error if the underlying device is
41554 not a disk. Take the starting sector of a partition into account,
41555 if a partition is used.
41556
41557 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41558 a length field.
41559 (lba_mode): Support 64-bit addresses.
41560 (chs_mode): Likewise.
41561 (copy_buffer): Adapted to the new offsets of a length field and a
41562 segment field.
41563 (blocklist_default_start): Allocate 64-bit space.
41564
41565 * boot/i386/pc/boot.S (force_lba): Removed.
41566 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41567 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41568 space.
41569 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41570 is useless.
41571 (lba_mode): Refactored to support a 64-bit address. More size
41572 optimization.
41573 (setup_sectors): Likewise.
41574
53af98ad 415752006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41576
41577 * DISTLIST: Added include/grub/i386/linux.h. Removed
41578 include/grub/i386/pc/linux.h
41579
41580 * configure.ac (AC_INIT): Bumped to 1.94.
41581
41582 * config.guess: Updated from gnulib.
41583 * config.sub: Likewise.
41584 * install-sh: Likewise.
41585 * mkinstalldirs: Likewise.
41586
b4c1940a 415872006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41588
41589 * conf/common.rmk (grub_modules_init.lst): Depended on
41590 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41591 MODSRCFILES.
41592
41593 * genmk.rb (PModule::rule): Reverted the previous change.
41594
cfca1cfd 415952006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41596
41597 * conf/common.rmk (grub_modules_init.lst): Depends on
41598 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41599 that the target does not exist before producing.
41600 (grub_modules_init.h): Remove the target before generating.
41601 (grub_emu_init.c): Likewise.
41602
41603 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41604
aa6d7826 416052006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41606
41607 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41608 for the target-specific tests. Make sure that we also have the
41609 up-to-date target variables for those tests.
41610
26c607b9 416112006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41612
41613 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41614 (PModule::rule): Likewise.
41615
0162321a 416162006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41617
41618 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41619 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41620 target-specific flags should be prefixed.
41621 (PModule::rule): Likewise.
41622
6c826348 416232006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41624
41625 * configure.ac (CMP): Check if cmp is available explicitly.
41626
b977bf01 416272006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41628
41629 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41630 (target_cpu): New variable.
41631 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41632
b977bf01 41633 * util/i386/pc/grub-install.in (host_cpu): Removed.
41634 (target_cpu): New variable.
41635 (pkglibdir): Use target_cpu instead of host_cpu.
41636
41637 * util/genmoddep.c: Removed.
f19dbdb7 41638
b977bf01 41639 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41640 instead of GRUB_HOST_SIZEOF_VOID_P.
41641 * kern/dl.c: Likewise.
41642
41643 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41644 ...
41645 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41646 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41647 (GRUB_TARGET_SIZEOF_LONG): ... this.
41648 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41649 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41650 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41651 to ...
41652 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41653 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41654 (GRUB_TARGET_SIZEOF_LONG): ... this.
41655 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41656 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41657 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41658 to ...
41659 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41660 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41661 (GRUB_TARGET_SIZEOF_LONG): ... this.
41662 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41663 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41664
41665 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41666 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41667 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41668 instead of GRUB_HOST_SIZEOF_LONG.
41669 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41670 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41671 GRUB_CPU_WORDS_BIGENDIAN.
41672 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41673 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41674 grub_host_ssize_t.
41675
41676 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41677 (genmoddep_SOURCES): Likewise.
41678 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41679 (genmoddep_SOURCES): Likewise.
41680 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41681 (genmoddep_SOURCES): Likewise.
41682 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41683 Likewise.
41684 (genmoddep_SOURCES): Likewise.
41685
41686 * genmoddep.awk: New file.
41687
41688 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41689 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41690 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41691 (PModule::rule): Likewise.
41692 (Program::rule): Likewise.
41693 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41694 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41695 respectively.
41696
41697 * configure.ac: Rewritten intensively to use host and target
41698 instead of build and host, respectively.
41699
41700 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41701 (host_cpu): Removed.
41702 (target_cpu): New variable.
41703 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41704 (BUILD_CC): Removed.
41705 (BUILD_CFLAGS): Likewise.
41706 (BUILD_CPPFLAGS): Likewise.
41707 (TARGET_CC): New variable.
41708 (TARGET_CFLAGS): Likewise.
41709 (TARGET_CPPFLAGS): Likewise.
41710 (TARGET_LDFLAGS): Likewise.
41711 (AWK): Likewise.
41712 (include): Use target_cpu instead of host_cpu.
41713 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41714
b977bf01 41715 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41716
f09771a1 417172006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41718
41719 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41720 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41721 field 'false' to 'exec_on_false'.
41722 (grub_script_create_cmdif): Renamed argument names to reflect above
41723 changes.
41724
41725 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41726
41727 * normal/script.c (grub_script_create_cmdif): Likewise.
41728
118f4fb3 417292006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41730
41731 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41732 top.
41733 (grub_hfsplus_btree_recptr): Likewise.
41734 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41735 FILEBLOCK both to pass a block number and store next block
41736 number.
41737 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41738 overflow file correctly. Specify errors appropriately, because
41739 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41740 grub_hfsplus_btree_recptr to get the pointer to a found key.
41741 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41742 is found.
41743
41744 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41745 linux.mod.
41746 (_linux_mod_SOURCES): New variable.
41747 (_linux_mod_CFLAGS): Likewise.
41748 (_linux_mod_LDFLAGS): Likewise.
41749 (linux_mod_SOURCES): Likewise.
41750 (linux_mod_CFLAGS): Likewise.
41751 (linux_mod_LDFLAGS): Likewise.
41752
41753 * DISTLIST: Added loader/i386/efi/linux.c,
41754 loader/i386/efi/linux_normal.c and
41755 include/grub/i386/efi/loader.h.
41756
41757 * loader/i386/efi/linux.c: New file.
41758 * loader/i386/efi/linux_normal.c: Likewise.
41759 * include/grub/i386/efi/loader.h: Likewise.
41760
89a7d726 417612006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41762
41763 * commands/blocklist.c: New file.
41764
41765 * DISTLIST: Added commands/blocklist.c.
41766
41767 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41768 color for the background, and a darker color for the foreground.
89a7d726 41769 (grub_console_checkkey): Return READ_KEY.
41770 (grub_console_cls): Set the background to
41771 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41772
41773 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41774
41775 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41776 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41777
41778 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41779 prototype.
41780
41781 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41782 BG. The spec is wrong again.
41783
41784 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41785 prototype.
41786 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41787
41788 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41789 commands/blocklist.c.
41790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41791
89a7d726 41792 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41793 (blocklist_mod_SOURCES): New variable.
41794 (blocklist_mod_CFLAGS): Likewise.
41795 (blocklist_mod_LDFLAGS): Likewise.
41796
75c8f258 417972006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41798
41799 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41800 duplication.
41801 (lba_mode): Use %eax more intensively to reduce the code size.
41802
da2eb181 418032006-05-20 Marco Gerards <marco@gnu.org>
41804
41805 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41806
41807 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41808 for `menuentry'.
41809 (script): Accept leading newlines.
41810 (newlines): New rule to describe 0 or more newlines.
41811 (commands): Accept `command' with trailing newline. Fixed the
41812 order in which arguments were passed to `grub_script_add_cmd'.
41813 Accept commands separated by newlines.
41814 (function): Changed to accept newlines.
41815 (menuentry) Rewritten.
41816
41817 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41818 front of the list, instead of to the end.
41819
577b4050 418202006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41821
41822 * util/i386/pc/grub-install.in (bindir): New variable.
41823 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41824 Shaver <lbgwjl@gmail.com>.
41825
0d6e1189 418262006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41827
41828 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41829 grub/machine/linux.h
41830 * loader/i386/pc/linux.c: Likewise.
41831
41832 * include/grub/i386/pc/linux.h: Moved to ...
41833 * include/grub/i386/linux.h: ... here.
41834
41835 * include/grub/i386/linux.h (struct linux_kernel_params): New
41836 struct.
f19dbdb7 41837
31b86e9f 418382006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41839
41840 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41841 checking.
41842 (grub_video_vbe_blit_glyph): Likewise.
41843 (grub_video_vbe_blit_bitmap): Likewise.
41844 (grub_video_vbe_blit_render_target): Likewise.
41845
83b984de 418462006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41847
41848 * configure.ac (--with-platform): Properly quote the square
41849 brackets.
41850
5f0413bd 418512006-05-08 Marco Gerards <marco@gnu.org>
41852
41853 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41854 this...
41855 (kernel_elf_HEADERS): ...to this. Updated all users.
41856 (grubof_symlist.c): Renamed from this...
41857 (kernel_elf_symlist.c): ...to this. Updated all users.
41858 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41859 (grubof_SOURCES): Renamed from this...
41860 (kernel_elf_SOURCES): ...to this.
41861 (grubof_HEADERS): Renamed from this...
41862 (kernel_elf_HEADERS): ...to this.
41863 (grubof_CFLAGS): Renamed from this...
41864 (kernel_elf_CFLAGS): ...to this.
41865 (grubof_ASFLAGS): Renamed from this...
41866 (kernel_elf_ASFLAGS): ...to this.
41867 (grubof_LDFLAGS): Renamed from this...
41868 (kernel_elf_LDFLAGS): ...to this.
41869
41870 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41871 this...
41872 (kernel_elf_HEADERS): ...to this. Updated all users.
41873 (grubof_symlist.c): Renamed from this...
41874 (kernel_elf_symlist.c): ...to this. Updated all users.
41875 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41876 (grubof_SOURCES): Renamed from this...
41877 (kernel_elf_SOURCES): ...to this.
41878 (grubof_HEADERS): Renamed from this...
41879 (kernel_elf_HEADERS): ...to this.
41880 (grubof_CFLAGS): Renamed from this...
41881 (kernel_elf_CFLAGS): ...to this.
41882 (grubof_ASFLAGS): Renamed from this...
41883 (kernel_elf_ASFLAGS): ...to this.
41884 (grubof_LDFLAGS): Renamed from this...
41885 (kernel_elf_LDFLAGS): ...to this.
41886
41887 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41888 `kernel.elf' instead of `grubof'.
41889
05568c2e 418902006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41891
41892 Add --with-platform to configure. Use pkglibdir instead of
41893 pkgdatadir. This is reported by Roger Leigh.
41894
41895 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41896 (host_vendor): Likewise.
41897 (host_os): Likewise.
41898 (pkgdatadir): Likewise.
41899 (platform): New variable.
41900 (pkglibdir): Likewise.
41901 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41902
05568c2e 41903 * util/i386/pc/grub-install.in (datadir): Removed.
41904 (host_vendor): Likewise.
41905 (host_os): Likewise.
41906 (pkgdatadir): Likewise.
41907 (platform): New variable.
41908 (pkglibdir): Likewise.
41909 Use PKGLIBDIR instead of PKGDATADIR.
41910
41911 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41912 instead of GRUB_DATADIR.
41913 (main): Likewise.
41914 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41915 (main): Likewise.
41916 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41917 (main): Likewise.
41918
41919 * configure.ac (--with-platform): New option.
41920 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41921
41922 * Makefile.in: Include a makefile based on PLATFORM instead of
41923 HOST_VENDOR.
41924 (pkgdatadir): Not appended by the machine type.
41925 (pkglibdir): Appended by the machine type.
41926 (host_vendor): Removed.
41927 (platform): New variable.
41928 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41929 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41930 (uninstall): Likewise.
41931
4e93851c 419322006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41933
41934 Use the environment context in the menu. Remove the commands
41935 "default" and "timeout", and use variables instead.
f19dbdb7 41936
4e93851c 41937 * normal/menu.c: Include grub/env.h.
41938 (print_entry): Cast TITLE to silence gcc.
41939 (get_timeout): New function.
41940 (set_timeout): Likewise.
41941 (get_entry_number): Likewise.
41942 (run_menu): Use a default entry, a fallback entry and a timeout
41943 in the environment variables "default", "fallback" and
41944 "timeout". Also, tweak the default entry if it is not within the
41945 current menu entries.
41946 (grub_menu_run): Use a fallback entry in the environment variable
41947 "fallback".
41948
41949 * normal/main.c (read_config_file): Do not initialize
41950 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41951 NEWMENU->TIMEOUT.
41952 (grub_normal_execute): Use a data slot to store the menu.
41953
41954 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41955 fallback_entry and timeout.
41956 (struct grub_menu_list): Removed.
41957 (grub_menu_list_t): Likewise.
41958 (struct grub_context): Likewise.
41959 (grub_context_t): Likewise.
41960 (grub_context_get): Likewise.
41961 (grub_context_get_current_menu): Likewise.
41962 (grub_context_push_menu): Likewise.
41963 (grub_context_pop_menu): Likewise.
41964 (grub_default_init): Likewise.
41965 (grub_default_fini): Likewise.
41966 (grub_timeout_init): Likewise.
41967 (grub_timeout_fini): Likewise.
41968
41969 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41970 and timeout.mod.
41971 (normal_mod_SOURCES): Removed normal/context.c.
41972
41973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41974 commands/default.c, commands/timeout.c and normal/context.c.
41975 (normal_mod_SOURCES): Removed normal/context.c.
41976
41977 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41978 commands/timeout.c and normal/context.c.
41979 (normal_mod_SOURCES): Removed normal/context.c.
41980
41981 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41982 commands/default.c, commands/timeout.c and normal/context.c.
41983 (normal_mod_SOURCES): Removed normal/context.c.
41984
41985 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41986 timeout.mod.
41987 (default_mod_SOURCES): Removed.
41988 (default_mod_CFLAGS): Likewise.
41989 (default_mod_LDFLAGS): Likewise.
41990 (timeout_mod_SOURCES): Removed.
41991 (timeout_mod_CFLAGS): Likewise.
41992 (timeout_mod_LDFLAGS): Likewise.
41993
41994 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41995 normal/context.c.
41996
41997 * commands/default.c: Removed.
41998 * commands/timeout.c: Likewise.
41999 * normal/context.c: Likewise.
42000
1eb9cc1d 420012006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42002
42003 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42004
385bd9c1 420052006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42006
42007 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42008 "next" to "prev" for readability.
42009 (struct grub_env_sorted_var): New struct.
42010 (grub_env_context): Renamed to ...
42011 (initial_context): ... this.
42012 (grub_env_var_context): Renamed to ...
42013 (current_context): ... this.
42014 (grub_env_find): Look only at CURRENT_CONTEXT.
42015 (grub_env_context_open): Rewritten to copy exported variables from
42016 previous context.
42017 (grub_env_context_close): Rewritten according to the new
42018 scheme. Also, add an assertion to prevent the initial context from
42019 removed.
42020 (grub_env_insert): Removed the code for the sorted list.
42021 (grub_env_remove): Likewise.
42022 (grub_env_export): Simply mark the variable with
42023 GRUB_ENV_VAR_GLOBAL.
42024 (grub_env_set): A cosmetic change for naming consistency.
42025 (grub_env_get): Likewise.
42026 (grub_env_unset): Likewise.
42027 (grub_env_iterate): Rewritten to sort variables within this
42028 function.
42029 (grub_register_variable_hook): Fixed for naming consistency. Call
42030 grub_env_find again, only if NAME is not found at the first time.
42031 (mangle_data_slot_name): New function.
42032 (grub_env_set_data_slot): Likewise.
42033 (grub_env_get_data_slot): Likewise.
42034 (grub_env_unset_data_slot): Likewise.
42035
42036 * include/grub/env.h (grub_env_var_type): New enum.
42037 (GRUB_ENV_VAR_LOCAL): New constant.
42038 (GRUB_ENV_VAR_GLOBAL): Likewise.
42039 (GRUB_ENV_VAR_DATA): Likewise.
42040 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42041 "type".
42042 (grub_env_set): Replace VAR with NAME for consistency.
42043 (grub_register_variable_hook): Likewise.
42044 (grub_env_export): Specify the name of the argument.
42045 (grub_env_set_data_slot): New prototype.
42046 (grub_env_get_data_slot): Likewise.
42047 (grub_env_unset_data_slot): Likewise.
42048
7f362539 420492006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42050
42051 Extend the loader so that GRUB can accept a loader which comes
42052 back to GRUB when a loaded image exits. Also, this change adds
42053 support for a chainloader on EFI.
f19dbdb7 42054
7f362539 42055 * term/efi/console.c: Include grub/misc.h.
42056 (grub_console_checkkey): Display a scan code on the top for
42057 debugging. This will be removed once the EFI port gets stable.
42058 Correct the scan code mapping.
42059
42060 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42061 allocate memory from larger regions, in order to reduce the number
42062 of allocated regions. Otherwise, the MacOSX loader panics.
42063 (filter_memory_map): Avoid less than 1MB for compatibility with
42064 other loaders.
42065 (add_memory_regions): Allocate from the tail of a region, if
42066 possible, to avoid allocating a region near to 1MB, for the MacOSX
42067 loader.
42068
42069 * kern/efi/init.c (grub_efi_set_prefix): Specify
42070 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42071
42072 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42073 argument IMAGE_HANDLE and specify it to get a loaded image.
42074 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42075 grub_efi_get_loaded_image.
fe6b695a 42076 (grub_efi_get_filename): Divide the length by the size of
7f362539 42077 grub_efi_char16_t.
42078 (grub_efi_get_device_path): New function.
42079 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42080 the length by the size of grub_efi_char16_t for a file path device
42081 path node.
42082
42083 * kern/loader.c (grub_loader_noreturn): New variable.
42084 (grub_loader_set): Accept a new argument NORETURN. Set
42085 GRUB_LOADER_NORETURN to NORETURN.
42086 All callers changed.
42087 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42088 grub_machine_fini.
42089
42090 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42091 prototype.
42092 (grub_efi_get_loaded_image): Take an argument to specify an image
42093 handle.
42094
42095 * include/grub/loader.h (grub_loader_set): Added one more argument
42096 NORETURN.
42097
42098 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42099 instead of grub_efi_open_protocol.
42100 (grub_efidisk_get_device_name): Likewise.
42101 (grub_efidisk_close): Print a newline.
42102 (grub_efidisk_get_device_handle): Fixed to use
42103 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42104 GRUB_EFI_DEVICE_PATH_TYPE.
42105
42106 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42107 * kern/efi/efi.c (device_path_guid): ... here.
42108
42109 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42110 chain.mod.
42111 (kernel_mod_HEADERS): Added efi/disk.h.
42112 (_chain_mod_SOURCES): New variable.
42113 (_chain_mod_CFLAGS): Likewise.
42114 (_chain_mod_LDFLAGS): Likewise.
42115 (chain_mod_SOURCES): Likewise.
42116 (chain_mod_CFLAGS): Likewise.
42117 (chain_mod_LDFLAGS): Likewise.
42118
42119 * DISTLIST: Added include/grub/efi/chainloader.h,
42120 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42121
42122 * include/grub/efi/chainloader.h: New file.
42123 * loader/efi/chainloader.c: Likewise.
42124 * loader/efi/chainloader_normal.c: Likewise.
42125
c0111d6e 421262006-04-30 Marco Gerards <marco@gnu.org>
42127
42128 * commands/configfile.c (grub_cmd_source): New function.
42129 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42130 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42131
df5341da 421322006-04-30 Marco Gerards <marco@gnu.org>
42133
42134 * normal/execute.c (grub_script_execute_cmd): Change the return
42135 type to `grub_err_t'. Correctly return the error.
42136 (grub_script_execute_cmdline): In case a command line is not a
42137 command or a function, try to interpret it as an assignment.
42138
f85934bd 421392006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42140
42141 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42142 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42143 skip a node whose name is obviously invalid as UTF-16,
42144 i.e. contains a NUL character. Stop the iteration when the last
42145 directory entry is found. Instead of using the return value of
42146 grub_hfsplus_btree_iterate_node, store the value in RET and use
42147 it, because the iterator can be stopped by the last directory
42148 entry.
42149
8f8a2cf8 421502006-04-30 Marco Gerards <marco@gnu.org>
42151
42152 * include/grub/env.h (grub_env_export): New prototype. Reported
42153 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42154
a27e84ce 421552006-04-30 Marco Gerards <marco@gnu.org>
42156
42157 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42158 size of the extents in a catalog file record.
42159
eaef0553 421602006-04-29 Marco Gerards <marco@gnu.org>
42161
42162 * commands/configfile.c (grub_cmd_configfile): Execute the
42163 configfile within its own context.
42164
42165 * include/grub/env.h (grub_env_context_open): New prototype.
42166 (grub_env_context_close): Likewise.
42167
42168 * kern/env.c (grub_env): Removed.
42169 (grub_env_sorted): Likewise.
42170 (grub_env_context): New variable.
42171 (grub_env_var_context): Likewise.
42172 (grub_env_find): Search both the active context and the global
42173 context.
42174 (grub_env_context_open): New function.
42175 (grub_env_context_close): Likewise.
42176 (grub_env_insert): Likewise.
42177 (grub_env_remove): Likewise.
42178 (grub_env_export): Likewise.
42179 (grub_env_set): Changed to use helper functions to avoid code
42180 duplication.
42181 (grub_env_iterate): Rewritten so both the current context and the
42182 global context are being used.
42183
42184 * normal/command.c (export_command): New function.
42185 (grub_command_init): Register the `export' function.
42186
7b455f4d 421872006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42188
42189 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42190 explicitly to suppress gcc's warnings.
42191 * fs/fat.c (grub_fat_find_dir): Likewise.
42192 (grub_fat_label): Likewise.
42193 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42194 (grub_xfs_mount): Likewise.
42195 (grub_xfs_label): Likewise.
42196 * fs/affs.c (grub_affs_mount): Likewise.
42197 (grub_affs_label): Likewise.
42198 (grub_affs_iterate_dir): Likewise.
42199 * fs/sfs.c (grub_sfs_mount): Likewise.
42200 (grub_sfs_iterate_dir): Likewise.
42201 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42202 * fs/hfs.c (grub_hfs_mount): Likewise.
42203 (grub_hfs_cmp_catkeys): Likewise.
42204 (grub_hfs_find_dir): Likewise.
42205 (grub_hfs_dir): Likewise.
42206 (grub_hfs_label): Likewise.
42207 * fs/jfs.c (grub_jfs_mount): Likewise.
42208 (grub_jfs_opendir): Likewise.
42209 (grub_jfs_getent): Likewise.
42210 (grub_jfs_lookup_symlink): Likewise.
42211 (grub_jfs_label): Likewise.
42212 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42213 (grub_hfsplus_iterate_dir): Likewise.
42214 (grub_hfsplus_btree_iterate_node): Made static.
42215
42216 * util/grub-emu.c (prefix): New variable.
42217 (grub_machine_set_prefix): New function.
42218 (main): Do not set the environment variable "prefix" here. Only
42219 set PREFIX, which is used later by grub_machine_set_prefix.
42220
42221 * include/grub/video.h: Do not include grub/symbol.h.
42222 (grub_video_register): Not exported. This symbol is not defined in
42223 the kernel.
42224 (grub_video_unregister): Likewise.
42225 (grub_video_iterate): Likewise.
42226 (grub_video_setup): Likewise.
42227 (grub_video_restore): Likewise.
42228 (grub_video_get_info): Likewise.
42229 (grub_video_get_blit_format): Likewise.
42230 (grub_video_set_palette): Likewise.
42231 (grub_video_get_palette): Likewise.
42232 (grub_video_set_viewport): Likewise.
42233 (grub_video_get_viewport): Likewise.
42234 (grub_video_map_color): Likewise.
42235 (grub_video_map_rgb): Likewise.
42236 (grub_video_map_rgba): Likewise.
42237 (grub_video_fill_rect): Likewise.
42238 (grub_video_blit_glyph): Likewise.
42239 (grub_video_blit_bitmap): Likewise.
42240 (grub_video_blit_render_target): Likewise.
42241 (grub_video_scroll): Likewise.
42242 (grub_video_swap_buffers): Likewise.
42243 (grub_video_create_render_target): Likewise.
42244 (grub_video_delete_render_target): Likewise.
42245 (grub_video_set_active_render_target): Likewise.
42246
42247 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42248 Undefined.
42249 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42250
42251 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42252 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42253 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42254 instead of $(srcdir)/genkernsyms.sh.
42255
42256 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42257 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42258 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42259 instead of $(srcdir)/genkernsyms.sh.
42260
42261 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42262 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42263 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42264 instead of $(srcdir)/genkernsyms.sh.
42265
42266 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42267 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42268 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42269 instead of $(srcdir)/genkernsyms.sh.
42270
42271 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42272 genkernsyms.sh.
42273
42274 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42275 genkernsyms.sh.
42276 (gensymlist.sh): New target.
42277 (genkernsyms.sh): Likewise.
42278
42279 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42280 genkernsyms.sh.in and gensymlist.sh.in.
42281
42282 * genkernsyms.sh: Removed.
42283 * gensymlist.sh: Likewise.
f19dbdb7 42284
7b455f4d 42285 * genkernsyms.sh.in: New file.
42286 * gensymlist.sh.in: Likewise.
42287
1885bb27 422882006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42289
42290 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42291 clobber "prefix", since we may have already set it manually.
42292
71538dff 422932006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42294
42295 * kern/misc.c (abort): New alias for grub_abort.
42296
2965c7cc 422972006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42298
42299 A new machine-specific function "grub_machine_set_prefix" is
42300 defined. This is called after loading modules, so that a prefix
42301 initialization can use modules. Also, this change adds an
42302 intensive debugging feature for the memory manager via the
42303 configure option "--enable-mm-debug".
f19dbdb7 42304
2965c7cc 42305 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42306 PART.LEN.
42307
42308 * kern/sparc64/ieee1275/init.c (abort): Removed.
42309 (grub_stop): Likewise.
42310 (grub_exit): New function.
42311 (grub_set_prefix): Renamed to ...
42312 (grub_machine_set_prefix): ... this.
42313 (grub_machine_init): Do not call grub_set_prefix.
42314
42315 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42316 (grub_machine_set_prefix): ... this.
42317 (grub_machine_init): Do not call grub_set_prefix.
42318
42319 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42320 (grub_machine_init): Do not set the prefix here.
42321
42322 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42323
42324 * kern/efi/init.c: Include grub/mm.h.
42325 (grub_efi_set_prefix): New function.
42326
42327 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42328 (grub_efi_get_filename): New function.
42329 (grub_print_device_path): Renamed to ...
42330 (grub_efi_print_device_path): ... this.
42331
42332 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42333 [MM_DEBUG] (grub_realloc): Likewise.
42334 [MM_DEBUG] (grub_free): Likewise.
42335 [MM_DEBUG] (grub_memalign): Likewise.
42336 [MM_DEBUG] (grub_mm_debug): New variable.
42337 [MM_DEBUG] (grub_debug_malloc): New function.
42338 [MM_DEBUG] (grub_debug_free): New function.
42339 [MM_DEBUG] (grub_debug_realloc): New function.
42340 [MM_DEBUG] (grub_debug_memalign): New function.
42341
42342 * kern/misc.c (grub_abort): Print a newline to distinguish
42343 the message.
42344
42345 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42346 grub_set_root_dev after loading modules. This is necessary when
42347 setting a prefix depends on modules.
42348
42349 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42350 (grub_efi_print_device_path): ... this.
42351 (grub_efi_get_filename): New prototype.
42352 (grub_efi_set_prefix): Likewise.
42353
42354 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42355 and grub/disk.h.
42356 (grub_efidisk_get_device_handle): New prototype.
42357 (grub_efidisk_get_device_name): Likewise.
42358
42359 * include/grub/mm.h: Include config.h.
42360 (MM_DEBUG): Removed.
42361 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42362 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42363 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42364 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42365 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42366 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42367 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42368 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42369 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42370
42371 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42372
42373 * disk/efi/efidisk.c: Include grub/partition.h.
42374 (iterate_child_devices): New function.
42375 (add_device): First, compare only last device path nodes, so that
42376 devices are sorted by the types.
42377 (grub_efidisk_get_device_handle): New function.
42378 (grub_efidisk_get_device_name): Likewise.
42379
42380 * configure.ac (--enable-mm-debug): New option to enable the
42381 memory manager debugging feature. This makes the binary much
42382 bigger, so is disabled by default.
42383
9cacaa17 423842006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42385
42386 Use grub_abort instead of grub_stop, and grub_exit must be
42387 define in each architecture now. Also, this change adds support
42388 for EFI disks.
f19dbdb7 42389
9cacaa17 42390 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42391 (grub_getkey): New function.
42392 (grub_term_get_current): Likewise.
42393
42394 * util/i386/pc/grub-setup.c: Include grub/term.h.
42395 (grub_getkey): New function.
42396 (grub_term_get_current): Likewise.
42397
42398 * util/misc.c (grub_stop): Renamed to ...
42399 (grub_exit): ... this.
42400
42401 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42402 (grub_exit): ... this.
42403 (grub_machine_init): Use grub_abort instead of abort.
42404 (grub_stop): Removed.
42405
42406 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42407 abort.
42408
42409 * kern/i386/pc/startup.S (grub_exit): New function.
42410 (cold_reboot): New label.
42411
42412 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42413 (grub_efi_init): Call grub_efidisk_init.
42414 (grub_efi_fini): Call grub_efidisk_fini.
42415
42416 * kern/efi/efi.c: Include grub/mm.h.
42417 (grub_efi_console_control_guid): Renamed to ...
42418 (console_control_guid): ... this.
42419 (grub_efi_loaded_image_guid): Renamed to ...
42420 (loaded_image_guid): ... this.
42421 (grub_efi_locate_handle): New function.
42422 (grub_efi_open_protocol): Likewise.
42423 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42424 GRUB_EFI_CONSOLE_CONTROL_GUID.
42425 (grub_efi_exit): Removed.
42426 (grub_stop): Likewise.
42427 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42428 (grub_exit): New function.
42429 (grub_print_device_path): Likewise.
42430
42431 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42432 (grub_enter_rescue_mode): Register "exit".
42433
42434 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42435 (grub_abort): New function.
42436
42437 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42438
42439 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42440
42441 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42442
42443 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42444 (grub_print_device_path): New prototype.
42445 (grub_efi_locate_handle): Likewise.
42446 (grub_efi_open_protocol): Likewise.
42447
42448 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42449 * disk/efi/efidisk.c: Likewise.
42450
42451 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42452
42453 * include/grub/efi/console_control.h
42454 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42455
42456 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42457 last 8 bytes as an array.
42458 (GRUB_EFI_DISK_IO_GUID): New macro.
42459 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42460 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42461 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42462 grub_uint8_t.
42463 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42464 (struct grub_efi_device_path): Rename the member "sub_type" to
42465 "subtype".
42466 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42467 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42468 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42469 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42470 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42471 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42472 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42473 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42474 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42475 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42476 (struct grub_efi_pci_device_path): New structure.
42477 (grub_efi_pci_device_path_t): New type.
42478 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42479 (struct grub_efi_pccard_device_path): New structure.
42480 (grub_efi_pccard_device_path_t): New type.
42481 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42482 (struct grub_efi_memory_mapped_device_path): New structure.
42483 (grub_efi_memory_mapped_device_path_t): New type.
42484 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42485 (struct grub_efi_vendor_device_path): New structure.
42486 (grub_efi_vendor_device_path_t): New type.
42487 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42488 (struct grub_efi_controller_device_path): New structure.
42489 (grub_efi_controller_device_path_t): New type.
42490 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42491 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42492 (struct grub_efi_acpi_device_path): New structure.
42493 (grub_efi_acpi_device_path_t): New type.
42494 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42495 (struct grub_efi_expanded_acpi_device_path): New structure.
42496 (grub_efi_expanded_acpi_device_path_t): New type.
42497 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42498 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42499 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42500 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42501 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42502 (struct grub_efi_atapi_device_path): New structure.
42503 (grub_efi_atapi_device_path_t): New type.
42504 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42505 (struct grub_efi_fibre_channel_device_path): New structure.
42506 (grub_efi_fibre_channel_device_path_t): New type.
42507 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42508 (struct grub_efi_1394_device_path): New structure.
42509 (grub_efi_1394_device_path_t): New type.
42510 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42511 (struct grub_efi_usb_device_path): New structure.
42512 (grub_efi_usb_device_path_t): New type.
42513 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42514 (struct grub_efi_usb_class_device_path): New structure.
42515 (grub_efi_usb_class_device_path_t): New type.
42516 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42517 (struct grub_efi_i2o_device_path): New structure.
42518 (grub_efi_i2o_device_path_t): New type.
42519 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42520 (struct grub_efi_mac_address_device_path): New structure.
42521 (grub_efi_mac_address_device_path_t): New type.
42522 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42523 (struct grub_efi_ipv4_device_path): New structure.
42524 (grub_efi_ipv4_device_path_t): New type.
42525 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42526 (struct grub_efi_ipv6_device_path): New structure.
42527 (grub_efi_ipv6_device_path_t): New type.
42528 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42529 (struct grub_efi_infiniband_device_path): New structure.
42530 (grub_efi_infiniband_device_path_t): New type.
42531 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42532 (struct grub_efi_uart_device_path): New structure.
42533 (grub_efi_uart_device_path_t): New type.
42534 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42535 (struct grub_efi_vendor_messaging_device_path): New structure.
42536 (grub_efi_vendor_messaging_device_path_t): New type.
42537 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42538 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42539 (struct grub_efi_hard_drive_device_path): New structure.
42540 (grub_efi_hard_drive_device_path_t): New type.
42541 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42542 (struct grub_efi_cdrom_device_path): New structure.
42543 (grub_efi_cdrom_device_path_t): New type.
42544 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42545 (struct grub_efi_vendor_media_device_path): New structure.
42546 (grub_efi_vendor_media_device_path_t): New type.
42547 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42548 (struct grub_efi_file_path_device_path): New structure.
42549 (grub_efi_file_path_device_path_t): New type.
42550 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42551 (struct grub_efi_protocol_device_path): New structure.
42552 (grub_efi_protocol_device_path_t): New type.
42553 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42554 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42555 (struct grub_efi_bios_device_path): New structure.
42556 (grub_efi_bios_device_path_t): New type.
42557 (struct grub_efi_disk_io): New structure.
42558 (grub_efi_disk_io_t): New type.
42559 (struct grub_efi_block_io_media): New structure.
42560 (grub_efi_block_io_media_t): New type.
42561 (struct grub_efi_block_io): New structure.
42562 (grub_efi_block_io_t): New type.
42563
42564 * include/grub/misc.h (grub_stop): Removed.
42565 (grub_exit): New prototype.
42566 (grub_abort): Likewise.
42567
42568 * include/grub/disk.h (enum grub_disk_dev_id): Added
42569 GRUB_DISK_DEVICE_EFIDISK_ID.
42570
42571 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42572 disk/efi/efidisk.c.
42573 (kernel_syms.lst): Remove the target if an error occurs.
42574
49986a9f 425752006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42576
42577 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42578 as it was simply too buggy.
42579
970d3b8a 425802006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42581
42582 * kern/misc.c (grub_lltoa): New function.
42583 (grub_vsprintf): Added support for the long long suffix,
42584 i.e. "ll".
42585
ff04ec24 425862006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42587
42588 * Makefile.in (LDFLAGS): Add variable.
42589 (LD): Remove variable.
42590 * configure.ac: Add -m32 to LDFLAGS.
42591 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42592 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42593 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42594 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42595 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42596 variables.
42597 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42598 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42599 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42600
37e5e1a4 426012006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42602
42603 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42604 length for unknown glyph.
42605
c352d8dd 426062006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42607
2eab1c0d 42608 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42609
2eab1c0d 42610 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42611 completely. Accept one more argument DIR. The caller has changed.
42612
42613 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42614
42615 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42616 (grub_efi_loaded_image_guid): New variable.
42617 (grub_efi_get_loaded_image): New function.
42618 (grub_arch_modules_addr): Likewise.
42619
42620 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42621 prototype.
42622
42623 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42624 (struct grub_efi_loaded_image): New structure.
42625 (grub_efi_loaded_image_t): New type.
42626
426272006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42628
c352d8dd 42629 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42630 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42631 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42632
6d01d6b4 426332006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42634
42635 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42636
976a4ea0 426372006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42638
42639 * DISTLIST: Added include/grub/efi/console.h,
42640 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42641 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42642
42643 * include/grub/efi/console.h: New file.
42644 * include/grub/efi/time.h: Likewise.
42645 * include/grub/i386/efi/kernel.h: Likewise.
42646 * kern/efi/init.c: Likewise.
42647 * kern/efi/mm.c: Likewise.
42648 * term/efi/console.c: Likewise.
f19dbdb7 42649
976a4ea0 42650 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42651 (grub_stop): Removed.
42652 (grub_get_rtc): Likewise.
42653 (grub_machine_init): Simply call grub_efi_init.
42654 (grub_machine_fini): Call grub_efi_fini.
42655
42656 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42657 (grub_efi_output_string): Removed.
42658 (grub_efi_stall): New function.
42659 (grub_stop): Likewise.
42660 (grub_get_rtc): Likewise.
42661
42662 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42663 (grub_efi_stall): New prototype.
42664 (grub_efi_allocate_pages): Likewise.
42665 (grub_efi_free_pages): Likewise.
42666 (grub_efi_get_memory_map): Likewise.
42667 (grub_efi_mm_init): Likewise.
42668 (grub_efi_mm_fini): Likewise.
42669 (grub_efi_init): Likewise.
42670 (grub_efi_fini): Likewise.
42671
42672 * include/grub/i386/efi/time.h: Do not include
42673 grub/symbol.h. Include grub/efi/time.h.
42674 (GRUB_TICKS_PER_SECOND): Removed.
42675 (grub_get_rtc): Likewise.
42676
42677 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42678 Added padding. The EFI spec is buggy.
42679 (GRUB_EFI_BLACK): New macro.
42680 (GRUB_EFI_BLUE): Likewise.
42681 (GRUB_EFI_GREEN): Likewise.
42682 (GRUB_EFI_CYAN): Likewise.
42683 (GRUB_EFI_RED): Likewise.
42684 (GRUB_EFI_MAGENTA): Likewise.
42685 (GRUB_EFI_BROWN): Likewise.
42686 (GRUB_EFI_LIGHTGRAY): Likewise.
42687 (GRUB_EFI_BRIGHT): Likewise.
42688 (GRUB_EFI_DARKGRAY): Likewise.
42689 (GRUB_EFI_LIGHTBLUE): Likewise.
42690 (GRUB_EFI_LIGHTGREEN): Likewise.
42691 (GRUB_EFI_LIGHTCYAN): Likewise.
42692 (GRUB_EFI_LIGHTRED): Likewise.
42693 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42694 (GRUB_EFI_YELLOW): Likewise.
42695 (GRUB_EFI_WHITE): Likewise.
42696 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42697 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42698 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42699 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42700 (GRUB_EFI_BACKGROUND_RED): Likewise.
42701 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42702 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42703 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42704 (GRUB_EFI_TEXT_ATTR): Likewise.
42705
42706 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42707 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42708 (kernel_mod_HEADERS): Added efi/time.h.
42709
83709125 427102006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42711
42712 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42713 include/grub/efi/api.h, include/grub/efi/console_control.h,
42714 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42715 include/grub/i386/efi/time.h, kern/efi/efi.c,
42716 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42717 and util/i386/efi/grub-mkimage.c.
42718
42719 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42720
42721 * genmk.rb (PModule#rule): Do not export symbols if
42722 #{prefix}_EXPORTS is set to "no".
42723
42724 * conf/i386-efi.mk: New file.
42725 * conf/i386-efi.rmk: Likewise.
42726 * include/grub/efi/api.h: Likewise.
42727 * include/grub/efi/console_control.h: Likewise.
42728 * include/grub/efi/efi.h: Likewise.
42729 * include/grub/efi/pe32.h: Likewise.
42730 * include/grub/i386/efi/time.h: Likewise.
42731 * kern/efi/efi.c: Likewise.
42732 * kern/i386/efi/init.c: Likewise.
42733 * kern/i386/efi/startup.S: Likewise.
42734 * util/i386/efi/grub-mkimage.c: Likewise.
42735
427362006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42737
42738 * include/grub/script.h: Include <grub/parser.h> and
42739 "grub_script.tab.h".
42740 (struct grub_lexer_param): New struct.
42741 (struct grub_parser_param): Likewise.
42742 (grub_script_create_arglist): Pass the state in an argument.
42743 (grub_script_add_arglist): Likewise.
42744 (grub_script_create_cmdline): Likewise.
42745 (grub_script_create_cmdblock): Likewise.
42746 (grub_script_create_cmdif): Likewise.
42747 (grub_script_create_cmdmenu): Likewise.
42748 (grub_script_add_cmd): Likewise.
42749 (grub_script_arg_add): Likewise.
42750 (grub_script_lexer_ref): Likewise.
42751 (grub_script_lexer_deref): Likewise.
42752 (grub_script_lexer_record_start): Likewise.
42753 (grub_script_lexer_record_stop): Likewise.
42754 (grub_script_mem_record): Likewise.
42755 (grub_script_mem_record_stop): Likewise.
42756 (grub_script_malloc): Likewise.
42757 (grub_script_yylex): Likewise.
42758 (grub_script_yyparse): Likewise.
42759 (grub_script_yyerror): Likewise.
42760 (grub_script_yylex): Likewise.
42761 (grub_script_lexer_init): Return the state.
42762
42763 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42764 (grub_script_lexer_done): Likewise.
42765 (grub_script_lexer_getline): Likewise.
42766 (grub_script_lexer_refs): Likewise.
42767 (script): Likewise.
42768 (newscript): Likewise.
42769 (record): Likewise.
42770 (recording): Likewise.
42771 (recordpos): Likewise.
42772 (recordlen): Likewise.
42773 (grub_script_lexer_init): Return the state instead of setting
42774 global variables.
42775 (grub_script_lexer_ref): Use the newly added argument for state
42776 instead of globals.
42777 (grub_script_lexer_deref): Likewise.
42778 (grub_script_lexer_record_start): Likewise.
42779 (grub_script_lexer_record_stop): Likewise.
42780 (recordchar): Likewise.
42781 (nextchar): Likewise.
42782 (grub_script_yylex2): Likewise.
42783 (grub_script_yylex): Likewise.
42784 (grub_script_yyerror): Likewise.
42785
42786 * normal/parser.y (func_mem): Removed variable.
42787 (menu_entry): Likewise.
42788 (err): Likewise.
42789 (%lex-param): New parser option.
42790 (%parse-param): Likewise.
42791 (script): Always return the AST.
42792 (argument): Pass the state around.
42793 (arguments): Likewise.
42794 (grubcmd): Likewise.
42795 (commands): Likewise.
42796 (function): Likewise.
42797 (menuentry): Likewise.
42798 (if_statement): Likewise.
42799 (if): Likewise.
42800
42801 * normal/script.c (grub_script_memused): Removed variable.
42802 (grub_script_parsed): Likewise.
42803 (grub_script_malloc): Added a state argument. Use that instead of
42804 global variables.
42805 (grub_script_mem_record): Likewise.
42806 (grub_script_mem_record_stop): Likewise.
42807 (grub_script_arg_add): Likewise.
42808 (grub_script_add_arglist): Likewise.
42809 (grub_script_create_cmdline): Likewise.
42810 (grub_script_create_cmdif): Likewise.
42811 (grub_script_create_cmdmenu): Likewise.
42812 (grub_script_add_cmd): Likewise.
42813 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42814
e2a8c904 428152006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42816
42817 * normal/command.c (grub_command_init): Remove the title command.
42818
42819 * normal/lexer.c (grub_script_yylex): Renamed from this...
42820 (grub_script_yylex2): ... to this.
42821 (grub_script_yylex): New function. Temporary
42822 introduced to filter some tokens.
42823 (grub_script_yyerror): Print a newline.
42824
42825 * normal/main.c (read_config_file): Output information about the
42826 lines that contain errors. Wait for a key after all lines have
42827 been processed. Don't return an empty menu.
42828
42829 * normal/parser.y (func_mem): Don't initialize.
42830 (menu_entry): Likewise.
42831 (err): New variable.
42832 (script): Don't return anything when an error was encountered.
42833 (ws, returns): Removed rules.
42834 (argument): Disabled concatenated variable support.
42835 (arguments): Remove explicit separators.
42836 (grubcmd): Likewise.
42837 (function): Likewise.
42838 (menuentry): Likewise.
42839 (if): Likewise.
42840 (commands): Likewise. Add error handling.
42841
42842 * normal/script.c (grub_script_create_cmdline): If
42843 `grub_script_parsed' is 0, assume the parser encountered an error.
42844
c9a86192 428452006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42846
42847 * configure.ac: Add support for EFI. Fix the typo
42848 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42849
70f3b243 428502006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42851
42852 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42853 foreign multibyte characters should be shown correctly.
42854
65f201ad 428552006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42856
42857 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42858 calculation.
42859 (read_config_file): Made it to close file before returning.
42860
b4b93674 428612006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42862
42863 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42864 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42865 video/i386/pc/vbefill.c.
42866
42867 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42868 video/i386/pc/vbefill.c.
42869
42870 * include/grub/video.h (grub_video_blit_format): New enum.
42871 (grub_video_mode_info): Added new member blit_format.
42872 (grub_video_get_blit_format): New function prototype.
42873
42874 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42875 function prototype.
42876 (grub_video_vbe_map_rgb): Likewise.
42877 (grub_video_vbe_unmap_color): Likewise.
42878
42879 * include/grub/i386/pc/vbeblit.h: New file.
42880
42881 * include/grub/i386/pc/vbefill.h: New file.
42882
42883 * video/video.c (grub_video_get_blit_format): New function.
42884 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42885 (grub_video_vbe_map_rgb): Likewise.
42886 (grub_video_vbe_unmap_color): Likewise.
42887
42888 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42889 optimized fills.
42890 (grub_video_vbe_blit_render_target): Changed to use more optimized
42891 blits.
42892 (grub_video_vbe_setup): Added detection for optimized settings.
42893 (grub_video_vbe_create_render_target): Likewise.
42894
42895 * video/i386/pc/vbeblit.c: New file.
42896
42897 * video/i386/pc/vbefill.c: New file.
42898
c2379b9c 428992006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42900
42901 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42902 here...
42903
42904 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42905 parsing to support both hex and dec ranges. If filename was missing
42906 show usage information.
42907
bd0d7896 429082006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42909
42910 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42911 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42912
42913 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42914 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42915 (video_mod_SOURCES): Added.
42916 (video_mod_CFLAGS): Likewise.
42917 (video_mod_LDFLAGS): Likewise.
42918 (gfxterm_mod_SOURCES): Likewise.
42919 (gfxterm_mod_CFLAGS): Likewise.
42920 (gfxterm_mod_LDFLAGS): Likewise.
42921 (videotest_mod_SOURCES): Likewise.
42922 (videotest_mod_CFLAGS): Likewise.
42923 (videotest_mod_LDFLAGS): Likewise.
42924 (vesafb_mod_SOURCES): Removed.
42925 (vesafb_mod_CFLAGS): Likewise.
42926 (vesafb_mod_LDFLAGS): Likewise.
42927 (vga_mod_SOURCES): Likewise.
42928 (vga_mod_CFLAGS): Likewise.
42929 (vga_mod_LDFLAGS): Likewise.
42930
42931 * commands/videotest.c: New file.
42932
42933 * font/manager.c (fill_with_default_glyph): Modified to use
42934 grub_font_glyph.
42935 (grub_font_get_glyph): Likewise.
42936 (fontmanager): Renamed from this...
42937 (font_manager): ... to this.
42938
42939 * include/grub/font.h (grub_font_glyph): Added new structure.
42940 (grub_font_get_glyph): Modified to use grub_font_glyph.
42941
42942 * include/grub/misc.h (grub_abs): Added as inline function.
42943
42944 * include/grub/video.h: New file.
42945
42946 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42947 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42948 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42949 (grub_vbe_get_controller_info): Renamed from this...
42950 (grub_vbe_bios_get_controller_info): ... to this.
42951 (grub_vbe_get_mode_info): Renamed from this...
42952 (grub_vbe_bios_get_mode_info): ... to this.
42953 (grub_vbe_set_mode): Renamed from this...
42954 (grub_vbe_bios_set_mode): ... to this.
42955 (grub_vbe_get_mode): Renamed from this...
42956 (grub_vbe_bios_get_mode): ... to this.
42957 (grub_vbe_set_memory_window): Renamed from this...
42958 (grub_vbe_bios_set_memory_window): ... to this.
42959 (grub_vbe_get_memory_window): Renamed from this...
42960 (grub_vbe_bios_get_memory_window): ... to this.
42961 (grub_vbe_set_scanline_length): Renamed from this...
42962 (grub_vbe_set_scanline_length): ... to this.
42963 (grub_vbe_get_scanline_length): Renamed from this...
42964 (grub_vbe_bios_get_scanline_length): ... to this.
42965 (grub_vbe_set_display_start): Renamed from this...
42966 (grub_vbe_bios_set_display_start): ... to this.
42967 (grub_vbe_get_display_start): Renamed from this...
42968 (grub_vbe_bios_get_display_start): ... to this.
42969 (grub_vbe_set_palette_data): Renamed from this...
42970 (grub_vbe_bios_set_palette_data): ... to this.
42971 (grub_vbe_set_pixel_rgb): Removed.
42972 (grub_vbe_set_pixel_index): Likewise.
42973
42974 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42975 from this...
42976 (grub_vbe_bios_get_controller_info): ... to this.
42977 (grub_vbe_get_mode_info): Renamed from this...
42978 (grub_vbe_bios_get_mode_info): ... to this.
42979 (grub_vbe_set_mode): Renamed from this...
42980 (grub_vbe_bios_set_mode): ... to this.
42981 (grub_vbe_get_mode): Renamed from this...
42982 (grub_vbe_bios_get_mode): ... to this.
42983 (grub_vbe_set_memory_window): Renamed from this...
42984 (grub_vbe_bios_set_memory_window): ... to this.
42985 (grub_vbe_get_memory_window): Renamed from this...
42986 (grub_vbe_bios_get_memory_window): ... to this.
42987 (grub_vbe_set_scanline_length): Renamed from this...
42988 (grub_vbe_set_scanline_length): ... to this.
42989 (grub_vbe_get_scanline_length): Renamed from this...
42990 (grub_vbe_bios_get_scanline_length): ... to this.
42991 (grub_vbe_set_display_start): Renamed from this...
42992 (grub_vbe_bios_set_display_start): ... to this.
42993 (grub_vbe_get_display_start): Renamed from this...
42994 (grub_vbe_bios_get_display_start): ... to this.
42995 (grub_vbe_set_palette_data): Renamed from this...
42996 (grub_vbe_bios_set_palette_data): ... to this.
42997 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42998 getting corrupted after calling it. Added more pushes and pops.
42999 (grub_vbe_bios_set_mode): Likewise.
43000 (grub_vbe_bios_get_mode): Likewise.
43001 (grub_vbe_bios_get_memory_window): Likewise.
43002 (grub_vbe_bios_set_scanline_length): Likewise.
43003 (grub_vbe_bios_get_scanline_length): Likewise.
43004 (grub_vbe_bios_get_display_start): Likewise.
43005 (grub_vbe_bios_set_palette_data): Likewise.
43006
43007 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43008 (cl_insert): Likewise.
43009 (cl_delete): Likewise.
43010
43011 * term/gfxterm.c: New file.
43012
43013 * term/i386/pc/vesafb.c: Removed file.
43014
43015 * video/video.c: New file.
43016
43017 * video/i386/pc/vbe.c (real2pm): Added new function.
43018 (grub_video_vbe_draw_pixel): Likewise.
43019 (grub_video_vbe_get_video_ptr): Likewise.
43020 (grub_video_vbe_get_pixel): Likewise
43021 (grub_video_vbe_init): Likewise.
43022 (grub_video_vbe_fini): Likewise.
43023 (grub_video_vbe_setup): Likewise.
43024 (grub_video_vbe_get_info): Likewise.
43025 (grub_video_vbe_set_palette): Likewise.
43026 (grub_video_vbe_get_palette): Likewise.
43027 (grub_video_vbe_set_viewport): Likewise.
43028 (grub_video_vbe_get_viewport): Likewise.
43029 (grub_video_vbe_map_color): Likewise.
43030 (grub_video_vbe_map_rgb): Likewise.
43031 (grub_video_vbe_map_rgba): Likewise.
43032 (grub_video_vbe_unmap_color): Likewise.
43033 (grub_video_vbe_fill_rect): Likewise.
43034 (grub_video_vbe_blit_glyph): Likewise.
43035 (grub_video_vbe_blit_bitmap): Likewise.
43036 (grub_video_vbe_blit_render_target): Likewise.
43037 (grub_video_vbe_scroll): Likewise.
43038 (grub_video_vbe_swap_buffers): Likewise.
43039 (grub_video_vbe_create_render_target): Likewise.
43040 (grub_video_vbe_delete_render_target): Likewise.
43041 (grub_video_vbe_set_active_render_target): Likewise.
43042 (grub_vbe_set_pixel_rgb): Remove function.
43043 (grub_vbe_set_pixel_index): Likewise.
43044 (index_color_mode): Remove static variable.
43045 (active_mode): Likewise.
43046 (framebuffer): Likewise.
43047 (bytes_per_scan_line): Likewise.
43048 (grub_video_vbe_adapter): Added new static variable.
43049 (framebuffer): Likewise.
43050 (render_target): Likewise.
43051 (initial_mode): Likewise.
43052 (mode_in_use): Likewise.
43053 (mode_list): Likewise.
43054
5f97350b 430552006-03-10 Marco Gerards <marco@gnu.org>
43056
43057 * configure.ac (AC_INIT): Bumped to 1.93.
43058
43059 * DISTLIST: Added `include/grub/hfs.h'.
43060
a3c5c6f8 430612006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43062
43063 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43064 18H, which might help the BIOS falling back to next boot media.
43065
6de53d26 430662006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43067
43068 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43069 Poe Chen <poe.poechen@gmail.com>.
43070
77c4a393 430712006-01-17 Marco Gerards <marco@gnu.org>
43072
43073 * include/grub/normal.h: Include <grub/script.h>.
43074 (grub_command_list): Removed struct.
43075 (grub_command_list_t): Removed type.
43076 (grub_menu_entry): Remove members `num' and `command_list'. Add
43077 members `commands' and `sourcecode'.
43078 * include/grub/script.h: Add inclusion guards.
43079 (grub_script_cmd_menuentry): New struct.
43080 (grub_script_execute_menuentry): New prototype.
43081 (grub_script_lexer_record_start): Likewise.
43082 (grub_script_lexer_record_stop): Likewise.
43083 * normal/execute.c (grub_script_execute_menuentry): New function.
43084 * normal/lexer.c (record, recording, recordpos, recordlen): New
43085 variables.
43086 (grub_script_lexer_record_start): New function.
43087 (grub_script_lexer_record_stop): Likewise.
43088 (recordchar): Likewise.
43089 (nextchar): Likewise.
43090 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43091 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43092 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43093 (current_menu): New variable.
43094 (free_menu): Mainly rewritten.
43095 (grub_normal_menu_addentry): New function.
43096 (read_config_file): Rewritten.
43097 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 43098 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 43099 the menu entry.
43100 (run): Mainly rewritten.
43101 * normal/parser.y (menu_entry): New variable.
43102 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43103 (menuentry): New rule.
43104 (command): Add `menuentry'.
43105 (if_statement): Allow additional returns before `fi'.
43106 * normal/script.c (grub_script_create_cmdmenu): New function.
43107
144f1f98 431082006-01-03 Marco Gerards <marco@gnu.org>
43109
43110 * INSTALL: GNU Bison is required.
43111 * configure.ac: Rewritten the test to detect Bison.
43112 * Makefile.in (YACC): New variable. Reported by Xun Sun
43113 <xun.sun.cn@gmail.com>.
43114
af4b2d89 431152006-01-03 Marco Gerards <marco@gnu.org>
43116
43117 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43118 the HFS+ filesystem to filesystem blocks.
43119 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43120 GCC warning is silenced.
43121
15643b71 431222006-01-03 Marco Gerards <marco@gnu.org>
43123
43124 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43125 read from disk from big endian to host byte order.
43126
00905879 431272006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43128
43129 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43130 documentation.
43131 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43132 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43133 embedded HFS+ filesystem.
43134 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43135 (grub_hfs_sblock): Move from here...
43136 * include/grub/hfs.h: To here... New file.
43137 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43138 documentation.
43139 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43140 New macros.
43141 (grub_hfsplus_volheader): Change type of member `magic' to
43142 `grub_uint16_t'.
43143 (grub_hfsplus_data): Add new member `embedded_offset'.
43144 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43145 returned block.
43146 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43147 Calculate the offset.
43148
8899bc3e 431492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43150
43151 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43152 Removed.
43153 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43154
ae8c0277 431552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43156
43157 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43158 ENV->NAME is NULL after allocating ENV->VALUE.
43159
07084456 431602005-12-25 Marco Gerards <marco@gnu.org>
43161
43162 * kern/env.c (grub_env_set): Rewritten the error handling code.
43163
4750f5f1 431642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43165
43166 * geninit.sh: Made more robust, and more portable.
43167
50214199 431682005-12-25 Marco Gerards <marco@gnu.org>
43169
43170 Add support for Apple HFS+ filesystems.
f19dbdb7 43171
50214199 43172 * fs/hfsplus.c: New file.
43173
43174 * DISTLIST: Added `fs/hfsplus.c'.
43175
43176 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43177 (hfsplus_mod_SOURCES): New variable.
43178 (hfsplus_mod_CFLAGS): Likewise.
43179 (hfsplus_mod_LDFLAGS): Likewise.
43180 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43181 (grub_setup_SOURCES): Likewise.
43182 (grub_mkdevicemap_SOURCES): Likewise.
43183 (grub_emu_SOURCES): Likewise.
43184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43185
43186 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43187
43188 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43189
befaed6c 431902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43191
43192 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43193 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43194 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43195 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43196 normal/lexer.c, normal/parser.y, normal/script.c, and
43197 partmap/gpt.c.
43198 Removed kern/sparc64/cache.c.
43199
43200 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43201 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43202 grub_emu_init.c.
43203
43204 * configure.ac (AC_INIT): Bumped to 1.92.
43205
6a124103 432062005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43207
43208 * kern/err.c (grub_error_push): Added new function to support error
43209 stacks.
43210 (grub_error_pop): Likewise.
43211 (grub_error_stack_items): New local variable to support error stacks.
43212 (grub_error_stack_pos): Likewise.
43213 (grub_error_stack_assert): Likewise.
43214 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43215 stack depth.
43216 (grub_print_error): Added support to print errors from error stack.
43217
43218 * include/grub/err.h (grub_error_push): Added function prototype.
43219 (grub_error_pop): Likewise.
43220
be973c1b 432212005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43222
43223 * configure.ac: Accept `powerpc64' as host_cpu.
43224 (amd64): Rename to `biarch32'.
43225
43226 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43227 non-cacheline-aligned addresses.
43228
43229 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43230 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43231 if `size' is non-zero.
43232
b04216ab 432332005-12-03 Marco Gerards <mgerards@xs4all.nl>
43234
43235 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43236 and `cd' to make sure the filename is not prefixed with a
43237 directory name.
43238 (pkgdata_MODULES): Add `gpt.mod'.
43239 (gpt_mod_SOURCES): New variable.
43240 (gpt_mod_CFLAGS): Likewise.
43241 (gpt_mod_LDFLAGS): Likewise.
43242
43243 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43244
43245 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43246 New macro.
43247
43248 * partmap/gpt.c: New file.
43249
43250 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43251 GPT partition map is detected.
43252
41730ed9 432532005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43254
43255 * commands/i386/pc/play.c: New file.
43256 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43257 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43258 macros.
f19dbdb7 43259
95dc3643 432602005-11-27 Marco Gerards <mgerards@xs4all.nl>
43261
43262 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43263 ((unused))' to silence gcc warning.
43264
1569ec51 432652005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43266
43267 * configure.ac: Correct `AC_PROG_YACC' test.
43268
9abde152 432692005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43270
43271 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43272 check before installing files.
43273
44b83271 432742005-11-22 Mike Small <smallm@panix.com>
43275
43276 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43277 number regex so multidigit numbers are recognized correctly.
43278
432792005-11-22 Mike Small <smallm@panix.com>
43280
43281 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43282 debugging message before attempting to claim memory.
43283 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43284 multiple addresses in case of failure.
43285
9c12956b 432862005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43287
43288 * term/tparm.c (get_space): Remove empty `if' statement.
43289
43290 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43291
43292 * kern/parser.c (check_varstate): Rename `state' to 's'.
43293
aeaf81d9 432942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43295
43296 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43297 variable definitions to the beginning of each function. Sort stack
43298 variables by size.
43299 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43300 `buf' argument to `char *'.
43301
79bbb63f 433022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43303
43304 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43305 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43306 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43307 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43308 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43309 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43310 configfile.mod, search.mod, gzio.mod and test.mod.
43311 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43312 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43313 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43314 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43315 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43316 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43317 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43318 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43319 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43320 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43321 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43322 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43323 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43324 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43325 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43326 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43327 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43328 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43329 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43330 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43331 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43332 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43333 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43334
43335 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43336 `grep --include'.
43337 (pkgdata_MODULES): Add test.mod.
43338
233b1628 433392005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43340
43341 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43342 appending to variables with "+=".
43343 (PModule): Use full pathname to generate *.lst filenames.
43344
43345 * Makefile.in: Fixed list rules moved from genmk.rb.
43346 (.DELETE_ON_ERROR): New special target.
43347 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43348
43349 * conf/i386-pc.rmk: Include conf/common.mk.
43350 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43351 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43352 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43353 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43354 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43355 configfile.mod, search.mod, gzio.mod and test.mod.
43356 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43357 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43358 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43359 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43360 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43361 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43362 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43363 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43364 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43365 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43366 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43367 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43368 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43369 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43370 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43371 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43372 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43373 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43374 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43375 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43376 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43377 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43378 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43379 here...
43380 * conf/common.rmk: ... to here. New file.
43381
43382 * conf/common.mk: New file.
43383
16f820c8 433842005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43385
43386 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43387 (grub_script.tab.c): ... here.
43388
43389 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43390 (grub_script.tab.c): ... here.
43391
43392 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43393 (grub_script.tab.c): ... here.
43394
43395 * normal/command.c (grub_command_find): Fixed a memory leak of
43396 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43397
63ba1554 433982005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43399
43400 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43401 "@" which marks the start of a comment on ARM.
43402 (VARIABLE): Likewise.
43403
7f67dc13 434042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43405
79bbb63f 43406 Add support for Linux/ADFS partition tables.
7f67dc13 43407
43408 * partmap/acorn.c: New file.
43409
43410 * include/grub/acorn_filecore.h: Likewise.
43411
43412 * DISTLIST: Added `partmap/acorn.c' and
43413 `include/grub/acorn_filecore.h'.
f19dbdb7 43414
7f67dc13 43415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43416 `partmap/acorn.c'.
43417 (pkgdata_MODULES): Add `acorn.mod'.
43418 (acorn_mod_SOURCES): New variable.
43419 (acorn_mod_CFLAGS): Likewise.
43420
43421 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43422 `partmap/acorn.c'.
43423 (pkgdata_MODULES): Add `acorn.mod'.
43424 (acorn_mod_SOURCES): New variable.
43425 (acorn_mod_CFLAGS): Likewise.
43426
43427 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43428 (pkgdata_MODULES): Add `acorn.mod'.
43429 (acorn_mod_SOURCES): New variable.
43430 (acorn_mod_CFLAGS): Likewise.
43431 (acorn_mod_LDFLAGS): Likewise.
43432
43433 * include/types.h (grub_disk_addr_t): New typedef.
43434
6d099807 434352005-11-13 Marco Gerards <mgerards@xs4all.nl>
43436
43437 * geninit.sh: New file.
43438
43439 * geninitheader.sh: Likewise.
43440
43441 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43442 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43443 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43444 * commands/configfile.c (grub_configfile_init)
43445 (grub_configfile_fini): Likewise.
43446 * commands/default.c (grub_default_init, grub_default_fini):
43447 Likewise.
43448 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43449 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43450 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43451 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43452 Likewise.
43453 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43454 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43455 Likewise.
43456 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43457 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43458 Likewise.
43459 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43460 Likewise.
fe6b695a 43461 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43462 Likewise.
43463 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43464 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43465 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43466 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43467 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43468 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43469 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43470 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43471 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43472 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43473 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43474 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43475 * partmap/amiga.c (grub_amiga_partition_map_init)
43476 (grub_amiga_partition_map_fini): Likewise.
43477 * partmap/apple.c (grub_apple_partition_map_init)
43478 (grub_apple_partition_map_fini): Likewise.
43479 * partmap/pc.c (grub_pc_partition_map_init)
43480 (grub_pc_partition_map_fini): Likewise.
43481 * partmap/sun.c (grub_sun_partition_map_init,
43482 grub_sun_partition_map_fini): Likewise.
43483 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43484 Likewise.
43485
43486 * util/grub-emu.c: Include <grub_modules_init.h>.
43487 (main): Don't initialize and de-initialize any modules directly,
43488 use `grub_init_all' and `grub_fini_all' instead.
43489
43490 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43491 `grub_vesafb_mod_init'.
43492 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43493 all users.
43494 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43495 `grub_vga_mod_init'. Updated all users.
43496 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43497
6d099807 43498 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43499 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43500 rules.
43501
43502 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43503 Generate a function to initialize the module in utilities.
43504 Updated all callers.
43505 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43506 initialize the module in utilities. Updated all callers.
43507
9046bcf0 435082005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43509
43510 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43511 escape sequence and a literal ^L to clear the screen.
43512
43513 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43514 when returning from Open Firmware.
43515
d13ea639 435162005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43517
43518 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43519 (grub_ofconsole_height): Likewise.
43520 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43521 manually insert a '\n'.
43522 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43523 `grub_ofconsole_height'. Return early if these are already set.
43524
a8fcf206 435252005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43526
43527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43528 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43529 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43530 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43531 and `normal/script.c'.
43532 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43533 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43534 (test_mod_SOURCES): New variable.
43535 (test_mod_CFLAGS): Likewise.
43536 (test_mod_LDFLAGS): Likewise.
43537 (pkgdata_MODULES): Add `test.mod'.
43538 (grub_script.tab.c): New rule.
43539 (grub_script.tab.h): Likewise.
43540
b6b32745 435412005-11-07 Marco Gerards <mgerards@xs4all.nl>
43542
43543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43544 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43545 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43546 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43547 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43548 (test_mod_SOURCES): New variable.
43549 (test_mod_CFLAGS): Likewise.
43550 (pkgdata_MODULES): Add `test.mod'.
43551 (grub_script.tab.c): New rule.
43552 (grub_script.tab.h): Likewise.
43553
daac212a 435542005-11-06 Marco Gerards <mgerards@xs4all.nl>
43555
43556 Add initial scripting support.
43557
43558 * commands/test.c: New file.
43559 * include/grub/script.h: Likewise.
43560 * normal/execute.c: Likewise.
43561 * normal/function.c: Likewise.
43562 * normal/lexer.c: Likewise.
43563 * normal/parser.y: Likewise.
43564 * normal/script.c: Likewise.
43565
43566 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43567
daac212a 43568 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43569 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43570 `normal/function.c' and `normal/script.c'.
43571 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43572 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43573 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43574 variables.
daac212a 43575 (pkgdata_MODULES): Add `test.mod'.
43576 (grub_script.tab.c): New rule.
43577 (grub_script.tab.h): Likewise.
43578
43579 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43580
43581 * include/grub/normal.h (grub_test_init): New prototype.
43582 (grub_test_fini): Likewise.
f19dbdb7 43583
daac212a 43584 * normal/command.c: Include <grub/script.h>.
43585 (grub_command_execute): Rewritten.
f19dbdb7 43586
daac212a 43587 * util/grub-emu.c (main): Call `grub_test_init' and
43588 `grub_test_fini'.
43589
77500b2b 435902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43591
43592 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43593 to 0.
43594 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43595 there are no pending characters.
43596
e45deb9e 435972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43598
43599 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43600 `grub_strndup' to drop device arguments. Replace unnecessary
43601 `grub_strndup' with `grub_strdup'.
43602
4ce32619 436032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43604
43605 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43606 `debug' environment variable has been set.
43607
436082005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43609
4ce32619 43610 * Makefile.in (install-local): Use $(DATA).
43611 (uninstall): Likewise.
43612 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43613 (sbin_UTILITIES): ... to here.
43614 (sbin_SCRIPTS): New variable.
43615 (grub_install_SOURCES): New variable.
43616 * util/powerpc/ieee1275/grub-install.in: New file.
43617 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43618 variable.
43619 (add_segments): Call `grub_util_get_path'.
43620
25fe6f03 436212005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43622
43623 From Timothy Baldwin:
43624 * commands/ls.c (grub_ls_list_files): Close FILE with
43625 grub_file_close.
43626 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43627
04ccf3ec 436282005-10-24 Marco Gerards <mgerards@xs4all.nl>
43629
43630 * include/grub/parser.h: New file.
43631
43632 * kern/parser.c: Likewise.
43633
43634 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43635 (grub_setup_SOURCES): Likewise.
43636 (grub_probefs_SOURCES): Likewise.
43637 (grub_emu_SOURCES): Likewise.
43638 (kernel_img_HEADERS): Add `parser.h'.
43639
43640 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43641 (grub_emu_SOURCES): Add `kern/parser.c'.
43642 (grubof_SOURCES): Likewise.
43643
43644 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43645 (grubof_SOURCES): Add `kern/parser.c'.
43646
43647 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43648
43649 * kern/misc.c (grub_split_cmdline): Removed function.
43650
43651 * kern/rescue.c: Include <grub/parser.h>.
43652 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43653 of `grub_split_cmdline'.
43654
43655 * normal/command.c: Include <grub/parser.h>.
43656 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43657 of `grub_split_cmdline'.
43658
43659 * normal/completion.c: Include <grub/parser.h>.
43660 (cmdline_state): New variable.
43661 (iterate_dir): End the filename with a quote depending on the
43662 command line state.
43663 (get_state): new function.
43664 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43665 split the arguments and determine the current argument. When the
43666 argument string is not quoted, escape all spaces.
43667
6d8f4b0e 436682005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43669
43670 * normal/sparc64/setjmp.S: New file.
43671
15cf03ed 436722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43673
43674 * include/grub/sparc64/libgcc.h: New file.
43675 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43676 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43677 normal/sparc64/setjmp.c.
43678
03e8661a 436792005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43680
43681 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43682 * kern/sparc64/cache.S: New file.
43683 * kern/sparc64/cache.c: Removed.
43684 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43685 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43686 -mtune=ultrasparc.
43687 (COMMON_LDFLAGS): Add -melf64_sparc.
43688 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43689 (grubof_SOURCES): Use cache.S instead of cache.c.
43690 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43691 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43692 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43693 commented though.
43694 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43695 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43696 (linux_mod_CFLAGS): Commented out.
43697 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43698 out because module isn't built.
43699 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43700 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43701 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43702 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43703 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43704 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43705 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43706 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43707 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43708 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43709 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43710 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43711 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43712 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43713
34eeec8a 437142005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43715
43716 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43717 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43718 longer, because HFS should not be used on PC.
43719
708367a3 437202005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43721
43722 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43723 consistently within the loop.
43724
6fa1251a 437252005-10-15 Marco Gerards <mgerards@xs4all.nl>
43726
43727 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43728 directory can not be read.
43729
4801580b 437302005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43731
43732 * configure.ac (AC_INIT): Increase the version number to 1.91.
43733
43734 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43735 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43736 term/i386/pc/serial.c.
43737
219ad426 437382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43739
43740 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43741 file size must be permitted.
43742
43743 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43744 between %ah and %al.
43745
688e5699 437462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43747
43748 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43749 grub_uint64_t.
43750 Call the hook with a NUL-terminated filename.
43751 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43752 grub_cpu_to_be32.
43753
43754 * kern/term.c (cursor_state): New variable.
43755 (grub_term_set_current): Reset the cursor state on a new
43756 terminal.
43757 (grub_setcursor): Rewritten to use CURSOR_STATE.
43758 (grub_getcursor): New function.
43759
43760 * include/grub/term.h (grub_getcursor): New prototype.
43761
43762 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43763 integers on ARM. Reported by Timothy Baldwin
43764 <T.E.Baldwin99@members.leeds.ac.uk>.
43765
bb34586c 437662005-10-11 Marco Gerards <mgerards@xs4all.nl>
43767
43768 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43769 allocated.
43770 (grub_sfs_dir): Likewise.
43771
9a909877 437722005-10-09 Marco Gerards <mgerards@xs4all.nl>
43773
43774 Add support for the SFS filesystem.
43775
43776 * fs/sfs.c: New file.
43777
43778 * DISTLIST: Added `fs/sfs.c'.
43779
43780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43781 (grub_probefs_SOURCES): Likewise.
43782 (grub_emu_SOURCES): Likewise.
43783 (pkgdata_MODULES): Add `sfs.mod'.
43784 (sfs_mod_SOURCES): New variable.
43785 (sfs_mod_CFLAGS): Likewise.
43786 (sfs_mod_LDFLAGS): Likewise.
43787
43788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43789 (pkgdata_MODULES): Add `sfs.mod'.
43790 (sfs_mod_SOURCES): New variable.
43791 (sfs_mod_CFLAGS): Likewise.
43792
43793 * util/grub-emu.c (main): Call `grub_sfs_init' and
43794 `grub_sfs_fini'.
43795
43796 * include/grub/fs.h (grub_sfs_init): New prototype.
43797 (grub_sfs_fini): Likewise.
43798
57bdbde3 437992005-10-07 Marco Gerards <mgerards@xs4all.nl>
43800
43801 Add support for the AFFS filesystem.
43802
43803 * fs/affs.c: New file.
43804
43805 * DISTLIST: Added `fs/affs.c'.
43806
43807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43808 (grub_probefs_SOURCES): Likewise.
43809 (grub_emu_SOURCES): Likewise.
43810 (pkgdata_MODULES): Add `affs.mod'.
43811 (affs_mod_SOURCES): New variable.
43812 (affs_mod_CFLAGS): Likewise.
43813 (affs_mod_LDFLAGS): Likewise.
43814
43815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43816 (pkgdata_MODULES): Add `affs.mod'.
43817 (affs_mod_SOURCES): New variable.
43818 (affs_mod_CFLAGS): Likewise.
43819
43820 * util/grub-emu.c (main): Call `grub_affs_init' and
43821 `grub_affs_fini'.
43822
43823 * include/grub/fs.h (grub_affs_init): New prototype.
43824 (grub_affs_fini): Likewise.
43825
047b67e0 438262005-10-01 Marco Gerards <mgerards@xs4all.nl>
43827
43828 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43829
59b8208a 438302005-10-01 Marco Gerards <mgerards@xs4all.nl>
43831
43832 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43833 `-m32' to CFLAGS.
43834
43835 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43836 linking.
f19dbdb7 43837
59b8208a 43838 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43839 (COMMON_LDFLAGS): New variable.
43840 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43841 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43842 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43843 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43844 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43845 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43846 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43847 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43848 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43849 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43850 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43851 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43852 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43853 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43854 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43855 variables.
43856 (normal_mod_ASFLAGS): Add `-m32'.
43857
43858 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43859 (grub_host_size_t, grub_host_ssize_t): New types.
43860 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43861 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43862 `GRUB_HOST_SIZEOF_VOID_P'.
43863
43864 * include/grub/kernel.h (struct grub_module_header): Type of
43865 member offset changed to `grub_host_off_t'. Type of member size
43866 changed to `grub_host_size_t'.
43867 (struct grub_module_info): Type of member offset changed to
43868 `grub_host_off_t'. Type of member size changed to
43869 `grub_host_size_t'.
43870
b4093103 438712005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43872
43873 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43874
b4093103 43875 * kern/i386/pc/startup.S (multiboot_header): New label.
43876 (multiboot_entry): Likewise.
43877 (multiboot_trampoline): Likewise.
43878
43879 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43880 Increased to 0x4A0.
43881
43882 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43883 put parentheses after a question mark.
43884 [!GRUB_UTIL] (my_mod): New variable.
43885
43886 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43887
b2499b29 438882005-09-28 Marco Gerards <mgerards@xs4all.nl>
43889
43890 Adds support for the XFS filesystem. Btrees are not supported
43891 yet.
43892
43893 * fs/xfs.c: New file.
43894
43895 * DISTLIST: Added `fs/xfs.c'.
43896
43897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43898 (grub_probefs_SOURCES): Likewise.
43899 (grub_emu_SOURCES): Likewise.
43900 (pkgdata_MODULES): Add `xfs.mod'.
43901 (xfs_mod_SOURCES): New variable.
43902 (xfs_mod_CFLAGS): Likewise.
43903
43904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43905 (pkgdata_MODULES): Add `xfs.mod'.
43906 (xfs_mod_SOURCES): New variable.
43907 (xfs_mod_CFLAGS): Likewise.
43908
43909 * util/grub-emu.c (main): Call `grub_xfs_init' and
43910 `grub_xfs_fini'.
43911
43912 * include/grub/fs.h (grub_xfs_init): New prototype.
43913 (grub_xfs_fini): Likewise.
43914
f19dbdb7 43915
83d37a62 439162005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43917
43918 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43919 color modes, allow greater than 16 colors to be configured as
43920 a default palette.
43921
47d2d65e 439222005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43923
43924 * normal/completion.c (complete_arguments): Add the qualifier
43925 const into OPTIONS.
43926
43927 From Omniflux <omniflux+lists@omniflux.com>:
43928 * include/grub/terminfo.h: New file.
43929 * include/grub/tparm.h: Likewise.
43930 * include/grub/i386/pc/serial.h: Likewise.
43931 * term/terminfo.c: Likewise.
43932 * term/tparm.c: Likewise.
43933 * term/i386/pc/serial.c: Likewise.
43934 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43935 serial.mod.
43936 (terminfo_mod_SOURCES): New variable.
43937 (terminfo_mod_CFLAGS): Likewise.
43938 (serial_mod_SOURCES): Likewise.
43939 (serial_mod_CFLAGS): Likewise.
43940
48b671ff 439412005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43942
43943 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43944 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43945 and kern/powerpc/ieee1275/cmain.c, respectively.
43946
43947 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43948 * kern/powerpc/ieee1275/crt0.S: ... here.
43949
43950 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43951 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43952
48b671ff 43953 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43954 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43955 instead of boot/powerpc/ieee1275/crt0.S and
43956 boot/powerpc/ieee1275/cmain.c, respectively.
43957
43958 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43959 sectors. It was not used anyway.
43960
09fc77a7 439612005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43962
43963 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43964 `unused parameter' warning.
43965
003789c7 439662005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43967
43968 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43969 function.
43970 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43971 getcharwidth.
43972
67f44c86 439732005-08-28 Marco Gerards <metgerards@student.han.nl>
43974
43975 * include/grub/normal.h (enum grub_completion_type): Added
43976 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43977
43978 * normal/cmdline.c (print_completion): Handle
43979 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43980 * normal/menu_entry.c (store_completion): Likewise.
43981
43982 * normal/completion.c (complete_arguments): New function.
43983 (grub_normal_do_completion): Call `complete_arguments' when the
43984 current words start with a dash.
43985
0b5abe02 439862005-08-27 Marco Gerards <metgerards@student.han.nl>
43987
43988 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43989 `gzio.mod' instead of `io.mod').
43990
d9864ee1 439912005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43992
43993 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43994 (DISTDIRS): Added io and video.
43995 Rewrite the search routine to make an output consistently.
43996
43997 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43998 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43999 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44000 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44001 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44002 util/powerpc/ieee1275/misc.c.
f19dbdb7 44003
d9864ee1 44004 * include/grub/gzio.h: New file.
44005 * io/gzio.c: Likewise.
f19dbdb7 44006
d9864ee1 44007 * kern/file.c (grub_file_close): Call grub_device_close only if
44008 FILE->DEVICE is not NULL.
44009
44010 * include/grub/mm.h [!NULL] (NULL): New macro.
44011
44012 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44013
44014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44015 (pkgdata_MODULES): Added gzio.mod.
44016 (gzio_mod_SOURCES): New variable.
44017 (gzio_mod_CFLAGS): Likewise.
44018
44019 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44020 (pkgdata_MODULES): Added gzio.mod.
44021 (gzio_mod_SOURCES): New variable.
44022 (gzio_mod_CFLAGS): Likewise.
44023
44024 * commands/cat.c: Include grub/gzio.h.
44025 (grub_cmd_cat): Use grub_gzfile_open instead of
44026 grub_file_open.
f19dbdb7 44027
d9864ee1 44028 * commands/cmp.c: Include grub/gzio.h.
44029 (grub_cmd_cmp): Use grub_gzfile_open instead of
44030 grub_file_open.
44031
44032 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44033 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44034 grub_file_open.
44035 (grub_rescue_cmd_module): Likewise.
44036
fa46f4b5 440372005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44038
44039 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44040 kern/sparc64/ieee1275/init.c because it contains _start.
44041 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44042
e9211b5d 440432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44044
44045 * configure.ac: Add support for sparc64 host with ieee1275
44046 firmware.
44047 * configure: Generated from configure.ac.
44048 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44049 instead of int.
44050 (grub_ofdisk_read): Likewise.
44051 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44052 pointers as (void *) to remove a warning.
44053 (grub_ofdisk_close): Likewise.
44054 (grub_ofdisk_read): Likewise.
44055 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44056 returns, so make it return void to remove a warning.
44057 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44058 Corresponding prototype change.
44059 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44060 values, and cast the pointers as (void *) to remove a warning.
44061 (grub_mm_dump): Likewise.
44062 * conf/sparc64-ieee1275.mk: New file.
44063 * conf/sparc64-ieee1275.rmk: Likewise.
44064 * include/grub/sparc64/setjmp.h: Likewise.
44065 * include/grub/sparc64/types.h: Likewise.
44066 * include/grub/sparc64/ieee1275/console.h: Likewise.
44067 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44068 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44069 * include/grub/sparc64/ieee1275/time.h: Likewise.
44070 * kern/sparc64/cache.c: Likewise.
44071 * kern/sparc64/dl.c: Likewise.
44072 * kern/sparc64/ieee1275/init.c: Likewise.
44073 * kern/sparc64/ieee1275/openfw.c: Likewise.
44074
385c6a92 440752005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44076
44077 * util/console.c (grub_ncurses_putchar): If C is greater than
44078 0x7f, set C to a question mark.
44079 (grub_ncurses_getcharwidth): New function.
44080 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44081 getcharwidth.
44082
44083 * normal/menu.c (print_entry): Made aware of Unicode. First,
44084 convert TITLE to UCS-4, and predict the cursor position by
44085 grub_getcharwidth.
44086
44087 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44088 const to SRC.
44089 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44090
16ccb8b1 440912005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44092
44093 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44094 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44095 grub_strcat.
44096
44097 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44098 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44099 grub_strcpy and grub_strlen. Take it into account that a space
44100 character is inserted as a delimiter.
44101
6a85ce79 441022005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44103
44104 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 44105 invalid magic in the error.
6a85ce79 44106
44107 * commands/search.c: New file.
f19dbdb7 44108
6a85ce79 44109 * util/grub-emu.c (main): Call grub_search_init and
44110 grub_search_fini.
44111
44112 * kern/rescue.c (grub_rescue_print_disks): Removed.
44113 (grub_rescue_print_devices): New function.
44114 (grub_rescue_cmd_ls): Use grub_device_iterate with
44115 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44116 grub_rescue_print_disks.
44117
44118 * kern/partition.c (grub_partition_iterate): Return the result of
44119 PARTMAP->ITERATE instead of GRUB_ERRNO.
44120
44121 * kern/device.c: Include grub/partition.h.
44122 (grub_device_iterate): New function.
44123
44124 * include/grub/partition.h (grub_partition_iterate): Return int
44125 instead of grub_err_t.
44126
44127 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44128 prototype.
44129 [GRUB_UTIL] (grub_search_fini): Likewise.
44130
44131 * include/grub/device.h (grub_device_iterate): New prototype.
44132
44133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44134 commands/search.c.
44135 (pkgdata_MODULES): Added search.mod.
44136 (search_mod_SOURCES): New variable.
44137 (search_mod_CFLAGS): Likewise.
44138
44139 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44140 (pkgdata_MODULES): Added search.mod.
44141 (search_mod_SOURCES): New variable.
44142 (search_mod_CFLAGS): Likewise.
44143
44144 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44145 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44146 All callers changed.
44147
44148 * DISTLIST: Added commands/search.c.
44149
ef095434 441502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44151
44152 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44153 conversion.
44154 (grub_getcharwidth): New function.
44155
44156 * kern/misc.c (grub_utf8_to_ucs4): New function.
44157
44158 * include/grub/term.h (struct grub_term): Added a new member
44159 "getcharwidth".
44160 (grub_getcharwidth): New prototype.
44161
44162 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44163
44164 * term/i386/pc/console.c (map_char): New function. Segregated from
44165 grub_console_putchar.
44166 (grub_console_putchar): Use map_char.
44167 (grub_console_getcharwidth): New function.
44168 (grub_console_term): Specified grub_console_getcharwidth as
44169 getcharwidth.
44170
44171 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44172 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44173
44174 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44175 GRUB_ERRNO.
44176 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44177 on grub_strtoul completely.
44178 (write_char): Declare local variables in the beginning of the
44179 function.
44180 (grub_vesafb_getcharwidth): New function.
44181 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44182 getcharwidth.
44183
1f0a95e4 441842005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44185
44186 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44187 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44188 commands/i386/pc/vbetest.c.
44189
44190 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44191 call grub_vbe_get_controller_info again, because the returned
44192 information is volatile.
44193 (grub_vbe_set_video_mode): Mostly rewritten.
44194 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44195 grub_vbe_status_t correctly.
44196 (grub_vbe_get_video_mode_info): Likewise.
44197 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44198 several if statements.
44199
44200 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44201 * commands/i386/pc/vbeinfo.c: ... this.
44202
44203 * commands/i386/pc/vbe_test.c: Renamed to ...
44204 * commands/i386/pc/vbetest.c: ... this.
44205
44206 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44207 ...
44208 (grub_cmd_vbeinfo): ... this. Save video modes before
44209 iterating. Skip a video mode, if it is not available, not enough
44210 information is given or it is monochrome. Show the memory
44211 model. Leave the interpretation of MODEVAR to grub_strtoul
44212 completely.
44213 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44214 (GRUB_MOD_FINI): Likewise.
44215
44216 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44217 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44218 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44219 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44220 grub_strtoul completely.
44221 (real2pm): Removed.
44222 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44223 (GRUB_MOD_FINI): Likewise.
44224
44225 * normal/misc.c: Include grub/mm.h.
44226
44227 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44228 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44229 (vbe_list_modes_mod_SOURCES): Removed.
44230 (vbe_list_modes_mod_CFLAGS): Likewise.
44231 (vbe_test_mod_SOURCES): Likewise.
44232 (vbe_test_mod_CFLAGS): Likewise.
44233 (vbeinfo_mod_SOURCES): New variable.
44234 (vbeinfo_mod_CFLAGS): Likewise.
44235 (vbetest_mod_SOURCES): Likewise.
44236 (vbetest_mod_CFLAGS): Likewise.
44237
992ffbbe 442382005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44239
44240 * normal/misc.c: New file.
44241
44242 * DISTLIST: Added normal/misc.c.
f19dbdb7 44243
992ffbbe 44244 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44245 DISK to HOOK. Call HOOK with DISK.
44246 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44247 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44248 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44249
44250 * normal/menu_entry.c (struct screen): Added a new member
44251 "completion_shown".
44252 (completion_buffer): New global variable.
44253 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44254 (store_completion): New function.
44255 (complete): Likewise.
44256 (clear_completions): Likewise.
44257 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44258 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44259 a tab, call complete.
44260
44261 * normal/completion.c (disk_dev): Removed.
44262 (print_simple_completion): Likewise.
44263 (print_partition_completion): Likewise.
44264 (print_func): New global variable.
44265 (add_completion): Do not take the arguments WHAT or PRINT any
44266 longer. Added a new argument TYPE. Instead of printing directly,
44267 call PRINT_FUNC if not NULL.
44268 All callers changed.
44269 (complete_device): Use a local variable DEV instead of
44270 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44271 (grub_normal_do_completion): Take a new argument HOOK. Do not
44272 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44273 empty string, return NULL instead.
44274 All callers changed.
44275
44276 * normal/cmdline.c (print_completion): New function.
44277
44278 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44279 to HOOK.
44280 All callers changed.
44281
44282 * kern/disk.c (grub_print_partinfo): Removed.
44283
44284 * include/grub/partition.h (struct grub_partition_map): Add a new
44285 argument DISK into HOOK of ITERATE.
44286 (grub_partition_iterate): Add a new argument DISK to HOOK.
44287
44288 * include/grub/normal.h (enum grub_completion_type): New enum.
44289 (grub_completion_type_t): New type.
44290 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44291 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44292 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44293 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44294 (grub_normal_do_completion): Added a new argument HOOK.
44295 (grub_normal_print_device_info): New prototype.
44296
44297 * include/grub/disk.h (grub_print_partinfo): Removed.
44298
44299 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44300 (normal_mod_SOURCES): Likewise.
44301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44302 (normal_mod_SOURCES): Likewise.
44303
44304 * commands/ls.c (grub_ls_list_disks): Use
44305 grub_normal_print_device_info instead of grub_print_partinfo. Free
44306 PNAME.
44307 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44308 duplicating the code.
44309
0bd41162 443102005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44311
44312 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44313 follow GCS more precisely.
44314 * commands/i386/pc/vbe_test.c: Likewise.
44315 * include/grub/i386/pc/vbe.h: Likewise.
44316 * term/i386/pc/vesafb.c: Likewise.
44317 * video/i386/pc/vbe.c: Likewise.
0bd41162 44318
6323696a 443192005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44320
44321 * DISTLIST: Added term/i386/pc/vesafb.c
44322 DISTLIST: Added video/i386/pc/vbe.c
44323 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44324 DISTLIST: Added commands/i386/pc/vbe_test.c.
44325 * commands/i386/pc/vbe_list_modes.c: New file.
44326 * commands/i386/pc/vbe_test.c: Likewise.
44327 * term/i386/pc/vesafb.c: Likewise.
44328 * video/i386/pc/vbe.c: Likewise.
44329 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44330 (grub_vbe_probe) Added prototype.
44331 (grub_vbe_set_video_mode) Likewise.
44332 (grub_vbe_get_video_mode) Likewise.
44333 (grub_vbe_get_video_mode_info) Likewise.
44334 (grub_vbe_set_pixel_rgb) Likewise.
44335 (grub_vbe_set_pixel_index) Likewise.
44336 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44337 (pkgdata_MODULES): Added vesafb.mod.
44338 (pkgdata_MODULES): Added vbe_list_modes.mod.
44339 (pkgdata_MODULES): Added vbe_test.mod.
44340 (vbe_mod_SOURCES): Added.
44341 (vbe_mod_CFLAGS): Likewise.
44342 (vesafb_mod_SOURCES): Likewise.
44343 (vesafb_mod_CFLAGS): Likewise.
44344 (vbe_list_modes_mod_SOURCES): Likewise.
44345 (vbe_list_modes_mod_CFLAGS): Likewise.
44346 (vbe_test_mod_SOURCES): Likewise.
44347 (vbe_test_mod_CFLAGS): Likewise.
44348
0a74e62f 443492005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44350
0a74e62f 44351 * normal/command.c (grub_command_execute): If INTERACTIVE is
44352 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44353 CMDLINE. Disable the pager if INTERACTIVE is true.
44354 All callers are changed.
44355
44356 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44357 before reading a config file.
44358 * normal/main.c (read_config_file): Even if a command is not
44359 found, register it if it is within an entry.
44360
44361 * util/grub-emu.c: Include sys/types.h and unistd.h.
44362 (options): Added --hold.
44363 (struct arguments): Added a new member "hold".
44364 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44365 missing.
44366 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44367 cleared by a debugger, if it is not zero.
44368
44369 * include/grub/normal.h (grub_command_execute): Add an argument
44370 INTERACTIVE.
44371
e51f85ae 443722005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44373
44374 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44375
e9c6f39b 443762005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44377
44378 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44379 program with another one, because the old one didn't detect a bug
44380 in gcc-3.4. Always use regparm 2, because the new test is still
44381 not enough for gcc-4.0. Someone must investigate a simple test
44382 case which detects a bug in gcc-4.0.
44383
8de3495c 443842005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44385
44386 * DISTLIST: Added normal/completion.c.
44387
44388 * normal/completion.c: New file.
f19dbdb7 44389
8de3495c 44390 * term/i386/pc/console.c (grub_console_getwh): New function.
44391 (grub_console_term): Assign grub_console_getwh to getwh.
44392
44393 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44394 function is defined in normal/completion.c as
44395 grub_normal_do_completion.
44396 (grub_cmdline_get): Use grub_normal_do_completion instead of
44397 grub_tab_complete.
44398
44399 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44400 returns non-zero, otherwise return 0.
44401 (grub_partition_iterate): First, probe the partition map. Then,
44402 call ITERATE only for this partition map.
44403
44404 * kern/misc.c (grub_strncmp): Rewritten.
44405
44406 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44407 returns non-zero. Otherwise return 0.
44408
44409 * include/grub/partition.h (grub_partition_map_iterate): Return
44410 int instead of void.
44411
44412 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44413
44414 * include/grub/misc.h (grub_strncmp): Change the type of N to
44415 grub_size_t.
44416
44417 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44418 of void.
44419
44420 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44421 unsigned explicitly before comparing it with I.
8de3495c 44422
44423 * kern/main.c (grub_env_write_root): Add the attribute unused into
44424 VAR.
44425
44426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44427 normal/completion.c.
44428 (normal_mod_SOURCES): Likewise.
44429 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44430 (normal_mod_SOURCES): Likewise.
44431
44432 * normal/command.c (grub_iterate_commands): If ITERATE returns
44433 non-zero, return one immediately.
44434
e85e144b 444352005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44436
44437 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44438 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44439 descriptions.
44440 (grub_vbe_get_controller_info): New function.
44441 (grub_vbe_get_mode_info): Likewise.
44442 (grub_vbe_set_mode): Likewise.
44443 (grub_vbe_get_mode): Likewise.
44444 (grub_vbe_set_memory_window): Likewise.
44445 (grub_vbe_get_memory_window): Likewise.
44446 (grub_vbe_set_scanline_length): Likewise.
44447 (grub_vbe_get_scanline_length): Likewise.
44448 (grub_vbe_set_display_start): Likewise.
44449 (grub_vbe_get_display_start): Likewise.
44450 (grub_vbe_set_palette_data): Likewise.
44451 * include/grub/i386/pc/vbe.h: New file.
44452
c46153d2 444532005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44454
44455 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44456 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44457 * DISTLIST: Likewise.
44458 * kern/ieee1275/of.c: Moved to ...
44459 * kern/ieee1275/ieee1275.c: ... here.
44460
0cb90c45 444612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44462
44463 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44464 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44465 Pass 0 as `end' parameter to grub_strtoul().
44466
a19fb360 444672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44468
44469 * include/grub/powerpc/ieee1275/console.h: Do not include
44470 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44471 ifdef.
44472 (grub_console_cur_color): Remove i386-specific prototype.
44473 (grub_console_real_putchar): Likewise.
44474 (grub_console_checkkey): Likewise.
44475 (grub_console_getkey): Likewise.
44476 (grub_console_getxy): Likewise.
44477 (grub_console_gotoxy): Likewise.
44478 (grub_console_cls): Likewise.
44479 (grub_console_setcursor): Likewise.
44480 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44481 Include <grub/machine/console.h>.
44482 * term/ieee1275/ofconsole.c: Likewise.
44483
4ac9bd04 444842005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44485
44486 * Makefile.in (LIBLZO): New variable.
44487
44488 * configure.ac: Check for LZO version 2.
44489
44490 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44491 lzo/lzo1x.h instead of lzo1x.h.
44492
44493 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44494 of -llzo.
44495
44496 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44497 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44498
44499 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44500 copying the data from PARTITION to P.
44501
f4917dfd 445022005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44503
44504 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44505 negative, unload the module.
44506
44507 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44508 map is "pc_partition_map" but not "pc".
44509 (usage): Fix the description. The options are --boot-image and
44510 --core-image but not --boot-file or --core-file.
44511 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44512 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44513 DEFAULT_DIRECTORY.
44514
44515 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44516 --core-file. Specify INSTALL_DEVICE as an argument.
44517
44518 * util/console.c: Include config.h.
44519 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44520 [HAVE_NCURSES_H]: Include ncurses.h.
44521 [HAVE_CURSES_H]: Include curses.h.
44522 [!A_NORMAL] (A_NORMAL): Defined as zero.
44523 [!A_STANDOUT] (A_STANDOUT): Likewise.
44524
44525 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44526 -lncurses.
44527 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44528
44529 * configure.ac: Check for curses libraries and headers.
44530
44531 * Makefile.in (LIBCURSES): New variable.
44532
44533 * genmk.rb (Script::rule): Set the executable bits.
44534
44535 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44536 name of the PC partition map is "pc_partition_map" but not "pc".
44537
0e143073 445382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44539
44540 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44541 (modules): Likewise.
44542 (usage): Added descriptions for --modules and --grub-probefs.
44543 Handle --modules and --grub-probefs. Save the arguments in MODULES
44544 and GRUB_PROBEFS, respectively.
44545 Auto-detect a filesystem module against GRUBDIR. If the result is
44546 empty and modules are not specified explicitly, abort the
44547 installation. Add the result to MODULES.
44548
44549 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44550 disk/powerpc/ieee1275/ofdisk.c,
44551 include/grub/powerpc/ieee1275/init.h and
44552 term/powerpc/ieee1275/ofconsole.c.
44553 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44554 term/ieee1275/ofconsole.c.
44555
44556 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44557
44558 * COPYING: Upgraded to the latest version. Only the address of the
44559 FSF office has changed.
f19dbdb7 44560
efd6e6d5 445612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44562
44563 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44564 kern/ieee1275.c with kern/ieee1275/of.c.
44565
44566 * kern/ieee1275.c: Moved to ...
44567 * kern/ieee1275/of.c: ... here.
44568
8ceafda2 445692005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44570
44571 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44572 readability.
8ceafda2 44573
44574 * config.guess: Updated to the latest version from gnulib.
44575 * config.sub: Likewise.
44576 * install.sh: Likewise.
44577 * mkinstalldirs: Likewise.
44578
44579 * include/grub/console.h: Removed. This file is arch-specific. Do
44580 not put this in include/grub.
44581
44582 * include/grub/i386/pc/console.h: Resurrected.
44583
44584 * util/console.c: Include grub/machine/console.h instead of
44585 grub/console.h.
44586 * util/grub-emu.c: Likewise.
44587
267f6cd9 445882005-08-04 Marco Gerards <metgerards@student.han.nl>
44589
44590 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44591 hardcoded value.
f19dbdb7 44592
267f6cd9 44593 From Vincent Pelletier <subdino2004@yahoo.fr>
44594 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44595 Redefined to use grub_getwh.
44596 (grub_term): New member named getwh.
44597 (grub_getwh): New prototype.
44598 * kern/term.c (grub_getwh): New function.
44599 * term/i386/pc/console.c (grub_console_getwh): New function.
44600 (grub_console_term): New member `getwh'.
44601 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44602 (grub_vga_term): New member `getwh'.
0b5abe02 44603 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44604 grub_ssize_t.
44605 (grub_ofconsole_getw): New function.
44606 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44607 (grub_ofconsole_term): New field named getwh and new initial
44608 value.
44609
3be7266d 446102005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44611
44612 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44613 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44614 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44615 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44616 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44617 of <grub/machine/ieee1275.h>.
44618 * commands/ieee1275/reboot.c: Likewise.
44619 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44620 * kern/ieee1275.c: ... to here. All users updated. Change all
44621 parameter structs to use new type `grub_ieee1275_cell_t'.
44622 * term/powerpc/ieee1275/ofconsole.c: Move ...
44623 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44624 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44625 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44626 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44627 to return int.
44628 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44629 Remove unused prototypes. All users updated.
44630 * include/grub/powerpc/ieee1275/console.h: Removed.
44631 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44632 `grub_ieee1275_cell_t'.
44633 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44634 Cast comparisons with -1 to the correct type.
44635 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44636 type to match `grub_ieee1275_entry_fn'.
44637
8b5f3938 446382005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44639
44640 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44641
44642 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44643 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44644 partmap/sun.c.
44645 (grub_probefs_SOURCES): New variable.
44646
44647 * util/i386/pc/grub-probefs.c: New file.
44648
44649 * util/i386/pc/grub-setup.c (main): Call
44650 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44651 grub_hfs_init and grub_jfs_init to initialize the system. Call
44652 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44653 grub_pc_partition_map_fini to finish the system.
44654
ea409713 446552005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44656
44657 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44658 function.
44659 (grub_multiboot_load_elf32): Likewise.
44660 (grub_multiboot_is_elf64): Likewise.
44661 (grub_multiboot_load_elf64): Likewise.
44662 (grub_multiboot_load_elf): Likewise.
44663 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44664 an ELF32 or ELF64 file.
44665 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44666
44667 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44668 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44669 NULL before calling FS->LABEL.
44670 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44671 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44672 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44673 before calling FS->LABEL.
44674
141a288b 446752005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44676
44677 * util/i386/pc/grub-install.in (datadir): New variable.
44678 (libdir): Removed.
44679 (pkgdatadir): New variable.
44680 (pkglibdir): Removed.
44681
0d5f8a54 446822005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44683
44684 * DISTLIST: Added util/i386/pc/grub-install.in.
44685
44686 * util/i386/pc/grub-install.in: New file.
44687
44688 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44689 (grub_install_SOURCES): Likewise.
44690
44691 * genmk.rb: Added support for scripts.
44692 (Script): New class.
44693 (scripts): New variable.
44694
44695 * Makefile.in (install-local): Install sbin_SCRIPTS by
44696 INSTALL_SCRIPT.
44697 (uninstall): Remove sbin_SCRIPTS.
44698
44699 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44700 device, try to get a GRUB device by
44701 grub_util_biosdisk_get_grub_dev.
44702 Free DEST_DEV.
44703
44704 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44705 description for --device-map.
44706
5f968e1e 447072005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44708
44709 Change the semantics of variable hooks. They now return strings
44710 instead of error values.
f19dbdb7 44711
5f968e1e 44712 * util/i386/pc/grub-setup.c: Include grub/env.h.
44713 (setup): Use grub_device_set_root instead of grub_env_set.
44714
44715 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44716 grub_env_get instead of grub_device_set_root and
44717 grub_device_get_root, respectively.
44718
44719 * kern/main.c (grub_env_write_root): New function.
44720 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44721 grub_env_set instead of grub_device_set_root.
44722
44723 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44724 many variables.
44725 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44726 rather than calling ENV->WRITE_HOOK afterwards.
44727 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44728 passing a pointer of a pointer.
44729 (grub_register_variable_hook): Change the types of "read_hook" and
44730 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44731 respectively.
44732 Allocate the default empty string on the heap, because this string
44733 may be freed later.
44734
44735 * kern/device.c: Include grub/env.h.
44736 (grub_device_set_root): Removed.
44737 (grub_device_get_root): Likewise.
44738 (grub_device_open): Use grub_env_get instead of
44739 grub_device_get_root.
44740
44741 * include/grub/env.h (grub_env_read_hook_t): New type.
44742 (grub_env_write_hook_t): Likewise.
44743 (grub_env_var): Change the types of "read_hook" and "write_hook"
44744 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44745 (grub_register_variable_hook): Likewise.
44746
44747 * include/grub/device.h (grub_device_set_root): Removed.
44748 (grub_device_set_root): Likewise.
44749
44750 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44751 make sure that DIRNAME terminates with '/', so that
44752 grub_fat_find_dir will fail if PATH is not a directory.
44753
44754 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44755 from DIRNAME.
44756 Use the qualifier auto for print_files and print_files_long.
44757 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44758 as a regular file.
44759 Put a newline only if there is no error.
44760 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44761 used.
44762
896f0afd 447632005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44764
44765 * kern/partition.c (grub_partition_probe): Initialize PART to
44766 NULL. Otherwise, when no partition map is registered, this returns
44767 a garbage.
44768
b28b81b2 447692005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44770
44771 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44772 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44773 valid.
44774
5f3607e0 447752005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44776
44777 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44778 information on each device, if it does not have partitions. Print
44779 "Device" instead of "Disk", because this function is not specific
44780 to disk devices.
44781
44782 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44783 static to ensure that it is put on the memory rather than a
44784 register.
44785
502c87e8 447862005-07-17 Yoshinori Okuji <okuji@enbug.org>
44787
44788 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44789 (grub_cat_init): Likewise.
44790 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44791 (options): Likewise.
44792 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44793 (grub_configfile_init): Likewise.
44794 * font/manager.c (GRUB_MOD_INIT): Likewise.
44795 * commands/help.c (GRUB_MOD_INIT): Likewise.
44796 (grub_help_init): Likewise.
44797 * normal/command.c (grub_command_init): Likewise.
44798 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44799 * disk/loopback.c (grub_loop_init): Likewise.
44800 (GRUB_MOD_INIT): Likewise.
44801 * commands/ls.c (grub_ls_init): Likewise.
44802 (GRUB_MOD_INIT): Likewise.
44803 (options): Likewise.
44804 * commands/boot.c (grub_boot_init): Likewise.
44805 (GRUB_MOD_INIT): Likewise.
44806 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44807 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44808 (GRUB_MOD_INIT): Likewise.
44809 * commands/cmp.c (grub_cmp_init): Likewise.
44810 (GRUB_MOD_INIT): Likewise.
44811
44812 * normal/arg.c: Use <> instead of "" to include header files.
44813 (SHORT_ARG_HELP): New macro.
44814 (SHORT_ARG_USAGE): Likewise.
44815 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44816 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44817 descriptions.
44818 (find_short): Check if C is 'h' or 'u' explicitly.
44819 (grub_arg_show_help): Use space characters instead of tabs. Treat
44820 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44821 are shown with --help and --usage only if they are not used for
44822 the command itself.
44823 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44824 'h' and 'u'.
44825
44826 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44827 const into "longarg". Change the type of "shortarg" to int.
44828
f806d18e 448292005-07-17 Yoshinori Okuji <okuji@enbug.org>
44830
44831 * boot/i386/pc/boot.S (boot_drive_check): New label.
44832
44833 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44834 macro.
44835
44836 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44837 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44838
e293232b 448392005-07-17 Yoshinori Okuji <okuji@enbug.org>
44840
44841 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44842 When turning off Gate A20, skip the check and return immediately,
44843 because this is not fatal usually.
44844
ebedfd00 448452005-07-17 Yoshinori Okuji <okuji@enbug.org>
44846
44847 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44848 be 0x7C00 instead of 0x8000.
44849
44850 * boot/i386/pc/pxeboot.S: Rewritten.
44851
44852 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44853 EXT_C.
44854 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44855 result.
44856
654fc59f 448572005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44858
44859 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44860 robustness. This routine now supports a BIOS call and System
44861 Control Port A to modify the gate A20.
44862
44863 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44864 Increased to 0x440.
44865
09f9923f 448662005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44867
44868 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44869 device path and resulting ihandle.
44870 (grub_ofdisk_close): dprintf the ihandle being closed.
44871 (grub_ofdisk_read): dprintf function parameters.
44872 * kern/mm.c (grub_mm_init_region): Likewise.
44873 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44874 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44875 size, and boot arguments.
44876 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44877 before loading into memory.
44878 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44879 before loading into memory.
44880
7ef504d8 448812005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44882
44883 * kern/mm.c: Added much documentation.
44884 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44885 8, set to 5 instead of 8.
44886
e0f050c2 448872005-07-10 Yoshinori Okuji <okuji@enbug.org>
44888
44889 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44890
44891 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44892 (grub_mkdevicemap_SOURCES): New variable.
44893
44894 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44895 lib/device.c of GRUB Legacy.
44896
7224189a 448972005-07-10 Yoshinori Okuji <okuji@enbug.org>
44898
44899 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44900 instead of PATH is NULL.
44901
68c864eb 449022005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44903
44904 * commands/cmp.c (BUFFER_SIZE): New macro.
44905 (grub_cmd_cmp): Close the right file at the right time. Compare
44906 only data just read. Don't report files of different size as
44907 identical. Dynamically allocate buffers. Move variable
44908 declarations at the beginning of function.
44909
e6f3e614 449102005-07-09 Yoshinori Okuji <okuji@enbug.org>
44911
44912 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44913 reverse.
44914
f8f1559a 449152004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44916
44917 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44918 when backspace is pressed at beginning of line.
44919
39c9d41d 449202005-07-03 Yoshinori Okuji <okuji@enbug.org>
44921
44922 * DISTLIST: Added genfslist.sh.
44923
44924 * normal/main.c (fs_module_list): New variable.
44925 (autoload_fs_module): New function.
44926 (read_fs_list): Likewise.
44927 (grub_normal_execute): Call read_fs_list.
44928
44929 * kern/fs.c (grub_fs_autoload_hook): New variable.
44930 (grub_fs_probe): Added support for auto-loading.
44931
44932 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44933 (grub_fs_module_list_t): New type.
44934
44935 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44936 (grub_fs_autoload_hook): New prototype.
44937
44938 * genfslist.sh: New file.
f19dbdb7 44939
39c9d41d 44940 * genmk.rb: Added a rule to generate a filesystem list.
44941
121c1d83 449422005-06-30 Marco Gerards <metgerards@student.han.nl>
44943
44944 * configure.ac: Fix the test for cross-compiling.
44945
44946 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44947 define GRUB_UTIL anymore.
44948
44949 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44950 so this function works on other systems than just big endian.
44951 (load_modules): Likewise.
44952 (add_segments): Likewise.
44953
e75d76e1 449542005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44955
44956 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44957 contains `l' modifier, get a long from va_arg().
44958
50b5a0a7 449592005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44960
44961 * kern/mm.c (grub_free): If the next free block which is being
44962 merged is the first free block, set the first block to the block
44963 being freed.
44964 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44965
89371b20 449662005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44967
44968 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44969 `grub_ieee1275_chosen'.
44970
168d6e58 449712005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44972
44973 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44974 (grub_ieee1275_chosen): New variable.
44975 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44976 `chosen'.
44977 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44978 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44979 Rename first argument to `phandle' for consistency.
44980 (grub_ieee1275_get_property_length): Likewise.
44981 (grub_ieee1275_next_property): Likewise. Change type of first argument
44982 to grub_ieee1275_phandle_t.
44983 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44984 Move export next to declaration.
44985 (grub_ieee1275_chosen): New variable.
44986 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44987 Correct cosmetic typo.
44988 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44989 `grub_ieee1275_chosen'.
44990 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44991 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44992 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44993 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44994 `grub_ieee1275_chosen'.
44995
ca5baa3f 449962005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44997
44998 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44999 /chosen/bootargs.
45000 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45001 /chosen/bootargs as "variable=value" pairs.
45002
708b345f 450032005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45004
45005 * include/grub/misc.h (grub_dprintf): New macro.
45006 (grub_real_dprintf): New prototype.
45007 (grub_strword): Likewise.
45008 (grub_iswordseparator): Likewise.
45009 * kern/misc.c (grub_real_dprintf): New function.
45010 (grub_strword): Likewise.
45011 (grub_iswordseparator): Likewise.
45012
f4c5e67c 450132005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45014
45015 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45016 (roundup): Remove macro.
45017 (grub_ieee1275_flags): Make static.
45018 (grub_ieee1275_realmode): Remove.
45019 (grub_ieee1275_test_flag): New function.
45020 (grub_ieee1275_set_flag): Likewise.
45021 (find_options): Rename to `grub_ieee1275_find_options'; update
45022 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45023 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45024 (cmain): New prototype.
45025 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45026 `grub_ieee1275_flags' directly.
45027 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45028 machine/biosdisk.h.
45029 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45030 Don't include grub/machine/init.h.
45031 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45032 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45033 Remove prototype.
45034 (grub_ieee1275_realmode): Likewise.
45035 (grub_ieee1275_flag): New enum.
45036 (grub_ieee1275_test_flag): New prototype.
45037 (grub_ieee1275_set_flag): New prototype.
45038 * include/grub/powerpc/ieee1275/init.h: Remove file.
45039 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45040 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45041 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45042 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45043 comment.
45044 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45045 `grub_ieee1275_test_flag'.
45046 (grub_ieee1275_encode_devname): Likewise.
45047
ed16607e 450482005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45049
45050 * include/grub/powerpc/ieee1275/ieee1275.h
45051 (grub_ieee1275_encode_devname): New prototype.
45052 (grub_ieee1275_get_filename): Likewise.
45053 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45054 function.
45055 (grub_set_prefix): Likewise.
45056 (grub_machine_init): Call grub_set_prefix.
45057 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45058 (grub_parse_type): New enum.
45059 (grub_ieee1275_get_devargs): New function.
45060 (grub_ieee1275_get_devname): Likewise.
45061 (grub_ieee1275_parse_args): Likewise.
45062 (grub_ieee1275_get_filename): Likewise.
45063 (grub_ieee1275_encode_devname): Likewise.
45064
be369920 450652005-03-30 Marco Gerards <metgerards@student.han.nl>
45066
45067 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45068 `grub_loader_unset'.
45069
a5ce3a4a 450702005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45071
45072 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45073 instead of grub_ieee1275_interpret.
45074 (grub_halt_init): New function.
45075 (grub_halt_fini): Likewise.
45076 (GRUB_MOD_INIT): Correct message grammar.
45077 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45078 instead of grub_ieee1275_interpret.
45079 (grub_reboot_init): New function.
45080 (grub_reboot_fini): Likewise.
45081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45082 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45083 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45084 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45085 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45086 function.
45087 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45088 Add prototype.
45089 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45090 prototype.
45091 (grub_halt): Likewise.
45092 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45093 (cmain): Remove __attribute__((unused)).
45094 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45095 (grub_heap_len): Likewise.
45096 (grub_machine_fini): New function.
45097 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45098 (grub_halt): Likewise.
45099 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45100 function.
45101 * util/powerpc/ieee1275/misc.c: New file.
45102
0058f771 451032005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45104
45105 * DISTLIST: New file.
45106 * gendistlist.sh: Likewise.
f19dbdb7 45107
0058f771 45108 * Makefile.in (COMMON_DISTFILES): Removed.
45109 (BOOT_DISTFILES): Likewise.
45110 (CONF_DISTFILES): Likewise.
45111 (DISK_DISTFILES): Likewise.
45112 (FS_DISTFILES): Likewise.
45113 (INCLUDE_DISTFILES): Likewise.
45114 (KERN_DISTFILES): Likewise.
45115 (LOADER_DISTFILES): Likewise.
45116 (TERM_DISTFILES): Likewise.
45117 (UTIL_DISTFILES): Likewise.
45118 (DISTFILES): Likewise.
45119 (uninstall): Uninstall files in $(pkgdata_DATA).
45120 (DISTLIST): New target.
45121 (distdir): Use the contents of the file DISTLIST to get a list of
45122 distributed files.
45123
46b3b8a5 451242005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45125
45126 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45127 descriptor. This is ported from GRUB Legacy.
45128
45129 * gencmdlist.sh: Added an extra semicolon to make it work with
45130 old sed versions. Reported by Robert Bihlmeyer
45131 <robbe@orcus.priv.at>.
45132
5822ff87 451332005-03-08 Yoshinori Okuji <okuji@enbug.org>
45134
45135 Automatic loading of commands is supported.
f19dbdb7 45136
5822ff87 45137 * normal/main.c (read_command_list): New function.
45138 (grub_normal_execute): Call read_command_list.
45139
45140 * normal/command.c (grub_register_command): Return zero or CMD.
45141 Allocate CMD->NAME from the heap.
45142 Initialize CMD->MODULE_NAME to zero.
45143 Find the same name as well. If the same command is found and it is
45144 a dummy command, overwrite members. If it is not a dummy command,
45145 return zero.
45146 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45147 (grub_command_find): If a dummy command is found, load a module
45148 and retry to find a command only once.
45149
45150 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45151 make sure that each command is loaded.
45152
45153 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45154 macro.
45155 (struct grub_command): Remove const from the member `name'.
45156 Add a new member `module_name'.
45157 (grub_register_command): Return grub_command_t.
45158
45159 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45160 sure that each command is loaded.
45161
45162 * genmk.rb (PModule::rule): Specify a module name without the
45163 suffix ".mod" to gencmdlist.sh.
45164
7b1f4b57 451652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45166
45167 * gencmdlist.sh: New file.
f19dbdb7 45168
7b1f4b57 45169 * genmk.rb (PModule::rule): Generate a rule for a command list.
45170 Clean command.lst.
45171 Generate command.lst from $(COMMANDFILES).
45172
45173 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45174 (DATA): Added $(pkgdata_DATA).
45175 (install-local): Install files in $(pkgdata_DATA).
45176
062aaf39 451772005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45178
45179 * term/i386/pc/vga.c (debug_command): Removed.
45180 (GRUB_MOD_INIT): Do not register the command "debug".
45181
45182 From Hollis Blanchard:
45183 * commands/configfile.c: New file.
45184 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45185 commands/configfile.c.
45186 (pkgdata_MODULES): Added configfile.mod.
45187 (configfile_mod_SOURCES): New variable.
45188 (configfile_mod_CFLAGS): Likewise.
45189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45190 commands/configfile.c.
45191 (pkgdata_MODULES): Added configfile.mod.
45192 (configfile_mod_SOURCES): New variable.
45193 (configfile_mod_CFLAGS): Likewise.
45194 * util/grub-emu.c (main): Call grub_configfile_init and
45195 grub_configfile_fini.
45196 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45197 prototype.
45198 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 45199
cee01aa6 452002005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45201
45202 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45203 address.
45204
45205 * commands/help.c (grub_cmd_help): Do not print newlines after
45206 the last command in print_command_help.
45207
93f3a1d8 452082005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45209
45210 * commands/default.h: New file.
45211 * commands/timeout.h: Likewise.
45212 * normal/context.c: Likewise.
f19dbdb7 45213
93f3a1d8 45214 * util/misc.c: Do not include sys/times.h.
45215 Include sys/time.h and grub/machine/time.h.
45216 (grub_get_rtc): Rewritten with gettimeofday.
45217
45218 * util/grub-emu.c (main): Call grub_default_init and
45219 grub_timeout_init before grub_normal_init, and call
45220 grub_timeout_fini and grub_default_fini after grub_main.
45221
45222 * util/console.c (grub_ncurses_checkkey): Return the read
45223 character or -1.
45224
45225 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45226 timeouts.
45227
45228 * normal/main.c (read_config_file): Push MENU. If this fails,
45229 print an error and wait for a user input.
45230 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45231 If a menu is empty or an error occurs, pop MENU.
45232 (grub_normal_execute): Pop and free MENU after grub_menu_run
45233 returns.
45234
45235 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45236
45237 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45238 include time.h.
45239 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45240 without GRUB_UTIL.
45241 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45242 time.h.
45243 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45244 without GRUB_UTIL.
45245
45246 * include/grub/normal.h (struct grub_menu_list): New struct.
45247 (grub_menu_list_t): New type.
45248 (struct grub_context): New struct.
45249 (grub_context_t): New type.
45250 (grub_register_command): Got rid of EXPORT_FUNC.
45251 (grub_unregister_command): Likewise.
45252 (grub_context_get): New prototype.
45253 (grub_context_get_current_menu): Likewise.
45254 (grub_context_push_menu): Likewise.
45255 (grub_context_pop_menu): Likewise.
45256 [GRUB_UTIL] (grub_default_init): Likewise.
45257 [GRUB_UTIL] (grub_default_fini): Likewise.
45258 [GRUB_UTIL] (grub_timeout_init): Likewise.
45259 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45260
45261 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45262 commands/timeout.c and normal/context.c.
45263 (pkgdata_MODULES): Added default.mod and timeout.mod.
45264 (normal_mod_SOURCES): Added normal/context.c.
45265 (default_mod_SOURCES): New variable.
45266 (default_mod_CFLAGS): Likewise.
45267 (timeout_mod_SOURCES): Likewise.
45268 (timeout_mod_CFLAGS): Likewise.
45269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45270 conf/i386-pc.rmk.
45271 (pkgdata_MODULES): Added default.mod and timeout.mod.
45272 (normal_mod_SOURCES): Added normal/context.c.
45273 (default_mod_SOURCES): New variable.
45274 (default_mod_CFLAGS): Likewise.
45275 (timeout_mod_SOURCES): Likewise.
45276 (timeout_mod_CFLAGS): Likewise.
45277
45278 * Makefile.in (all-local): Added $(MKFILES).
45279
4ed2e1dd 452802005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45281
45282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45283 (grub_emu_SOURCES): Likewise.
45284 (pkgdata_MODULES): Add `sun.mod'.
45285 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45287 `partmap/sun.c'.
45288 (pkgdata_MODULES): Add `sun.mod'.
45289 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45290 * include/grub/partition.h (grub_sun_partition_map_init): New
45291 prototype.
45292 (grub_sun_partition_map_fini): Likewise.
45293 * partmap/sun.c: New file.
45294 * util/grub-emu.c (main): Initialize and de-initialize the sun
45295 partitionmap support.
45296
4d4e372e 452972005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45298
45299 This implements an Emacs-like menu entry editor.
f19dbdb7 45300
4d4e372e 45301 * normal/menu_entry.c: New file.
f19dbdb7 45302
4d4e372e 45303 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45304 characters to ASCII.
45305 (saved_char): New variable.
45306 (grub_ncurses_checkkey): Rewritten completely.
45307 (grub_ncurses_getkey): Likewise.
45308 (grub_ncurses_init): Call raw instead of cbreak.
45309
45310 * normal/menu.c (print_entry): Do not put a space.
45311 (init_page): Renamed to ...
45312 (grub_menu_init_page): ... this. All callers changed.
45313 (edit_menu_entry): Removed.
45314 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45315
45316 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45317
45318 * kern/misc.c (grub_vprintf): Call grub_refresh.
45319
45320 * normal/menu.c (DISP_LEFT): Renamed to ...
45321 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45322 * normal/menu.c (DISP_UP): Renamed to ...
45323 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45324 * normal/menu.c (DISP_RIGHT): Renamed to ...
45325 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45326 * normal/menu.c (DISP_DOWN): Renamed to ...
45327 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45328 * normal/menu.c (DISP_HLINE): Renamed to ...
45329 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45330 * normal/menu.c (DISP_VLINE): Renamed to ...
45331 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45332 * normal/menu.c (DISP_UL): Renamed to ...
45333 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45334 * normal/menu.c (DISP_UR): Renamed to ...
45335 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45336 * normal/menu.c (DISP_LL): Renamed to ...
45337 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45338 * normal/menu.c (DISP_LR): Renamed to ...
45339 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45340 * normal/menu.c (TERM_WIDTH): Renamed to ...
45341 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45342 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45343 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45344 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45345 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45346 * normal/menu.c (TERM_MARGIN): Renamed to ...
45347 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45348 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45349 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45350 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45351 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45352 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45353 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45354 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45355 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45356 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45357 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45358 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45359 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45360 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45361 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45362 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45363 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45364 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45365 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45366 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45367 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45368 All callers changed.
45369
45370 * include/grub/normal.h: New prototype.
45371
45372 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45373 normal/menu_entry.c.
45374 (normal_mod_SOURCES): Likewise.
45375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45376 (normal_mod_SOURCES): Likewise.
45377
e6b92c8a 453782005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45379
45380 * include/grub/normal.h (grub_halt_init): New prototype.
45381 (grub_halt_fini): Likewise.
45382 (grub_reboot_init): Likewise.
45383 (grub_reboot_fini): Likewise.
45384
45385 * util/grub-emu.c: Include signal.h.
45386 (main_env): New global variable.
45387 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45388 catch C-c.
45389 (grub_machine_fini): New function.
45390 (main): Call grub_halt_init and grub_reboot_init before
45391 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45392 Call setjmp with MAIN_ENV to go back afterwards.
45393 Call grub_machine_fini right before return.
45394
45395 * include/grub/util/misc.h: Include setjmp.h.
45396 (main_env): New prototype.
45397
45398 * include/grub/kernel.h (grub_machine_fini): New prototype.
45399 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45400 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45401
45402 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45403 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45404 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45405
e6b92c8a 45406 * util/i386/pc/misc.c: New file.
f19dbdb7 45407
e6b92c8a 45408 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45409 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45410 commands/i386/pc/reboot.c.
45411
c642636f 454122005-02-14 Guillem Jover <guillem@hadrons.org>
45413
45414 * include/grub/dl.h (grub_dl_check_header): New prototype.
45415 (grub_arch_dl_check_header): Change return type to grub_err_t,
45416 remove size parameter and export function. Update all callers.
45417 * kern/dl.c (grub_dl_check_header): New function.
45418 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45419 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45420 are inside the core.
45421 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45422 independent ELF header checks.
45423 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45424 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45425 `grub_dl_check_header' instead of explicit checks. Check for the
45426 ELF type.
45427 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45428 `grub_dl_check_header' instead of explicit checks. Remove arch
45429 specific ELF header checks.
45430
e6b92c8a 45431 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45432 argument SIZE.
45433
5eabe94b 454342005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45435
45436 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45437 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45438
1b14a681 454392005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45440
45441 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45442 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45443 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45444 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45445 * partmap/amiga.c (amiga_partition_map_iterate): Return
45446 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45447 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45448
aca108aa 454492005-02-01 Guillem Jover <guillem@hadrons.org>
45450
45451 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45452 help info.
45453
c9f9c556 454542005-01-31 Marco Gerards <metgerards@student.han.nl>
45455
45456 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45457 Removed prototype.
45458 (grub_rescue_cmd_linux): New prototype.
45459 (grub_rescue_cmd_initrd): Likewise.
45460 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45461 `bi_rec'.
45462 (grub_linux_release_mem): Release the memory for the initrd.
45463 (grub_load_linux): Renamed from this...
45464 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45465 Changed `entry' not to be static. Loop over memory regions to
45466 find another one when the default fails.
45467 (grub_rescue_cmd_initrd): New function.
45468 (grub_linux_init): Remove function.
45469 (grub_linux_fini): Likewise.
45470 (GRUB_MOD_INIT): Register `initrd'.
45471 (GRUB_MOD_FINI): Unregister `initrd'.
45472 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45473 Function removed.
45474 (grub_linux_normal_fini): Likewise.
45475 (GRUB_MOD_INIT): Register `initrd'.
45476 (GRUB_MOD_FINI): Unregister `initrd'.
45477
990cf3aa 454782005-01-31 Marco Gerards <metgerards@student.han.nl>
45479
45480 * commands/help.c: New file.
45481 * normal/arg.c (show_help): Renamed to...
45482 (grub_arg_show_help): ... this.
45483 * commands/i386/pc/halt.c: New file.
45484 * commands/i386/pc/reboot.c: Likewise.
45485 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45486 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45487 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45488 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45489 variables.
45490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45491 `commands/help.c'.
45492 (pkgdata_MODULES): Add `help.mod'.
45493 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45494 * grub/i386/pc/init.h (grub_reboot): New prototype.
45495 (grub_halt): Likewise.
45496 * include/grub/normal.h (grub_arg_show_help): New prototype.
45497 (grub_help_init): Likewise.
45498 (grub_help_fini): Likewise.
45499 * util/grub-emu.c (main): Initialize and deinitialize the help
45500 command.
45501
45502 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45503
45504 * normal/command.c (grub_command_init): Fixed the description of
45505 the `set' and `unset' commands.
45506
455072005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45508
45509 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45510 function.
45511 * commands/ieee1275/halt.c: New file.
45512 * commands/ieee1275/reboot.c: Likewise.
45513 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45514 `__attribute__ ((unused))'. Some GCS related fixed.
45515 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45516 (grub_suspend_fini): Likewise.
45517 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45518 and `halt.mod'.
45519 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45520 (halt_mod_CFLAGS): New variables.
45521 * include/grub/powerpc/ieee1275/ieee1275.h
45522 (grub_ieee1275_interpret): New prototype.
45523
1ab09cc7 455242005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45525
45526 * include/grub/misc.h (memmove): New prototype.
45527 (memcpy): Likewise.
45528
8b8cbdb2 455292005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45530
45531 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45532 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45533
e3741a27 455342005-01-22 Marco Gerards <metgerards@student.han.nl>
45535
45536 * kern/misc.c (grub_strndup): Function rewritten.
45537
776bd780 455382005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45539
45540 * normal/menu.c (TERM_WIDTH): Macro redefined.
45541 (TERM_TOP_BORDER_Y): Likewise.
45542 (draw_border): Replaced while-loop by a for-loop. Make the number
45543 of lines consistent with the number of lines displayed in
45544 print_entries. Added a margin below the rectangle.
45545 (print_entry): Make the entry fit in the rectangle.
45546 (print_entries): Display the scroll arrows next to the right
45547 border.
45548
78026bce 455492005-01-21 Marco Gerards <metgerards@student.han.nl>
45550
45551 * fs/minix.c (grub_minix_find_file): Reserve more space for
45552 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45553 `grub_strncpy' to copy `path' into it.
45554
67bbaf0f 455552005-01-21 Marco Gerards <metgerards@student.han.nl>
45556
45557 Add the loopback device, a device via which files can be accessed
45558 as devices.
f19dbdb7 45559
67bbaf0f 45560 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45561 (pkgdata_MODULES): Add loopback.mod.
45562 (loopback_mod_SOURCES): New variable.
45563 (loopback_mod_CFLAGS): Likewise.
45564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45565 `disk/loopback.c'.
45566 (pkgdata_MODULES): Add loopback.mod.
45567 (loopback_mod_SOURCES): New variable.
45568 (loopback_mod_CFLAGS): Likewise.
45569 * disk/loopback.c: new file.
45570 * include/grub/normal.h (grub_loop_init): New prototype.
45571 (grub_loop_fini): New prototype.
45572 * util/grub-emu.c (main): Initialize and de-initialize loopback
45573 support.
45574 * include/grub/disk.h (grub_disk_dev_id): Add
45575 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45576
6f1c18bd 455772005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45578
45579 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45580 function.
45581 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45582 (suspend_mod_SOURCES): New variable.
45583 (suspend_mod_CFLAGS): Likewise.
45584 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45585 New prototype.
45586 * commands/ieee1275/suspend.c: New file.
45587
b38551da 455882005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45589
45590 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45591 ((unused))' to `__attribute__ ((used))'.
b38551da 45592 (GRUB_MOD_FINI): Likewise.
45593 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45594 * genmk.rb (PModule): Assign space to common symbols when linking
45595 modules.
45596
777aff39 455972005-01-20 Marco Gerards <metgerards@student.han.nl>
45598
45599 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45600 `unsigned' arguments to `grub_size_t'.
45601 (grub_malloc): Likewise.
45602 (grub_realloc): Likewise.
45603 (grub_memalign): Likewise.
45604 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45605 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45606 * util/misc.c (grub_malloc): Likewise.
45607 (grub_realloc): Likewise.
45608 * kern/mm.c (get_header_from_pointer): Change the casts to
45609 `unsigned' into a cast to `grub_size_t'.
45610
45611 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45612 point to `currnode' when `currnode' is changed.
45613
45614 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45615 Schottelius <nico-linux@schottelius.org>.
45616
d0ff18e1 456172005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45618
45619 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45620 (note_path): Remove variable.
45621 (GRUB_IEEE1275_NOTE_NAME): New macro.
45622 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45623 (grub_ieee1275_note_hdr): New structure.
45624 (grub_ieee1275_note_desc): Likewise.
45625 (grub_ieee1275_note): Likewise.
45626 (load_note): Remove `dir' argument. All callers updated. Remove
45627 `note_img' and `path'. Do not load a file from `note_path'.
45628 Initialize a struct grub_ieee1275_note and write that to `out'.
45629 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45630
4ca7004c 456312005-01-05 Marco Gerards <metgerards@student.han.nl>
45632
45633 * util/misc.c (grub_util_read_image): Revert last change. It
45634 called `grub_util_read_at', which seeks from the beginning of the
45635 file.
45636
0b412211 456372005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45638
45639 * TODO: Add note about endianness in grub-mkimage.
45640 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45641 section.
45642 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45643 (grub_mkimage_SOURCES): New target.
45644 * include/grub/kernel.h (grub_start_addr): Remove variable.
45645 (grub_end_addr): Likewise.
45646 (grub_total_module_size): Likewise.
45647 (grub_kernel_image_size): Likewise.
45648 (GRUB_MODULE_MAGIC): New constant.
45649 (grub_module_info): New structure.
45650 (grub_arch_modules_addr): New prototype.
45651 (grub_get_end_addr): Remove prototype.
45652 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45653 * include/grub/powerpc/ieee1275/kernel.h: New file.
45654 * include/grub/util/misc.h (grub_util_get_fp_size): New
45655 prototype.
45656 (grub_util_read_at): Likewise.
45657 (grub_util_write_image_at): Likewise.
45658 * kern/main.c (grub_get_end_addr): Remove function.
45659 (grub_load_modules): Call grub_arch_modules_addr instead of using
45660 grub_end_addr. Look for a grub_module_info struct in memory. Use
45661 the grub_module_info fields instead of calling grub_get_end_addr
45662 as loop conditions. Move grub_add_unused_region code here.
45663 (grub_add_unused_region): Remove function.
45664 * kern/i386/pc/init.c: Include grub/cache.h.
45665 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45666 one call to add_mem_region.
45667 (grub_arch_modules_addr): New function.
45668 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45669 (grub_total_module_size): Likewise.
45670 Include grub/machine/kernel.h.
45671 (grub_arch_modules_addr): New function.
45672 * util/grub-emu.c (grub_end_addr): Remove variable.
45673 (grub_total_module_size): Likewise.
45674 (grub_arch_modules_addr): New function.
45675 * util/misc.c: Include unistd.h.
45676 (grub_util_get_fp_size): New function.
45677 (grub_util_read_at): Likewise.
45678 (grub_util_write_image_at): Likewise.
45679 (grub_util_read_image): Call grub_util_read_at.
45680 (grub_util_write_image): Call grub_util_write_image_at.
45681 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45682 additional memory in kernel_img for a struct grub_module_info.
45683 Fill in that grub_module_info.
45684 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45685
458786f8 456862005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45687
45688 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45689 New function.
45690 * include/grub/powerpc/ieee1275/ieee1275.h
45691 (grub_ieee1275_milliseconds): New prototype.
45692 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45693 Change to 1000.
45694 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45695 grub_ieee1275_milliseconds.
45696
ac507d1b 456972005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45698
45699 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45700 variable.
45701 (find_options): New function.
45702 (cmain): Call find_options.
45703 * include/grub/powerpc/ieee1275/ieee1275.h
45704 (grub_ieee1275_realmode): New extern variable.
45705 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45706 grub_map if grub_ieee1275_realmode is false.
45707
6b8fd1c4 457082004-12-29 Marco Gerards <metgerards@student.han.nl>
45709
45710 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45711 lines are inserted and make it work like readline. Reported by
45712 Vincent Pelletier <subdino2004@yahoo.fr>.
45713
8514a1e0 457142004-12-28 Marco Gerards <metgerards@student.han.nl>
45715
45716 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45717
45718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45719 `kern/powerpc/cache.S'.
45720
924b6140 457212004-12-27 Marco Gerards <metgerards@student.han.nl>
45722
45723 * genmk.rb: Handle the `Program' class in the main loop. Written
45724 by Johan Rydberg <jrydberg@gnu.org>.
45725 (Program): New class.
45726 (programs): New variable.
45727 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45728 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45729 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45730 (help_arch): Function removed.
45731 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45732 `powerpc/libgcc.h' and `loader.h'.
45733 (pkgdata_PROGRAMS): New variable.
45734 (sbin_UTILITIES): Variable removed.
45735 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45736 (grubof_SOURCES): Variable re-defined so it only includes the
45737 core functionality.
45738 (grubof_CFLAGS): Remove `-DGRUBOF'.
45739 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45740 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45741 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45742 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45743 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45744 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45745 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45746 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45747 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45748 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45749 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45750 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45751 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45752 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45753 (pc_mod_CFLAGS): New variables.
45754 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45755 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45756 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45757 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45758 Moved from here...
45759 * include/grub/i386/pc/init.h (grub_os_area_addr)
45760 (rub_os_area_size): ... to here.
45761 * include/grub/powerpc/ieee1275/ieee1275.h
45762 (grub_ieee1275_entry_fn): Export symbol.
45763 * include/grub/powerpc/ieee1275/init.h: New file.
45764 * include/grub/powerpc/libgcc.h: Likewise.
45765 * include/grub/cache.h: Likewise.
45766 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45767 <hollis@penguinppc.org>.
45768 * kern/dl.c: Include <grub/cache.h>.
45769 (grub_dl_flush_cache): New function.
45770 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45771 for this module.
45772 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45773 (grub_console_init): Removed prototypes.
45774 (grub_machine_init): Don't initialize the modules anymore.
45775 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45776 static.
45777 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45778 Macro undef removed.
45779 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45780 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45781 relocation `R_PPC_REL32'. Return an error when the relocation is
45782 unknown.
45783 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45784 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45785 * util/misc.c (grub_arch_sync_caches): Likewise.
45786
e4b47e0c 457872004-12-19 Marco Gerards <metgerards@student.han.nl>
45788
45789 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45790 `symlist.c', add `grubof_symlist.c'.
45791 (symlist.c): Variable removed.
45792 (grubof_HEADERS): Variable added.
45793 (grubof_symlist.c): New target.
45794 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45795 `kernel_img_HEADERS'.
45796 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45797 * kern/powerpc/dl.c: New file.
45798 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45799 Function removed.
45800 (grub_arch_dl_relocate_symbols): Likewise.
45801 (grub_register_exported_symbols): Likewise.
45802
4ceb3636 458032004-12-13 Marco Gerards <metgerards@student.han.nl>
45804
45805 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45806 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45807 to fail instead. Reported by Vincent Pelletier
45808 <subdino2004@yahoo.fr>.
45809
45810 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45811 it is not allocated. Reported by Vincent Pelletier
45812 <subdino2004@yahoo.fr>.
45813
45814 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45815 output so the output looks better.
f19dbdb7 45816
3f1578fe 458172004-12-04 Marco Gerards <metgerards@student.han.nl>
45818
45819 Modulize the partition map support and add support for the amiga
45820 partition map.
f19dbdb7 45821
3f1578fe 45822 * commands/ls.c: Include <grub/partition.h> instead of
45823 <grub/machine/partition.h>.
45824 * kern/disk.c: Likewise.
45825 * kern/rescue.c: Likewise.
45826 * loader/i386/pc/chainloader.c: Likewise.
45827 * normal/cmdline.c: Likewise.
45828 * kern/powerpc/ieee1275/init.c: Likewise.
45829 (grub_machine_init): Call `grub_pc_partition_map_init',
45830 `grub_amiga_partition_map_init' and
45831 `grub_apple_partition_map_init'.
45832 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45833 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45834 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45835 `partition.h' and `pc_partition.h'.
45836 (grub_setup_SOURCES): Remove
45837 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45838 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45839 (grub_emu_SOURCES): Likewise.
45840 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45841 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45842 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45844 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45845 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45846 (grubof_SOURCES): Likewise.
45847 * disk/i386/pc/partition.c: File removed.
45848 * disk/powerpc/ieee1275/partition.c: Likewise.
45849 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45850 * include/grub/i386/pc/partition.h: Likewise.
45851 * kern/partition.c: New file.
45852 * partmap/amiga.c: Likewise.
45853 * partmap/apple.c: Likewise.
45854 * partmap/pc.c: Likewise.
45855 * include/grub/partition.h: Likewise..
45856 * include/grub/pc_partition.h: Likewise.
45857 * util/grub-emu.c: Include <grub/partition.h> instead of
45858 <grub/machine/partition.h>.
45859 (main): Call `grub_pc_partition_map_init',
45860 `grub_amiga_partition_map_init' and
45861 `grub_apple_partition_map_init' and deinitialize afterwards.
45862 * util/i386/pc/biosdisk.c: Include `#include
45863 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45864 `<grub/machine/partition.h>'.
45865 * util/i386/pc/grub-setup.c: Likewise.
45866 * util/i386/pc/biosdisk.c: Likewise.
45867 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45868 partition information in case of a PC partition.
45869 * util/i386/pc/grub-setup.c: Include `#include
45870 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45871 `<grub/machine/partition.h>'.
45872 (setup): Only access the PC specific partition information in case
45873 of a PC partition.
45874
0ef4ced9 458752004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45876
0ef4ced9 45877 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45878 (grub_longjmp): Likewise.
45879 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45880 20.
45881 * normal/powerpc/setjmp.S: New file.
45882 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45883 `normal/powerpc/setjmp.S'.
45884 (grubof_CFLAGS): Add `-DGRUBOF'.
45885 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45886 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45887
19950e29 458882004-11-16 Marco Gerards <metgerards@student.han.nl>
45889
45890 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45891 property named `name'. Correctly handle the error returned by
45892 `grub_ieee1275_finddevice' if a device can not be opened.
45893
a2fea427 458942004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45895
45896 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45897 `actual' for negativity.
45898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45899 kern/fshelp.c.
45900
41ea0ea3 459012004-11-01 Marco Gerards <metgerards@student.han.nl>
45902
45903 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45904 (PAGE_OFFSET): New macro.
45905 (CRTC_ADDR_PORT): Likewise.
45906 (CRTC_DATA_PORT): Likewise.
45907 (START_ADDR_HIGH_REGISTER): Likewise.
45908 (START_ADDR_LOW_REGISTER): Likewise.
45909 (GRAPHICS_ADDR_PORT): Likewise.
45910 (GRAPHICS_DATA_PORT): Likewise.
45911 (READ_MAP_REGISTER): Likewise.
45912 (INPUT_STATUS1_REGISTER): Likewise.
45913 (INPUT_STATUS1_VERTR_BIT): Likewise.
45914 (page): New variable.
45915 (wait_vretrace): New function.
45916 (set_read_map): Likewise.
45917 (set_start_address): Likewise.
45918 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45919 the right page.
45920 (check_vga_mem): Take the page into account.
45921 (write_char): Likewise.
45922 (write_cursor): Likewise.
45923 (scroll_up): Likewise. Copy the page to the page that is not
45924 shown and switch between both pages.
45925 (grub_vga_putchar): Fix off by one error.
45926 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45927 account.
45928
ad0bd20b 459292004-11-01 Marco Gerards <metgerards@student.han.nl>
45930
45931 Add support for iso9660 (including rockridge).
f19dbdb7 45932
ad0bd20b 45933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45934 (iso9660_mod_SOURCES): New variable.
45935 (iso9660_mod_CFLAGS): Likewise.
45936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45937 * include/grub/fs.h (grub_iso9660_init): New prototype.
45938 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45939 * fs/iso9660.c: New file.
45940
45941 * include/grub/misc.h (grub_strncat): New prototype.
45942 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45943
ad0bd20b 45944 * fs/hfs.c (grub_hfs_mount): Translate the error
45945 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45946 * fs/jfs.c (grub_jfs_mount): Likewise.
45947 * fs/ufs.c (grub_ufs_mount): Likewise.
45948
a5477a59 459492004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45950
45951 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45952 which initialized BAT registers.
45953 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45954 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45955 Move from here...
45956 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45957 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45958 ... to here.
45959 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45960 (grub_mapclaim): Likewise.
45961 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45962 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45963 hand.
45964
9304c1f8 459652004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45966
45967 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45968 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45969 -ffreestanding and -msoft-float.
45970
86f4ae25 459712004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45972
45973 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45974 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45975 set in grub_ieee1275_flags.
45976
38912228 459772004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45978
45979 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45980 prototype.
45981 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45982 grub_console_init first.
45983 Change the memory range used for grub_ieee1275_claim and
45984 grub_mm_init_region.
45985 Print an error message if the claim fails.
45986 Include <grub/misc.h>.
45987
d1923dc8 459882004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45989
45990 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45991 Call grub_children_iterate for device nodes of type `scsi',
45992 `ide', or `ata'.
45993 (grub_ofdisk_open): Remove manual device alias resolution.
45994 Fix memory leak when device cannot be opened.
f19dbdb7 45995 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45996 (grub_children_iterate): New prototype.
45997 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45998 New function.
45999 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46000 Return -1 if args.size was -1.
46001
4512e4f3 460022004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46003
46004 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46005 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46006 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46007 Open Firmware's memory for it; claim memory from _start to _end.
46008 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46009 (_end): New extern.
46010 (_start): Zero BSS from __bss_start to _end.
46011 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46012 New extern.
46013 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46014
4d61feb0 460152004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46016
ad0bd20b 46017 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46018 -1 if args.base was -1.
4d61feb0 46019
026fa2f9 460202004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46021
46022 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46023 escape sequence instead of a literal ^L. Also call
46024 grub_ofconsole_gotoxy.
46025
9f2220ef 460262004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46027
46028 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46029 void * arguments to grub_addr_t. All callers updated. Also make
46030 the `result' argument optional.
46031 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46032 All callers updated.
46033
8a572cd7 460342004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46035
46036 * commands/ls.c (grub_ls_list_files): Use the string following the
46037 initial ')', if present, as the filesystem path.
46038 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46039
46040 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46041
18aa81f2 460422004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46043
46044 Make the source code of the menu interface more readable.
f19dbdb7 46045
18aa81f2 46046 * normal/menu.c: Include grub/mm.h.
46047 (TERM_WIDTH): New macro.
46048 (TERM_HEIGHT): Likewise.
46049 (TERM_INFO_HEIGHT): Likewise.
46050 (TERM_MARGIN): Likewise.
46051 (TERM_SCROLL_WIDTH): Likewise.
46052 (TERM_TOP_BORDER_Y): Likewise.
46053 (TERM_LEFT_BORDER_X): Likewise.
46054 (TERM_BORDER_WIDTH): Likewise.
46055 (TERM_MESSAGE_HEIGHT): Likewise.
46056 (TERM_BORDER_HEIGHT): Likewise.
46057 (TERM_NUM_ENTRIES): Likewise.
46058 (TERM_FIRST_ENTRY_Y): Likewise.
46059 (TERM_ENTRY_WIDTH): Likewise.
46060 (TERM_CURSOR_X): Likewise.
46061 (draw_border): Use macros instead of magic numbers.
46062 (print_entry): Likewise.
46063 (print_entries): Likewise.
46064 (run_menu): Likewise. Also, handle the key 'e'.
46065 (run_menu_entry): Ignore empty command lines.
46066 (print_message): Added a new argument EDIT. If EDIT is true,
46067 print a different message.
46068 (init_page): Likewise.
46069 (edit_menu_entry): New function. Not implemented yet.
46070
b47efe30 460712004-09-17 Marco Gerards <metgerards@student.han.nl>
46072
46073 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46074 can be loaded from normal mode.
f19dbdb7 46075
b47efe30 46076 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46077 `multiboot.mod'.
46078 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46079 (multiboot_mod_CFLAGS): New variables.
46080 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 46081 * loader/i386/pc/multiboot_normal.c: Likewise.
46082
b47efe30 46083 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46084 attribute `unused'.
f19dbdb7 46085
b47efe30 46086 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46087 `fdiro' to read the mode information from instead of `diro'.
46088
46089 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46090 looking up a symlink.
46091
46092 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46093 macro.
46094 * normal/command.c (grub_command_execute): Don't parse the
46095 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46096 flags of the command.
46097
46098 * normal/menu.c (grub_menu_run): Fix typo.
46099
da75ac71 461002004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46101
46102 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46103
46104 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46105 `y + 1' instead of `y - 1'.
46106
46107 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 46108
062b24c2 461092004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46110
46111 From Hollis Blanchard <hollis@penguinppc.org>:
46112 * kern/misc.c (memmove): New alias for grub_memmove.
46113 (memcmp): New alias for grub_memcmp.
46114 (memset): New alias for grub_memset.
f19dbdb7 46115 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 46116 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 46117 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 46118 (grub_ieee1275_get_property): Likewise.
f19dbdb7 46119
8ddad845 461202004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46121
46122 Added normal mode command `chainloader' as module chain.mod, which
46123 depends on normal.mod and _chain.mod.
f19dbdb7 46124
8ddad845 46125 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46126 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46127 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46128 Deleted prototype.
46129 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46130 but arguments parsing moved to ...
46131 (grub_chainloader_cmd): ... here. New function.
46132 * include/grub/i386/pc/chainloader.h: New file.
46133 * loader/i386/pc/chainloader_normal.c: Likewise.
46134
2c1f4ce3 461352004-09-11 Marco Gerards <metgerards@student.han.nl>
46136
46137 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46138 (grub_mkimage_LDFLAGS): Likewise.
46139 (grub_emu_SOURCES): Likewise.
46140 (kernel_img_HEADERS): Added fshelp.h.
46141 * fs/ext2.c: Include <grub/fshelp.h>.
46142 (FILETYPE_REG): New macro.
46143 (FILETYPE_INO_REG): Likewise.
46144 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46145 Changed all users.
46146 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46147 all users.
46148 (grub_fshelp_node): New struct.
46149 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46150 to a pointer.
46151 (grub_ext2_get_file_block): Removed function.
46152 (grub_ext2_read_block): New function.
46153 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46154 This function was written.
46155 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46156 (grub_ext2_find_file): Removed function.
46157 (grub_ext2_read_symlink): New function.
46158 (grub_ext2_iterate_dir): Likewise.
46159 (grub_ext2_open): Rewritten.
46160 (grub_ext2_dir): Rewritten.
46161 * include/grub/fshelp.h: New file.
46162 * fs/fshelp.c: Likewise.
46163
3c52136a 461642004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46165
46166 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46167 (print_message): Add a missing newline.
46168 (run_menu): Added timeout support.
46169 (run_menu_entry): New local function.
46170 (grub_menu_run): Added support for booting.
46171
46172 * kern/loader.c (grub_loader_is_loaded): New function.
46173
46174 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46175 (grub_get_rtc): Exported.
46176
46177 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46178 (grub_get_rtc): Exported.
46179
46180 * include/grub/normal.h (struct grub_command_list): Remove
46181 constant from the member `command'.
46182
46183 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46184
46185 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46186
46187 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46188
aa033560 461892004-08-28 Marco Gerards <metgerards@student.han.nl>
46190
46191 Add support for the JFS filesystem.
46192
46193 * fs/jfs.c: New file.
46194 * include/grub/fs.h (grub_jfs_init): New prototype.
46195 (grub_jfs_fini): New prototype.
46196 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46197 (grub_emu_SOURCES): Likewise.
46198 (pkgdata_MODULES): Add jfs.mod.
46199 (jfs_mod_SOURCES): New variable.
46200 (jfs_mod_CFLAGS): Likewise.
46201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46202 (grubof_SOURCES): Likewise.
46203 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46204
46205 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46206 endian to the host endian.
46207 (grub_fat_utf16_to_utf8): Move function from there...
46208 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 46209 the endianness of the source string anymore.
aa033560 46210 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46211
94bc45af 462122004-08-24 Marco Gerards <metgerards@student.han.nl>
46213
46214 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46215 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46216 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46217 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 46218
94bc45af 46219 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46220 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46221 for `node_found' and `it_dir'.
46222 (grub_hfs_dir): Add prototype for `dir_hook'.
46223
46224 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46225 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46226 and `indir32' to silence a gcc warning.
46227
46228 * include/grub/fs.h (grub_hfs_init): New prototype.
46229 (grub_hfs_fini): Likewise.
f19dbdb7 46230
46231
97543f08 462322004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46233
46234 Each disk device has its own id now. This is useful to make use
46235 of multiple disk devices.
f19dbdb7 46236
97543f08 46237 * include/grub/disk.h (grub_disk_dev_id): New enum.
46238 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46239 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46240
46241 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46242 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46243
46244 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46245 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46246
46247 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46248 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46249
46250 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46251 "id" which is used by the cache manager.
46252
46253 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46254 of just "GRUB".
46255
64372eb4 462562004-08-18 Marco Gerards <metgerards@student.han.nl>
46257
46258 * fs/hfs.c: New file.
46259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46260 (grub_emu_SOURCES): Likewise.
46261 (pkgdata_MODULES): Add hfs.mod.
46262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46263 (grubof_SOURCES): Likewise.
46264 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46265
46266 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46267 * kern/misc.c (grub_strncasecmp): Add function.
46268
cc61b58f 462692004-08-14 Marco Gerards <metgerards@student.han.nl>
46270
46271 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46272 with parentheses.
46273
46274 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46275 (grub_ext2_dir): In case the directory entry type is unknown, read
46276 it from the inode.
46277
0ef123f6 462782004-08-02 Peter Bruin <pjbruin@dds.nl>
46279
46280 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46281 grub_load_linux instead of grub_rescue_cmd_linux as second
46282 argument of grub_rescue_register_command.
46283
46284 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46285
a447c5df 462862004-07-27 Marco Gerards <metgerards@student.han.nl>
46287
46288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46289 function.
46290 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46291 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46292 `loader/powerpc/ieee1275/linux.c',
46293 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46294 * include/grub/powerpc/ieee1275/ieee1275.h
46295 (grub_ieee1275_release): New prototype.
46296 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46297 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46298 normal, boot, linux and linux_normal.
46299 * loader/powerpc/ieee1275/linux.c: New file.
46300 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46301
5a9e3546 463022004-07-12 Marco Gerards <metgerards@student.han.nl>
46303
46304 * normal/arg.c (grub_arg_parse): Correct error handling after
46305 reallocating the argumentlist (check if `argl' is not null instead
46306 of checking if `args' is not null).
46307 * kern/mm.c (grub_realloc): Return the same pointer when using the
46308 same region, instead of returning the header address.
46309
e15199cb 463102004-07-11 Marco Gerards <metgerards@student.han.nl>
46311
46312 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46313 one block instead of two when looking for the initial partition.
46314 (grub_partition_probe): Initialize the local variable `p' with 0.
46315 Use base 10 for the grub_strtoul call.
46316 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46317 need for one local variable.
46318 (grub_strtoul): Don't add the new value to `num', instead of that
46319 just assign it.
46320
020616c2 463212004-07-11 Marco Gerards <metgerards@student.han.nl>
46322
46323 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46324 (pxeboot_img_SOURCES): New variable.
46325 (pxeboot_img_ASFLAGS): Likewise.
46326 (pxeboot_img_LDFLAGS): Likewise.
46327 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46328 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46329 <lode_leroy@hotmail.com>.
46330
6c51eb64 463312004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46332
46333 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46334 there was no input.
46335
cfb12aff 463362004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46337
46338 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46339 the history buffer logic.
46340
6eabba74 463412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46342
46343 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46344 (FILETYPE_INO_SYMLINK): New macros.
46345 (grub_ext2_find_file): Check if the node is a directory using the
46346 inode stat information instead of using the filetype in the
46347 dirent. Exclude the first character of an absolute symlink.
46348 (grub_ext2_dir): Mask out the filetype part of the mode member of
46349 the inode.
46350
66e19ef8 463512004-05-24 Marco Gerards <metgerards@student.han.nl>
46352
46353 Add support for UFS version 1 and 2. Add support for the minix
46354 filesystem version 1 and 2, both the variants with 14 and 30 long
46355 filenames.
f19dbdb7 46356
66e19ef8 46357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46358 fs/minix.c.
46359 (grub_emu_SOURCES): Likewise.
46360 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46361 (ufs_mod_SOURCES): New variable.
46362 (ufs_mod_CFLAGS): Likewise.
46363 (minix_mod_SOURCES): Likewise.
46364 (minix_mod_CFLAGS): Likewise.
46365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46366 fs/minix.c.
46367 (grubof_SOURCES): Likewise.
46368 * fs/ufs.c: New file.
46369 * fs/minix.c: New file.
46370 * include/grub/fs.h (grub_ufs_init): New prototype.
46371 (grub_ufs_fini): Likewise.
46372 (grub_minix_init): Likewise.
46373 (grub_minix_fini): Likewise.
46374 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46375 minix fs.
46376
cc2e748a 463772004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46378
46379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46380 commands/ls.c, commands/terminal.c, commands/boot.c,
46381 commands/cmp.c and commands/cat.c.
46382 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46383
46384 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46385 "env.h"
46386
4b13b216 463872004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46388
46389 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46390 and grub_, respectively. Because the conversion is trivial and
46391 mechanical, I omit the details here. Please refer to the CVS
46392 if you need more information.
46393
6a142551 463942004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46395
46396 * include/pupa: Renamed to ...
46397 * include/grub: ... this.
46398 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46399 * util/i386/pc/grub-mkimage.c: ... this.
46400 * util/i386/pc/pupa-setup.c: Renamed to ...
46401 * util/i386/pc/grub-setup.c: ... this.
46402 * util/pupa-emu.c: Renamed to ...
46403 * util/grub-emu.c: ... this.
46404
e56cdf21 464052004-03-29 Marco Gerards <metgerards@student.han.nl>
46406
46407 Add support for the newworld apple macintosh (PPC). This has been
46408 tested on the powerbook 2000 only. It only adds support for
46409 generic ieee1275 functions, console and disk support. This should
46410 be easy to port to other architectures with support for Open
46411 Firmware.
f19dbdb7 46412
e56cdf21 46413 * configure.ac: Accept the powerpc as host_cpu. In the case of
46414 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46415 specific tests are only executed while building for the i386.
46416 Inverse test for crosscompile.
46417 * genmk.rb (Utility): Allow assembler files.
46418 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46419 * conf/powerpc-ieee1275.rmk: New file.
46420 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46421 * disk/powerpc/ieee1275/partition.c: Likewise.
46422 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46423 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46424 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46425 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46426 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46427 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46428 * include/pupa/powerpc/ieee1275/loader.h
46429 * include/pupa/powerpc/setjmp.h: Likewise.
46430 * include/pupa/powerpc/types.h: Likewise.
46431 * kern/powerpc/ieee1275/init.c: Likewise.
46432 * kern/powerpc/ieee1275/openfw.c: Likewise.
46433 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46434
46435 These files were written by Johan Rydberg
46436 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46437
e56cdf21 46438 * boot/powerpc/ieee1275/cmain.c: New file.
46439 * boot/powerpc/ieee1275/crt0.S: Likewise.
46440 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46441 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46442
8c8cc205 464432004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46444
46445 * Makefile.in: Update copyright.
46446 * genmodsrc.sh: Likewise.
46447 * gensymlist.sh: Likewise.
46448 * term/i386/pc/vga.c: Indent correctly.
46449
46450 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46451 bugreporting address.
46452 * util/i386/pc/pupa-setup.c (usage): Likewise,
46453 (main): Call pupa_ext2_init and pupa_ext2_fini.
46454
f19dbdb7 46455 * fs/fat.c (log2): Renamed to ...
8c8cc205 46456 (fat_log2): ... this.
46457 All callers changed.
46458 * kern/misc.c (memcpy): Alias to pupa_memmove.
46459 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46460 lvalue cast.
46461 * util/console.c (pupa_ncurses_fini): Return 0.
46462
46463 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46464 Move fail label here.
46465 [__GNU__]: Don't warn when using stat.
46466 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46467 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46468 long int. Use strtol instead of strtoul.
f19dbdb7 46469
db1771cf 464702004-03-14 Marco Gerards <metgerards@student.han.nl>
46471
46472 * commands/boot.c: New file.
46473 * commands/cat.c: Likewise.
46474 * commands/cmp.c: Likewise.
46475 * commands/ls.c: Likewise.
46476 * commands/terminal.c: Likewise.
46477 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46478 (pupa_register_command): Changed interface to match the new
46479 argument parser.
46480 (pupa_command_execute): Changed (almost rewritten) so it uses
46481 pupa_split_command. Added support for setting variables using the
46482 syntax `foo=bar'.
46483 (rescue_command): Changed to work with the new argument parser.
46484 (terminal_command): Moved from here to commands/terminal.c.
46485 (set_command): New function.
46486 (unset_command): New function.
46487 (insmod_command): New function.
46488 (rmmod_command): New function.
46489 (lsmod_command): New function.
46490 (pupa_command_init): Don't initialize the command terminal
46491 anymore. Initialize the commands set, unset, insmod, rmmod and
46492 lsmod.
46493 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46494 (kernel_img_HEADERS): Add arg.h and env.h.
46495 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46496 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46497 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46498 normal/arg.c.
46499 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46500 terminal.mod.
46501 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46502 (boot_mod_SOURCES): New variable.
46503 (terminal_mod_SOURCES): Likewise.
46504 (ls_mod_SOURCES): Likewise.
46505 (cmp_mod_SOURCES): Likewise.
46506 (cat_mod_SOURCES): Likewise.
46507
46508 * normal/arg.c: New file.
46509 * kern/env.c: Likewise.
46510 * include/pupa/arg.h: Likewise.
46511 * include/pupa/env.h: Likewise.
46512 * font/manager.c (font_command): Changed to match argument parsing
46513 interface changes.
46514 (PUPA_MOD_INIT): Likewise.
46515 * hello/hello.c (pupa_cmd_hello): Likewise.
46516 (PUPA_MOD_INIT): Likewise.
46517 * include/pupa/disk.h: Include <pupa/device.h>.
46518 (pupa_print_partinfo): New prototype.
46519 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46520 (pupa_dl_get_prefix): Likewise.
46521 * include/pupa/misc.h: Include <pupa/err.h>.
46522 (pupa_isgraph): New prototype.
46523 (pupa_isdigit): Likewise.
46524 (pupa_split_cmdline): Likewise.
46525 * include/pupa/normal.h: Include <pupa/arg.h>.
46526 (pupa_command): Changed the prototype of the member `func' to
46527 match the argument parsing interface. Added member `options'.
46528 (pupa_register_command): Updated to match function.
46529 (pupa_arg_parse): New prototype.
46530 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46531 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46532 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46533 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46534 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46535 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46536 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46537 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46538 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46539 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46540 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46541 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46542 * kern/disk.c: Include <pupa/file.h>.
46543 (pupa_print_partinfo): New function.
46544 * kern/dl.c: Include <pupa/env.h>.
46545 (pupa_dl_dir): Variable removed.
46546 (pupa_dl_load): Use the environment variable `prefix' instead of
46547 the variable pupa_dl_dir.
46548 (pupa_dl_set_prefix): Function removed.
46549 (pupa_dl_get_prefix): Likewise.
46550 * kern/i386/pc/init.c: Include <pupa/env.h>.
46551 (pupa_machine_init): Use the environment variable `prefix' instead of
46552 using pupa_dl_set_prefix to set the prefix.
46553 * kern/main.c: Include <pupa/env.h>.
46554 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46555 using pupa_dl_get_prefix to get the prefix.
46556 * kern/misc.c: Include <pupa/env.h>.
46557 (pupa_isdigit): New function.
46558 (pupa_isgraph): Likewise.
46559 (pupa_ftoa): Likewise.
46560 (pupa_vsprintf): Added support for printing values of the type
46561 `double'. Make it possible to format variable output when using
46562 formatting like `%1.2%f'.
46563 (pupa_split_cmdline): New function.
46564 * kern/rescue.c: Include <pupa/env.h>.
46565 (next_word): Removed function.
46566 (pupa_rescue_cmd_prefix): Likewise.
46567 (pupa_rescue_cmd_set): New function.
46568 (pupa_rescue_cmd_unset): New function.
46569 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46570 split the command line instead of splitting it here. Added
46571 support for setting variables using the syntax `foo=bar'. Don't
46572 initialize the prefix command anymore. Initialized the set and
46573 unset commands.
46574 * normal/cmdline.c: Include <pupa/env.h>.
46575 (pupa_tab_complete): Added prototypes for print_simple_completion,
46576 print_partition_completion, add_completion, iterate_commands,
46577 iterate_dev, iterate_part and iterate_dir. Moved code to print
46578 partition information from here to kern/disk.c.
fe6b695a 46579 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46580 * normal/main.c: Include <pupa/env.h>.
46581 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46582 instead of using pupa_dl_get_prefix to get the prefix.
46583 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46584 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46585 warning.
46586 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46587 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46588 ((unused))' to silence a gcc warning.
46589 (pupa_vga_setcolor): Likewise.
46590 (debug_command): Changed to match argument parsing
46591 interface changes.
46592 * util/pupa-emu.c: Include <pupa/env.h>.
46593 (options): Added 0's for unused fields to silence a gcc warning.
46594 (argp): Likewise.
46595 (main): Use the environment variable `prefix' instead of using
46596 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46597 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46598 and terminal.
46599
46600 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46601 * util/misc.c: Include <malloc.h>.
46602 (pupa_malloc): Rewritten so errors are correctly reported.
46603 (pupa_realloc): Likewise.
46604 (pupa_memalign): Likewise.
46605 (pupa_mm_init_region): Declare unused variables with
46606 `__attribute__ ((unused))' to silence a gcc warning.
46607 * normal/i386/setjmp.S: Remove tab at the end of the file to
46608 silence a gcc warning.
46609 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46610 variables with `__attribute__ ((unused))' to silence a gcc
46611 warning.
46612 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46613 local variable i unsigned to silence a gcc warning.
46614
46615 * kern/term.c: Include <pupa/misc.h>.
46616 (pupa_more_lines): New variable.
46617 (pupa_more): Likewise.
46618 (pupa_putcode): When the pager is active pause at the end of every
46619 screen.
46620 (pupa_set_more): New function.
46621 * include/pupa/term.h (pupa_set_more): New prototype.
46622
46623
3b1139cb 466242004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46625
46626 Now this project is GRUB 2 rather than PUPA. The location of
46627 the CVS repository was moved to GRUB's.
f19dbdb7 46628
3b1139cb 46629 * configure.ac: Use bug-grub as the reporting address.
46630 Use GRUB instead of PUPA.
46631 Change the version number to 1.90.
46632
8367695c 466332004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46634
46635 * genkernsyms.sh: Updated copyright information.
46636 * genmk.rb: Likewise.
46637 * genmodsrc.sh: Likewise.
46638 * gensymlist.sh: Likewise.
46639 * boot/i386/pc/boot.S: Likewise.
46640 * boot/i386/pc/diskboot.S: Likewise.
46641 * disk/i386/pc/biosdisk.c: Likewise.
46642 * disk/i386/pc/partition.c: Likewise.
46643 * font/manager.c: Likewise.
46644 * fs/ext2.c: Likewise.
46645 * fs/fat.c: Likewise.
46646 * include/pupa/boot.h: Likewise.
46647 * include/pupa/device.h: Likewise.
46648 * include/pupa/disk.h: Likewise.
46649 * include/pupa/dl.h: Likewise.
46650 * include/pupa/elf.h: Likewise.
46651 * include/pupa/err.h: Likewise.
46652 * include/pupa/file.h: Likewise.
46653 * include/pupa/font.h: Likewise.
46654 * include/pupa/fs.h: Likewise.
46655 * include/pupa/kernel.h: Likewise.
46656 * include/pupa/loader.h: Likewise.
46657 * include/pupa/misc.h: Likewise.
46658 * include/pupa/mm.h: Likewise.
46659 * include/pupa/net.h: Likewise.
46660 * include/pupa/normal.h: Likewise.
46661 * include/pupa/rescue.h: Likewise.
46662 * include/pupa/setjmp.h: Likewise.
46663 * include/pupa/symbol.h: Likewise.
46664 * include/pupa/term.h: Likewise.
46665 * include/pupa/types.h: Likewise.
46666 * include/pupa/i386/setjmp.h: Likewise.
46667 * include/pupa/i386/types.h: Likewise.
46668 * include/pupa/i386/pc/biosdisk.h: Likewise.
46669 * include/pupa/i386/pc/boot.h: Likewise.
46670 * include/pupa/i386/pc/console.h: Likewise.
46671 * include/pupa/i386/pc/init.h: Likewise.
46672 * include/pupa/i386/pc/kernel.h: Likewise.
46673 * include/pupa/i386/pc/linux.h: Likewise.
46674 * include/pupa/i386/pc/loader.h: Likewise.
46675 * include/pupa/i386/pc/memory.h: Likewise.
46676 * include/pupa/i386/pc/multiboot.h: Likewise.
46677 * include/pupa/i386/pc/partition.h: Likewise.
46678 * include/pupa/i386/pc/time.h: Likewise.
46679 * include/pupa/i386/pc/vga.h: Likewise.
46680 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46681 * include/pupa/util/getroot.h: Likewise.
46682 * include/pupa/util/misc.h: Likewise.
46683 * include/pupa/util/resolve.h: Likewise.
46684 * kern/device.c: Likewise.
46685 * kern/disk.c: Likewise.
46686 * kern/dl.c: Likewise.
46687 * kern/err.c: Likewise.
46688 * kern/file.c: Likewise.
46689 * kern/fs.c: Likewise.
46690 * kern/loader.c: Likewise.
46691 * kern/main.c: Likewise.
46692 * kern/misc.c: Likewise.
46693 * kern/mm.c: Likewise.
46694 * kern/rescue.c: Likewise.
46695 * kern/term.c: Likewise.
46696 * kern/i386/dl.c: Likewise.
46697 * kern/i386/pc/init.c: Likewise.
46698 * kern/i386/pc/lzo1x.S: Likewise.
46699 * kern/i386/pc/startup.S: Likewise.
46700 * loader/i386/pc/chainloader.c: Likewise.
46701 * loader/i386/pc/linux.c: Likewise.
46702 * loader/i386/pc/multiboot.c: Likewise.
46703 * normal/cmdline.c: Likewise.
46704 * normal/command.c: Likewise.
46705 * normal/main.c: Likewise.
46706 * normal/menu.c: Likewise.
46707 * normal/i386/setjmp.S: Likewise.
46708 * term/i386/pc/console.c: Likewise.
46709 * term/i386/pc/vga.c: Likewise.
46710 * util/console.c: Likewise.
46711 * util/genmoddep.c: Likewise.
46712 * util/misc.c: Likewise.
46713 * util/pupa-emu.c: Likewise.
46714 * util/resolve.c: Likewise.
46715 * util/unifont2pff.rb: Likewise.
46716 * util/i386/pc/biosdisk.c: Likewise.
46717 * util/i386/pc/getroot.c: Likewise.
46718 * util/i386/pc/pupa-mkimage.c: Likewise.
46719 * util/i386/pc/pupa-setup.c: Likewise.
46720
e6eced71 467212004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46722
46723 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46724 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46725 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46726 reading and reset it after reading.
46727 (pupa_ext2_close): Return PUPA_ERR_NONE.
46728
46729 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46730 Correct value.
46731 (struct linux_kernel_header): Add kernel_version and
46732 initrd_addr_max.
46733 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46734 pupa_file_read succeeds.
46735 (pupa_rescue_cmd_initrd): Implement.
46736
5aded270 467372003-12-03 Marco Gerards <metgerards@student.han.nl>
46738
46739 * fs/ext2.c (pupa_ext2_label): New function.
46740 (pupa_ext2_fs): Added label.
46741 * fs/fat.c (pupa_fat_label): New function.
46742 (pupa_fat_fs): Added label.
46743 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46744
46745 * kern/misc.c (pupa_strndup): New function.
46746 * include/pupa/misc.h (pupa_strndup): New prototype.
46747
46748 * include/pupa/normal.h: Include <pupa/err.h>.
46749 (pupa_set_history): New prototype.
46750 (pupa_iterate_commands): New prototype.
46751 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46752 <pupa/disk.h>, <pupa/file.h>.
46753 (hist_size): New variable.
46754 (hist_lines): Likewise.
46755 (hist_end): Likewise.
46756 (hist_used): Likewise.
46757 (pupa_set_history): New function.
46758 (pupa_history_get): Likewise.
46759 (pupa_history_add): Likewise.
46760 (pupa_history_replace): Likewise.
46761 (pupa_tab_complete): Likewise.
46762 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46763 completion shows partitionnames while completing partitions, this
46764 feature was suggested by Jeff Bailey.
46765 * normal/command.c (pupa_iterate_commands): New function.
46766 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46767 (pupa_normal_init): Initialize history buffer.
46768 (PUPA_MOD_INIT): Likewise.
46769 (pupa_normal_fini): Free the history buffer.
46770 (PUPA_MOD_FINI): Likewise.
46771
46772 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46773 key.
46774
46775 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46776 * configure.ac [i386]: Check for regparam bug.
46777 (NESTED_FUNC_ATTR) [! i386]: Defined.
46778
1f7315a3 467792003-11-17 Marco Gerards <metgerards@student.han.nl>
46780
46781 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46782 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46783 (pupa_emu_SOURCES): New variable.
46784 (pupa_emu_LDFLAGS): Likewise.
46785 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46786 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46787 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46788 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46789 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46790 (pupa_jmp_buf): New typedef.
46791 (pupa_setjmp) [PUPA_UTIL]: New macro.
46792 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46793 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46794 (pupa_refresh): New prototype.
46795 * include/pupa/util/getroot.h: New file.
46796 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46797 it.
46798 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46799 (pupa_rescue_cmd_cat): Likewise.
46800 (pupa_rescue_cmd_ls): Likewise.
46801 (pupa_rescue_cmd_testload): Likewise.
46802 (pupa_rescue_cmd_lsmod): Likewise.
46803 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46804 * normal/menu.c (run_menu): Likewise.
46805 * kern/term.c (pupa_cls): Likewise.
46806 (pupa_refresh): New function.
46807 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46808 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46809 * util/console.c: New file.
f19dbdb7 46810
1f7315a3 46811 * util/i386/pc/getroot.c: New file.
46812 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46813 (pupa_putchar): New function.
46814 (pupa_refresh): Likewise.
46815 (xgetcwd): Function moved to ...
46816 (strip_extra_slashes): Likewise.
46817 (get_prefix): Likewise.
f19dbdb7 46818 * util/i386/pc/getroot.c: ... here.
1f7315a3 46819 (find_root_device): Function moved and renamed to...
46820 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46821 Changed all callers.
46822 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46823 and renamed to...
46824 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46825 Changed all callers.
46826 * util/misc.c (pupa_memalign): New function.
46827 (pupa_mm_init_region): Likewise.
46828 (pupa_register_exported_symbols): Likewise.
46829 (pupa_putchar): Function removed.
46830 * util/pupa-emu.c: New file.
46831
9a5c1ade 468322003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46833
46834 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46835 (_multiboot_mod_SOURCES): New variable.
46836 (_multiboot_mod_CFLAGS): Likewise.
46837 * loader/i386/pc/multiboot.c: New file.
46838 * include/pupa/i386/pc/multiboot.h: Likewise.
46839 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46840 (pupa_multiboot_real_boot): New function.
46841 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46842 (pupa_multiboot_real_boot): New prototype.
46843 (pupa_rescue_cmd_multiboot): Likewise
46844 (pupa_rescue_cmd_module): Likewise.
46845
46846 * kern/loader.c (pupa_loader_set): Continue when
46847 pupa_loader_unload_func() fails.
46848 (pupa_loader_unset): New function.
46849 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46850
46851 * kern/misc.c (pupa_stpcpy): New function.
46852 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46853
8e72a9c0 468542003-11-12 Marco Gerards <metgerards@student.han.nl>
46855
46856 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46857 for available extensions.
46858
46859 * include/pupa/i386/pc/time.h: New file.
46860 * kern/disk.c: Include <pupa/machine/time.h>.
46861 (PUPA_CACHE_TIMEOUT): New macro.
46862 (pupa_last_time): New variable.
46863 (pupa_disk_open): Flush the cache when there was a timeout.
46864 (pupa_disk_close): Reset the timer.
46865 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46866 pupa_currticks.
46867 * util/misc.c: Include <sys/times.h>
46868 (pupa_get_rtc): New function.
46869
c4adbd32 468702003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46871
46872 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46873 as blocks.
46874 (pupa_ext2_get_file_block): Use blocks member.
46875
46876 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46877 first block. Return -1 instead of pupa_errno on error.
46878
bfd30f06 468792003-10-27 Marco Gerards <metgerards@student.han.nl>
46880
46881 * README: In the pupa-mkimage example use _chain instead of chain
46882 and ext2 instead of fat.
46883 * TODO: Replace ext2fs with jfs as an example. Add an item for
46884 adding journal playback for ext2fs.
46885 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46886 (pkgdata_MODULES): Added ext2.mod.
46887 (ext2_mod_SOURCES): New variable.
46888 (ext2_mod_CFLAGS): Likewise.
46889 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46890 * include/pupa/misc.h (pupa_strncpy): New prototype.
46891 (pupa_strcat): Likewise.
46892 (pupa_strncmp): Likewise.
46893 * kern/misc.c (pupa_strcat): Enable function.
46894 (pupa_strncpy): New function.
46895 (pupa_strncmp): Likewise.
46896 * fs/ext2.c: New file.
f19dbdb7 46897
bfd30f06 46898 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46899 when the read failed before retrying.
46900 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46901 (_FILE_OFFSET_BITS): Likewise.
46902 * configure.ac: Added AC_SYS_LARGEFILE.
46903
98d15063 469042003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46905
46906 * genmk.rb (PModule#rule): Make sure to get only symbol names
46907 from the output of nm.
59cad637 46908 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46909
18d9c7cd 469102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46911
46912 I forgot to check in these changes for a long time. This adds
46913 incomplete support for VGA console, and this is still very
46914 buggy. Also, a lot of consideration is required for I18N,
46915 UNICODE, and VGA font issues. Therefore, assume that this is
46916 such that "better than nothing".
f19dbdb7 46917
18d9c7cd 46918 * font/manager.c: New file.
46919 * include/pupa/font.h: Likewise.
46920 * include/pupa/i386/pc/vga.h: Likewise.
46921 * term/i386/pc/vga.c: Likewise.
46922 * util/unifont2pff.rb: Likewise.
46923
46924 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46925 (pkgdata_MODULES): Added vga.mod and font.mod.
46926 (vga_mod_SOURCES): New variables.
46927 (vga_mod_CFLAGS): Likewise.
46928 (font_mod_SOURCES): Likewise.
46929 (font_mod_CFLAGS): Likewise.
46930
46931 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46932
46933 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46934 (struct pupa_term): Added init and fini.
18d9c7cd 46935 Changed the argument of putchar to pupa_uint32_t.
46936
46937 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46938 (pupa_console_real_putchar): New prototype.
46939 (pupa_console_putchar): Removed.
46940 (pupa_console_checkkey): Exported.
46941 (pupa_console_getkey): Likewise.
46942
46943 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46944 characters.
46945
46946 * kern/term.c (pupa_term_set_current): Rewritten.
46947 (pupa_putchar): Likewise.
46948 (pupa_putcode): New function.
46949
46950 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46951 (pupa_console_real_putchar): ... this.
46952 (pupa_vga_set_mode): New function.
46953 (pupa_vga_get_font): Likewise.
46954
46955 * normal/command.c: Include pupa/term.h.
46956 (terminal_command): New function.
46957 (pupa_command_init): Register the command "terminal".
46958
46959 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46960 (DISP_UP): Likewise.
46961 (DISP_RIGHT): Likewise.
46962 (DISP_DOWN): Likewise.
46963 (DISP_HLINE): Likewise.
46964 (DISP_VLINE): Likewise.
46965 (DISP_UL): Likewise.
46966 (DISP_UR): Likewise.
46967 (DISP_LL): Likewise.
46968 (DISP_LR): Likewise.
46969
46970 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46971
977329f5 469722003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46973
46974 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46975 FIX. Reverse the path_list.
46976
46977 * include/pupa/normal.h: Export pupa_register_command and
46978 pupa_unregister_command.
46979
46980 * hello/hello.c (pupa_cmd_hello): New module.
46981 * conf/i386-pc.rmk: Added hello.mod.
46982
1f5ab428 469832003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46984
46985 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46986
1f5ab428 46987 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46988 (compress_kernel): New variable.
46989 (generate_image): Heavily modified to support compressing a
46990 large part of the core image.
46991
46992 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46993 leak.
46994 (pupa_util_load_image): New function.
46995
46996 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46997 (pupa_compressed_size): New variable.
46998 (codestart): Enable Gate A20 here.
46999 Decompress the compressed part of the core image.
47000 Rearrange the code to put functions and variables which are
47001 required for initialization in the non-compressed part.
47002 Include lzo1x.S.
47003
47004 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47005 here.
47006
47007 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47008
f19dbdb7 47009 * include/pupa/i386/pc/kernel.h
1f5ab428 47010 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47011 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47012 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47013 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47014 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47015
47016 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47017
47018 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47019 (Utility#rule): Likewise.
47020
47021 * configure.ac: Check if LZO is available.
47022
ce5bf700 470232003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47024
47025 * include/pupa/normal.h: New file.
47026 * include/pupa/setjmp.h: Likewise.
47027 * include/pupa/i386/setjmp.h: Likewise.
47028 * normal/cmdline.c: Likewise.
47029 * normal/command.c: Likewise.
47030 * normal/main.c: Likewise.
47031 * normal/menu.c: Likewise.
47032 * normal/i386/setjmp.S: Likewise.
f19dbdb7 47033
ce5bf700 47034 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47035 (pupa_rescue_cmd_initrd): Likewise.
47036
47037 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47038 Likewise.
47039
47040 * kern/i386/pc/startup.S (translation_table): New variable.
47041 (translate_keycode): New function.
47042 (pupa_console_getkey): Call translate_keycode.
47043
47044 * kern/rescue.c (attempt_normal_mode): New function.
47045 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47046 it failed, print a message.
47047
47048 * kern/mm.c (pupa_real_malloc): Print more information when a
47049 free magic is broken.
47050 (pupa_free): If the first free header is not free actually, set
47051 it to P.
47052
47053 * kern/main.c (pupa_load_normal_mode): Just load the module
47054 "normal".
47055 (pupa_main): Don't print the message
47056 "Entering into rescue mode..." here.
47057
47058 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47059 Declared.
47060 (pupa_rescue_cmd_initrd): Likewise.
47061 (pupa_rescue_cmd_initrd): Likewise.
47062
47063 * include/pupa/symbol.h (FUNCTION): Specify the type.
47064 (VARIABLE): Likewise.
47065
47066 * include/pupa/err.h (pupa_err_t): Added
47067 PUPA_ERR_UNKNOWN_COMMAND.
47068
47069 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47070 (pupa_dl_get_prefix): Likewise.
47071
47072 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47073 Added _chain.mod and _linux.mod instead of chain.mod and
47074 linux.mod.
47075 (chain_mod_SOURCES): Renamed to ...
47076 (_chain_mod_SOURCES): ... this.
47077 (chain_mod_CFLAGS): Renamed to ...
47078 (_chain_mod_CFLAGS): ... this.
47079 (linux_mod_SOURCES): Renamed to ...
47080 (_linux_mod_SOURCES): ... this.
47081 (linux_mod_CFLAGS): Renamed to ...
47082 (_linux_mod_CFLAGS): ... this.
47083 (normal_mod_SOURCES): New variable.
47084 (normal_mod_CFLAGS): Likewise.
47085 (normal_mod_ASFLAGS): Likewise.
47086
470872003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47088
47089 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47090 possible.
47091
fe6b695a 47092 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 47093 recursively.
47094 (pupa_dl_unref): Unrefer depending modules recursively.
47095 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47096 a module is unloaded before one depending on that module is
47097 unloaded.
47098 (pupa_dl_unload): Unload depending modules explicitly,
47099 if possible.
47100
c04da074 471012003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47102
47103 * include/pupa/i386/pc/linux.h: New file.
47104 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 47105
c04da074 47106 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47107 Removed.
47108 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47109 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47110 of PUPA_CHAINLOADER_BOOT_SECTOR.
47111
47112 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47113 (pupa_linux_prot_size): New variable.
47114 (pupa_linux_tmp_addr): Likewise.
47115 (pupa_linux_real_addr): Likewise.
47116 (pupa_linux_boot_zimage): New function.
47117 (pupa_linux_boot_bzimage): Likewise.
47118
47119 * kern/i386/pc/init.c (struct mem_region): New structure.
47120 (MAX_REGIONS): New macro.
47121 (mem_regions): New variable.
47122 (num_regions): Likewise.
47123 (pupa_os_area_addr): Likewise.
47124 (pupa_os_area_size): Likewise.
47125 (pupa_lower_mem): Likewise.
47126 (pupa_upper_mem): Likewise.
47127 (add_mem_region): New function.
47128 (compact_mem_regions): Likewise.
47129 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47130 the size of the conventional memory and that of so-called upper
47131 memory (before the first memory hole).
47132 Instead of adding each found region to free memory, use
47133 add_mem_region and add them after removing overlaps.
47134 Also, add only 1/4 of the upper memory to free memory. The rest
47135 is used for loading OS images. Maybe this is ad hoc, but this
47136 makes it much easier to relocate OS images when booting.
47137
47138 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47139 (pupa_enter_rescue_mode): Don't register initrd and module.
47140
47141 * kern/mm.c: Include pupa/dl.h.
47142
47143 * kern/main.c: Include pupa/file.h and pupa/device.h.
47144
47145 * kern/loader.c (pupa_loader_load_module_func): Removed.
47146 (pupa_loader_load_module): Likewise.
47147
47148 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47149 ``.o''.
47150
47151 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47152 (pupa_linux_tmp_addr): Likewise.
47153 (pupa_linux_real_addr): Likewise.
47154 (pupa_linux_boot_zimage): Likewise.
47155 (pupa_linux_boot_bzimage): Likewise.
47156
47157 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47158 (pupa_upper_mem): Likewise.
47159 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47160 module is too dangerous.
47161
47162 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47163 (pupa_os_area_size): Likewise.
47164 (pupa_loader_set): Remove the first argument. Loader doesn't
47165 manage modules or initrd any longer.
47166 (pupa_loader_load_module): Removed.
47167
47168 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47169 (linux_mod_SOURCES): New variable.
47170 (linux_mod_CFLAGS): Likewise.
47171
a13f9237 471722003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47173
47174 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47175 the length of a blocklist correctly.
47176
47177 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47178 Use ioctl only if the OS file is a block device.
47179 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47180 not very useful for normal files.
47181
47182 * kern/main.c (pupa_set_root_dev): New function.
47183 (pupa_load_normal_mode): Likewise.
47184 (pupa_main): Call those above.
47185
47186 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47187 pupa_uint16_t.
47188
47189 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47190
a5ffe966 471912003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47192
47193 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47194 (setup): Configure the installed partition information and the
47195 dl prefix.
47196
47197 * loader/i386/pc/chainloader.c (my_mod): New variable.
47198 (pupa_chainloader_unload): New function.
47199 (pupa_rescue_cmd_chainloader): Refer itself.
47200 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47201
47202 * kern/i386/pc/startup.S (install_partition): Removed.
47203 (version_string): Likewise.
47204 (config_file): Likewise.
47205 (pupa_install_dos_part): New variable.
47206 (pupa_install_bsd_part): Likewise.
47207 (pupa_prefix): Likewise.
47208 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47209
47210 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47211 and pupa/misc.h.
47212 (make_install_device): New function.
47213 (pupa_machine_init): Set the dl prefix.
47214
47215 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47216 (buf): Renamed to ...
47217 (linebuf): ... this.
47218 (pupa_rescue_cmd_prefix): New function.
47219 (pupa_rescue_cmd_insmod): Likewise.
47220 (pupa_rescue_cmd_rmmod): Likewise.
47221 (pupa_rescue_cmd_lsmod): Likewise.
47222 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47223 rmmod and lsmod.
47224
47225 * kern/mm.c (pupa_memalign): If failed even after invalidating
47226 disk caches, unload unneeded modules and retry.
47227
47228 * kern/misc.c (pupa_memmove): New function.
47229 (pupa_memcpy): Removed.
47230 (pupa_strcpy): New function.
47231 (pupa_itoa): Made static.
47232
47233 * kern/dl.c (pupa_dl_iterate): New function.
47234 (pupa_dl_ref): Likewise.
47235 (pupa_dl_unref): Likewise.
47236 (pupa_dl_unload): Return if succeeded or not.
47237 (pupa_dl_unload_unneeded): New function.
47238 (pupa_dl_unload_all): Likewise.
47239 (pupa_dl_init): Renamed to ...
47240 (pupa_dl_set_prefix): ... this.
47241 (pupa_dl_get_prefix): New function.
47242
47243 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47244 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47245 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47246 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47247 (pupa_install_dos_part): Declared.
47248 (pupa_install_bsd_part): Likewise.
47249 (pupa_prefix): Likewise.
47250 (pupa_boot_drive): Likewise.
47251
47252 * include/pupa/types.h: Fix a typo.
47253
47254 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47255 pupa_memmove.
47256 (pupa_memmove): Declared.
47257 (pupa_strcpy): Likewise.
47258
47259 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47260 pupa_mod_init takes one argument, its own module.
47261 (pupa_dl_unload_unneeded): Declared.
47262 (pupa_dl_unload_all): Likewise.
47263 (pupa_dl_ref): Likewise.
47264 (pupa_dl_unref): Likewise.
47265 (pupa_dl_iterate): Likewise.
47266 (pupa_dl_init): Renamed to ...
47267 (pupa_dl_set_prefix): ... this.
47268 (pupa_dl_get_prefix): Declared.
47269
47270 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 47271 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 47272 unloaded.
47273 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47274 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47275
47276 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47277 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47278
012d7999 472792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47280
47281 * util/i386/pc/pupa-setup.c (setup): Define the internal
47282 function find_first_partition_start at the top level, because GCC
47283 3.0.x cannot compile internal functions in deeper scopes
47284 correctly.
47285 (find_root_device): Use lstat instead of stat.
47286 Don't follow symbolic links.
47287 Fix the path-constructing code.
47288
47289 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47290 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47291 by a BLKGETSIZE ioctl first, because block devices don't fill
47292 the member st_mode of the structure stat on Linux.
47293 [__linux__] (linux_find_partition): Use a temporary buffer
47294 REAL_DEV for the working space. Copy it to DEV before returning.
47295 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47296 buffer cache consistent.
47297 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47298 strncmp. The previous value was merely wrong.
47299 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47300
47301 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47302 FAT size is 12. The previous value was merely wrong.
47303
47304 * kern/main.c (pupa_main): Don't split the starting message from
47305 newlines.
47306
47307 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47308 LF, because BIOS goes crazy about character attributes in this
47309 case.
47310
1cc73a62 473112003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47312
47313 * include/i386/pc/util/biosdisk.h: New file.
47314 * util/i386/pc/biosdisk.c: Likewise.
47315 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47316
1cc73a62 47317 * Makefile.in (INCLUDE_DISTFILES): Added
47318 include/pupa/i386/pc/util/biosdisk.h.
47319 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47320 directory util/i386/pc.
47321 (install-local): Added a rule for sbin_UTILITIES.
47322 (uninstall): Likewise.
47323
47324 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47325
47326 * util/misc.c (xrealloc): New function.
47327 (pupa_malloc): Likewise.
47328 (pupa_free): Likewise.
47329 (pupa_realloc): Likewise.
47330 (pupa_stop): Likewise.
47331 (pupa_putchar): Likewise.
47332
47333 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47334
47335 * include/pupa/util/misc.h (xrealloc): Declared.
47336
47337 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47338 macro.
47339 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47340 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47341
47342 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47343 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47344
47345 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47346 way should be implemented.
47347 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47348
47349 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47350 the size of NAME for safety.
47351 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47352 0x88.
47353
47354 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47355 (pupa_setup_SOURCES): Likewise.
47356
47357 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47358
08b70fe8 473592002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47360
47361 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47362 bunch of pushl's from pusha, because this destroys the return
47363 value.
47364
62ddcc8f 473652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47366
47367 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47368 This means that any missing prototypes could be fatal. Also, you
47369 must take care when writing assembly code. See the comments at
47370 the beginning of startup.S, for more details.
f19dbdb7 47371
62ddcc8f 47372 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47373 compilation mechanism.
47374 (pupa_chainloader_real_boot): Likewise.
47375 (pupa_biosdisk_rw_int13_extensions): Likewise.
47376 (pupa_biosdisk_rw_standard): Likewise.
47377 (pupa_biosdisk_check_int13_extensions): Likewise.
47378 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47379 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47380 (pupa_get_memsize): Likewise.
47381 (pupa_get_mmap_entry): Likewise.
47382 (pupa_console_putchar): Likewise.
47383 (pupa_console_setcursor): Likewise.
47384 (pupa_getrtsecs): Use pushl instead of push.
47385
47386 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47387 memory instead of the stack for a mmap entry, because some
47388 BIOSes may ignore the maximum size and overflow.
47389
47390 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47391
47392 * genmk.rb (PModule#rule): Compile automatically generated
47393 sources with module-specific CFLAGS as well as other sources.
47394
9962ed99 473952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47396
47397 * configure.ac: Check ld.
47398 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47399 respectively, before checking endianness and sizes.
47400
47401 * Makefile.in (LD): New variable.
f19dbdb7 47402
abdfc3c5 474032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47404
47405 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47406
6a161fa9 474072002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47408
47409 * Changelog: New file.
47410