]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-mkimage.c (main): Postpone freeing arguments.output
[grub2.git] / ChangeLog
CommitLineData
c821711f
LL
12013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2
3 * util/grub-mkimage.c (main): Postpone freeing arguments.output
4 until after its use in generate_image.
5
6a0debbd
CW
62013-01-20 Colin Watson <cjwatson@ubuntu.com>
7
8 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
9 initrd size to addr_min, since the initrd will be allocated after
10 this address.
11
f41e08db
AB
122013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
13
14 * conf/Makefile.common: Fix autogen rules to pass definition
15 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
16
77529e0f
LL
172013-01-20 Leif Lindholm <leif.lindholm@arm.com>
18
19 * include/grub/elf.h: Update ARM definitions based on binutils.
20
b879aa7b
VS
212013-01-20 Aleš Nesrsta <starous@volny.cz>
22
23 Split long USB transfers into short ones.
24
8eb8284d
AB
252013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
26
27 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
28 is interrupted by ESC.
29
08dad2dc
VS
302013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * util/grub-script-check.c (main): Uniform the error message.
33
6c724b85
CW
342013-01-20 Colin Watson <cjwatson@ubuntu.com>
35
36 Remove nested functions from ELF iterators.
37
25239370
CW
382013-01-20 Colin Watson <cjwatson@ubuntu.com>
39
40 Remove nested functions from device iterators.
41
42 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
43 (grub_arc_iterate_devs): Add hook_data argument.
44 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
45 (struct grub_ata_dev.iterate): Add hook_data argument.
46 * include/grub/device.h (grub_device_iterate_hook_t): New type.
47 (grub_device_iterate): Add hook_data argument.
48 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
49 (struct grub_disk_dev.iterate): Add hook_data argument.
50 (grub_disk_dev_iterate): Likewise.
51 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
52 Likewise.
53 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
54 Likewise.
55 * include/grub/partition.h (grub_partition_iterate_hook_t): New
56 type.
57 (struct grub_partition_map.iterate): Add hook_data argument.
58 (grub_partition_iterate): Likewise.
59 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
60 (struct grub_scsi_dev.iterate): Add hook_data argument.
61
62 Update all callers.
63
6c0314d6
CW
642013-01-20 Colin Watson <cjwatson@ubuntu.com>
65
66 Fix typos for "developer" and "development".
67
600dc5f1
VS
682013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Add license header to spkmodem-recv.c.
71
17334a6b
VS
722013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Rewrite spkmodem to use PIT for timing. Double the speed.
75
7d462559
VS
762013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
77
78 Add new command pcidump.
79
b78d6c32
VS
802013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
81
82 New terminal outputs using serial: morse and spkmodem.
83
34f71cb8
VS
842013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Improve bidi handling in entry editor.
87
4542e71b
VS
882013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
91 argument to prevent name collision.
92
09fd6d82
CW
932013-01-15 Colin Watson <cjwatson@ubuntu.com>
94
95 Remove nested functions from script reading and parsing.
96
97 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
98 getline_data argument, passed to getline.
99 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
100 getline_data argument, passed to grub_parser_split_cmdline.
101 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
102 lexerstate->getline_data to lexerstate->getline.
103 (grub_script_lexer_init): Add getline_data argument, saved in
104 lexerstate->getline_data.
105 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
106 argument, passed to grub_script_parse.
107 * grub-core/script/script.c (grub_script_parse): Add getline_data
108 argument, passed to grub_script_lexer_init.
109 * include/grub/parser.h (grub_parser_split_cmdline): Update
110 prototype. Update all callers to pass appropriate getline data.
111 (struct grub_parser.parse_line): Likewise.
112 (grub_rescue_parse_line): Likewise.
113 * include/grub/reader.h (grub_reader_getline_t): Add void *
114 argument.
115 * include/grub/script_sh.h (struct grub_lexer_param): Add
116 getline_data member.
117 (grub_script_parse): Update prototype. Update all callers to pass
118 appropriate getline data.
119 (grub_script_lexer_init): Likewise.
120 (grub_normal_parse_line): Likewise.
121
122 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
123 data argument.
124 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
125 static instead of nested. Rename to ...
126 (grub_parser_execute_getline): ... this.
127 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
128 data argument.
129 * grub-core/normal/main.c (read_config_file: getline): Make static
130 instead of nested. Rename to ...
131 (read_config_file_getline): ... this.
132 (grub_normal_read_line): Add unused data argument.
133 * grub-core/script/execute.c (grub_script_execute_sourcecode:
134 getline): Make static instead of nested. Rename to ...
135 (grub_script_execute_sourcecode_getline): ... this.
136 * util/grub-script-check.c (main: get_config_line): Make static
137 instead of nested.
138
d0d4b8a0
CW
1392013-01-15 Colin Watson <cjwatson@ubuntu.com>
140
141 Remove nested functions from memory map iterators.
142
143 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
144 argument, passed to hook.
145 * grub-core/kern/i386/coreboot/mmap.c
146 (grub_linuxbios_table_iterate): Likewise.
147 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
148 instead of nested.
149 (grub_machine_mmap_iterate): Add hook_data argument.
150 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
151 Add hook_data argument, passed to hook.
152 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
153 Likewise.
154 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
155 Likewise.
156 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
157 Likewise.
158 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
159 Likewise.
160 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
161 Likewise.
162 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
163 Likewise.
164 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
165 (grub_machine_mmap_iterate): Likewise.
166 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
167 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
168 prototype.
169 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
170 Remove NESTED_FUNC_ATTR from here and from all users.
171 (grub_mmap_iterate): Update prototype.
172 (grub_efi_mmap_iterate): Update prototype. Update all callers to
173 pass appropriate hook data.
174 (grub_machine_mmap_iterate): Likewise.
175
176 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
177 static instead of nested.
178 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
179 Rename to ...
180 (lsmmap_hook): ... this.
181 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
182 Likewise.
183 (grub_efiemu_mmap_fill: fill_hook): Likewise.
184 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
185 heap_init): Likewise.
186 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
187 Rename to ...
188 (mmap_iterate_hook): ... this.
189 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
190 Likewise.
191 * grub-core/lib/ieee1275/relocator.c
192 (grub_relocator_firmware_get_max_events: count): Likewise.
193 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
194 to ...
195 (grub_relocator_firmware_fill_events_iter): ... this.
196 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
197 hook): Likewise. Rename to ...
198 (grub_relocator_alloc_chunk_align_iter): ... this.
199 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
200 Rename to ...
201 (generate_e820_mmap_iter): ... this.
202 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
203 Rename to ...
204 (count_hook): ... this.
205 (grub_linux_boot: hook): Likewise. Rename to ...
206 (grub_linux_boot_mmap_find): ... this.
207 (grub_linux_boot: hook_fill): Likewise. Rename to ...
208 (grub_linux_boot_mmap_fill): ... this.
209 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
210 hook): Likewise. Rename to ...
211 (grub_fill_multiboot_mmap_iter): ... this.
212 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
213 hook): Likewise. Rename to ...
214 (count_hook): ... this.
215 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
216 hook): Likewise. Rename to ...
217 (grub_fill_multiboot_mmap_iter): ... this.
218 * grub-core/loader/powerpc/ieee1275/linux.c
219 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
220 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
221 Likewise. Rename to ...
222 (alloc_phys_choose): ... this.
223 (determine_phys_base: get_physbase): Likewise.
224 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
225 find_hook): Likewise.
226 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
227 (malloc_hook: count_hook): Likewise.
228 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
229 Likewise. Rename to ...
230 (lower_hook): ... this.
231 (grub_mmap_get_upper: hook): Likewise. Rename to ...
232 (upper_hook): ... this.
233 (grub_mmap_get_post64: hook): Likewise. Rename to ...
234 (post64_hook): ... this.
235 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
236 Likewise. Rename to ...
237 (lower_hook): ... this.
238 (grub_mmap_get_upper: hook): Likewise. Rename to ...
239 (upper_hook): ... this.
240 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
241 (grub_mmap_iterate: fill_hook): Likewise.
242 (fill_mask): Pass addr and mask within a single struct.
243 (grub_cmd_badram: hook): Make static instead of nested. Rename
244 to ...
245 (badram_iter): ... this.
246 (grub_cmd_cutmem: hook): Likewise. Rename to ...
247 (cutmem_iter): ... this.
248
22099030
VS
2492013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
252 delimit path in strings using quotes.
253 * util/getroot.c (grub_guess_root_devices): Likewise.
254 (grub_make_system_path_relative_to_its_root): Likewise.
255 * util/grub-probe.c (probe): Likewise.
256 * util/ieee1275/ofpath.c (find_obppath): Likewise.
257 (xrealpath): Likewise.
258
4a9950ec
VS
2592013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Fix compilation with older compilers.
262
263 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
264 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
265 declarations.
266 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
267 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
268 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
269 identifier with b.
270 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
271 * include/grub/crypto.h: Add type defines.
272 * util/import_gcrypth.sed: Remove duplicate type defines.
273
adcc6020
VS
2742013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
275
276 New command list_trusted.
277
278 * grub-core/commands/verify.c (grub_cmd_list): New function.
279
a4528937
CW
2802013-01-13 Colin Watson <cjwatson@ubuntu.com>
281
282 * util/grub-mkimage.c (generate_image): Fix "size of public key"
283 info message.
284
ca3a7446
CW
2852013-01-13 Colin Watson <cjwatson@ubuntu.com>
286
287 Remove nested functions from PCI iterators.
288
289 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
290 passed to hook. Update all callers to pass appropriate hook data.
291 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
292 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
293 Remove NESTED_FUNC_ATTR from here and from all users.
294 (grub_pci_iterate): Update prototype.
295 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
296 instead of nested. Rename to ...
297 (grub_cs5536_find_iter): ... this.
298 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
299 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
300 Likewise.
301 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
302 Likewise.
303 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
304 Likewise.
305 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
306 Likewise.
307 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
308 * grub-core/video/radeon_fuloong2e.c
309 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
310 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
311 find_card): Likewise.
312 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
313 Likewise.
314
f8e98fee
VS
3152013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/commands/verify.c: Mark messages for translating.
318
055b36b6
VS
3192013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
322 fatal.
323
f7ff879b
VS
3242013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
327 fatal.
328
3292013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
330
331 * autogen.sh: Do not try to delete nonexistant files.
332 * util/import_gcrypth.sed: Add some missing header removals.
333
01323d49
CW
3342013-01-12 Colin Watson <cjwatson@ubuntu.com>
335
336 Clean up dangling references to grub-setup.
337 Fixes Ubuntu bug #1082045.
338
339 * docs/grub.texi (Images): Refer generally to grub-install rather
340 than directly to grub-setup.
341 (Installing GRUB using grub-install): Remove direct reference to
342 grub-setup.
343 (Device map) Likewise.
344 (Invoking grub-install): Likewise.
345 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
346 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
347 * util/grub-install.in (usage): Likewise.
348
349 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
350 Apply to grub-bios-setup and grub-sparc64-setup rather than to
351 grub-setup.
352 * configure.ac: Remove grub_setup output variable.
353
354 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
355 to grub-bios-setup.
356 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
357 grub-setup to grub-sparc64-setup.
358
5e3b8dcb
VS
3592013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
360
361 Import gcrypt public-key cryptography and implement signature checking.
362
535714bd
VS
3632013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/fs/ntfs.c: Ue more appropriate types.
366 * grub-core/fs/ntfscomp.c: Likewise.
367 * include/grub/ntfs.h: Likewise.
368
3e4f3566
VS
3692013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Support Apple FAT binaries on non-Apple platforms.
372
373 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
374 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
375 Likewise.
376 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
377 Apple FAT binaries.
378
4dedb13f
VS
3792013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
382 sector devices.
383
f8861eaf
CW
3842013-01-07 Colin Watson <cjwatson@ubuntu.com>
385
386 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
387 explicitly zeroing elements.
388 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
389 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
390 of elements in a structure already allocated using grub_zalloc.
391 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
392
86065b0a
CW
3932013-01-07 Colin Watson <cjwatson@ubuntu.com>
394
395 * docs/grub.texi (grub_cpu): New subsection.
396 (grub_platform): Likewise.
397
c6f1e92f
VS
3982013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
401
f797ec85
VS
4022013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
405 divisions.
406
033d0b4b
VS
4072013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
410 * grub-core/fs/ntfscomp.c: Likewise.
411 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
412 (grub_ntfs_comp): Likewise.
413
21d1b9a0
VS
4142013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
417 Rename to ...
418 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
419 of groups_per_block. All users updated.
420
10ca8645
VS
4212013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
424 grub_error properly.
425 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
426 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
427
a4c3ed4c
VS
4282013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
431 always in /boot/zfs.
432 Reported by: Yuta Satoh.
433
0b716507
YS
4342013-01-03 Yuta Satoh <nigoro>
435
436 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
437 ${grub_probe}
438
00c05e22
VS
4392013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * configure.ac: Extend -Wno-trampolines to host.
442
dadddb76
VS
4432013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
446 entry->len = 0.
447
54ce53ca
CW
4482013-01-03 Colin Watson <cjwatson@ubuntu.com>
449
450 * docs/grub.texi (Invoking grub-mkrelpath): New section.
451 (Invoking grub-script-check): Likewise.
452
8912efca
CW
4532013-01-03 Colin Watson <cjwatson@ubuntu.com>
454
455 * docs/grub.texi (Invoking grub-mount): New section.
456 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
457
c3fc8394
CW
4582013-01-02 Colin Watson <cjwatson@ubuntu.com>
459
460 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
461 test failures, so that a failing unit test correctly causes 'make
462 check' to fail.
463
45d26abb
CW
4642013-01-02 Colin Watson <cjwatson@ubuntu.com>
465
466 Fix failing printf test.
467
468 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
469 '$' in the correct order when collecting type information.
470
971dd2c6
CW
4712013-01-02 Colin Watson <cjwatson@ubuntu.com>
472
473 * docs/grub.texi (configfile): Explain environment variable
474 handling.
475 (source): New section.
476 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
477
5c67ea6c
CW
4782012-12-31 Colin Watson <cjwatson@ubuntu.com>
479
480 Remove several trivially-unnecessary uses of nested functions.
481
482 * grub-core/commands/i386/pc/sendkey.c
483 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
484 instead of nested.
485 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
486 Rename to ...
487 (legacy_file_getline): ... this.
488 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
489 Likewise.
490 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
491 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
492 to ...
493 (probe_dummy_iter): ... this.
494 * grub-core/kern/i386/coreboot/mmap.c
495 (grub_linuxbios_table_iterate: check_signature): Likewise.
496 * grub-core/kern/parser.c (grub_parser_split_cmdline:
497 check_varstate): Likewise. Mark inline.
498 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
499 an additional parameter.
500 (find_long: fnd_long): Likewise. Pass two additional parameters.
501 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
502 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
503 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
504 Likewise. Rename to ...
505 (grub_cmos_find_port_iter): ... this.
506 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
507 Rename to ...
508 (find_rtc_iter): ... this.
509
510 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
511 function directly into the function body, since it is only called
512 once.
513
33a68ac6
CW
5142012-12-30 Colin Watson <cjwatson@ubuntu.com>
515
516 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
517 __attribute__ ((unused)).
518 * grub-core/video/bochs.c (find_card): Likewise.
519 * grub-core/video/cirrus.c (find_card): Likewise.
520 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
521 * grub-core/video/sis315pro.c (find_card): Likewise.
522 * grub-core/video/sm712.c (find_card): Likewise.
523
608b647a
CW
5242012-12-28 Colin Watson <cjwatson@ubuntu.com>
525
526 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
527 Fixes Savannah bug #37821.
528
fd49ceb3
CW
5292012-12-28 Colin Watson <cjwatson@ubuntu.com>
530
531 Apply program name transformations at build-time rather than at
532 run-time. Fixes Debian bug #696465.
533
534 * acinclude.m4 (grub_TRANSFORM): New macro.
535 * configure.ac: Create output variables with transformed names for
536 most programs.
537 * util/bash-completion.d/grub-completion.bash.in: Use
538 pre-transformed variables for program names.
539 * util/grub-install.in: Likewise.
540 * util/grub-kbdcomp.in: Likewise.
541 * util/grub-mkconfig.in: Likewise.
542 * util/grub-mkconfig_lib.in: Likewise.
543 * util/grub-mknetdir.in: Likewise.
544 * util/grub-mkrescue.in: Likewise.
545 * util/grub-mkstandalone.in: Likewise.
546 * util/grub-reboot.in: Likewise.
547 * util/grub-set-default.in: Likewise.
548 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
549 * tests/util/grub-shell-tester.in: Remove unused assignment.
550 * tests/util/grub-shell.in: Likewise.
551 * util/grub.d/00_header.in: Likewise.
552
7024b3c0
CW
5532012-12-28 Colin Watson <cjwatson@ubuntu.com>
554
555 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
556
557 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
558 HAVE_RAW_DECL_GETS.
559 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
560
e3501b13
VS
5612012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
564 Reported by: Eriks Latosheks <foresterlv>.
565
b40c88a9
VS
5662012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * docs/grub.texi (Network): Update instructions on generating netboot
569 image.
570
ce96d01c
VS
5712012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
574 around device name if necessarry.
575
0f596201
PFS
5762012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
577
578 * util/grub-install.in: Follow the symbolic link parameter added
579 to the file command.
580
600d5bdb
AB
5812012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
582
583 * util/grub-install.in: Remove stale TODO.
584
64ebd2f4
PFS
5852012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
586
587 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
588 dynamic allocation for the bootpath buffer.
589
74b2fe3e
DTB
5902012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
591
592 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
593 window too small.
594
969b804f
VS
5952012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
598 argument rather than font name. All users updated.
599 (grub_gfxterm_set_window): Likewise.
600
b9f5ebd6
VT
6012012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
602
603 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
604 from working.
605
258f43b7
VS
6062012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/getroot.c (convert_system_partition_to_system_disk): Support
609 nbd disks.
610
cc1ce5f9
VS
6112012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
614 infinite loop on corrupted FS.
615
e77a16ca
VS
6162012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Fix big-endian mtime.
619
620 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
621 together sec and usec.
622 (grub_ufs_dir): Use correct byteswapping for UFS time.
623
d9c48c7b
VS
6242012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Support big-endian UFS1.
627
628 * Makefile.util.def (libgrubmods): Add ufs_be.c
629 * grub-core/Makefile.core.def (ufs1_be): New module.
630 * grub-core/fs/ufs_be.c: New file.
631 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
632 the file.
633
2f9f40ba
LL
6342012-11-28 Leif Lindholm <leif.lindholm@arm.com>
635
636 * include/grub/types.h: Fix functionality unaffecting typo in
637 GRUB_TARGET_WORDSIZE conditional macro.
638
48ff0889
PFS
6392012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
640
641 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
642
03711240
GS
6432012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
644
645 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
646 that /netbsd appears first (when it exists).
647
a31b11bd
CJ
6482012-10-12 Christoph Junghans <ottxor@gentoo.org>
649
650 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
651 Fixes Savannah bug #37558.
652
e8a5d5d4
CW
6532012-10-12 Colin Watson <cjwatson@ubuntu.com>
654
655 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
656 description of extract_entries_configfile.
657
6582012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
659
660 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
661 preferred_address.
662 (grub_cmd_linux): Likewise.
663 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
664 preferred_lifetime. Update all users.
665
288c757d
CW
6662012-09-26 Colin Watson <cjwatson@ubuntu.com>
667
668 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
669 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
670
0d35da3f
CW
6712012-09-26 Colin Watson <cjwatson@ubuntu.com>
672
673 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
674 errors from grub-probe to /dev/null, not stdout.
675
b78c3127
VS
6762012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
679 sector 1.
680
473959f0
CW
6812012-09-24 Colin Watson <cjwatson@ubuntu.com>
682
683 * util/grub-install.in: Make the error message if $source_dir
684 doesn't exist more useful.
685
794c8c33
CW
6862012-09-22 Colin Watson <cjwatson@ubuntu.com>
687
688 Fix grub-emu build on FreeBSD.
689
690 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
691 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
692 headers on Linux.
693 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
694 implementation is currently Linux-specific.
695 * util/getroot.c (exec_pipe): Define only on Linux or when either
696 libzfs or libnvpair is unavailable.
697 (find_root_devices_from_poolname): Remove unused path variable.
698
86d08fdb
CW
6992012-09-19 Colin Watson <cjwatson@ubuntu.com>
700
701 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
702 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
703 should fit before end == 63.
704
735abf54
CW
7052012-09-19 Colin Watson <cjwatson@ubuntu.com>
706
707 * util/grub-setup.c (write_rootdev): Remove unused core_img
708 parameter. Update all callers.
709 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
710 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
711 GRUB_SETUP_BIOS.
712
140acd3c
VS
7132012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * util/grub-mkconfig_lib.in (grub_tab): New variable.
716 (grub_add_tab): New function.
717 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
718 * util/grub.d/10_illumos.in: Likewise.
719 * util/grub.d/10_kfreebsd.in: Likewise.
720 * util/grub.d/10_linux.in: Likewise.
721 * util/grub.d/10_netbsd.in: Likewise.
722 * util/grub.d/10_windows.in: Likewise.
723 * util/grub.d/10_xnu.in: Likewise.
724 * util/grub.d/20_linux_xen.in: Likewise.
725 * util/grub.d/30_os-prober.in: Likewise.
726
7ddffdad
VS
7272012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
730 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
731 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
732 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
733 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
734 ieee1275-nocursor.
735 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
736 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
737
4e092454
VS
7382012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
741 le-conversion.
742 Reported by: BURETTE, Bernard.
743
735abf54 7442012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
745
746 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
747 from comment.
748
dfd39dbd
CW
7492012-09-14 Colin Watson <cjwatson@ubuntu.com>
750
751 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
752 IEEE1275 machines. Fixes powerpc-emu compilation.
753 * include/grub/terminfo.h: Likewise.
754
3bfa763c
VS
7552012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
758 a const pointer.
759 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
760 const pointer.
761 (efiemu_set_variable): Make vendor_guid a const pointer.
762
250e475b
VS
7632012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
764
765 Don't require grub-mkconfig_lib to generate manpages for programs.
766
767 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
768 dependencies, don't add grub-mkconfig_lib.
769 (program): Pass empty adddeps.
770 (script): Pass grub-mkconfig_lib as adddeps.
771
592fd0e4
VS
7722012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
775 * util/getroot.c (grub_find_device): Likewise.
776 (get_mdadm_uuid): Likewise.
777 (grub_util_is_imsm): Likewise.
778 (grub_util_pull_device): Likewise.
779 * util/grub-probe.c (probe): Likewise.
780
801a3027
BG
7812012-09-10 Benoit Gschwind <gschwind>
782
783 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
784 (devs): Add devpath_8.
785
c5052c81
PJ
7862012-09-08 Peter Jones <pjones@redhat.com>
787
788 * grub-core/Makefile.core.def (efifwsetup): New module.
789 * grub-core/commands/efi/efifwsetup.c: New file.
790 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
791 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
792 New define.
793 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
794
8e832f71
JS
7952012-09-05 Jiri Slaby <jslaby@suse.cz>
796
797 * configure.ac: Add SuSe path.
798
f0f55752
CW
7992012-09-05 Colin Watson <cjwatson@ubuntu.com>
800
801 * NEWS: Fix typo.
802
ecadc4c2
CW
8032012-09-05 Colin Watson <cjwatson@ubuntu.com>
804
805 * util/import_gcry.py: Sort cipher_files, to make build system
806 generation more deterministic.
807
64498f25
VS
8082012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
811 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
812 (grub_set_datetime): Likewise.
813
9cc836a2
VS
8142012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
817 warnings.
818
bcfcea01
VS
8192012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
822
a4099485
VS
8232012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
826
265c162a
CW
8272012-09-04 Colin Watson <cjwatson@ubuntu.com>
828
829 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
830 required for checkouts from bzr, but it may be useful for users or
831 distributors wishing to update translations against a tarball
832 distribution, and it can be helpful for the tarball to be a superset
833 of what's in bzr.
834
3d171e95
CW
8352012-09-04 Colin Watson <cjwatson@ubuntu.com>
836
837 * Makefile.am (EXTRA_DIST): Add
838 grub-core/tests/boot/linux.init-mips.S,
839 grub-core/tests/boot/linux.init-ppc.S, and
840 grub-core/tests/boot/linux-ppc.cfg.
841
f2c2503e
CW
8422012-09-04 Colin Watson <cjwatson@ubuntu.com>
843
844 * grub-core/mmap/mips/loongson: Remove empty directory.
845
8462012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
847
848 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
849 gone.
850
ab2163d5
CW
8512012-09-04 Colin Watson <cjwatson@ubuntu.com>
852
853 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
854 grub-sparc64-setup.
855
ce938140
GS
8562012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
857
858 * configure.ac: Strengthen the test for working -nostdinc -isystem.
859
529f58a5
GS
8602012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
861
862 * po/POTFILES.in: Regenerated.
863
16cf79e9
GS
8642012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
865
866 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
867 (NetBSD): New subsection.
868
39b27f1e 8692012-07-22 Ales Nesrsta <starous@volny.cz>
870
871 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
872 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
873
a885261b
VS
8742012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
877 * util/grub.d/10_hurd.in: Add missing quoting.
878 * util/grub.d/10_illumos.in: Likewise.
879 * util/grub.d/10_kfreebsd.in: Likewise.
880 * util/grub.d/10_linux.in: Likewise.
881 * util/grub.d/20_linux_xen.in: Likewise.
882
7bd29c01
VS
8832012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
884
885 New command `lsefi'.
886
887 * grub-core/Makefile.core.def (lsefi): New module.
888 * grub-core/commands/efi/lsefi.c: New file.
889 * include/grub/efi/api.h: Add more GUIDs.
890
ac625d8f
VS
8912012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
894 (grub_bsd_elf32_hook): Likewise.
895 (grub_bsd_elf64_size_hook): Likewise.
896 (grub_bsd_elf64_hook): Likewise.
897 (grub_bsd_load_elf): Likewise.
898
e73bb801
VS
8992012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
902 if hash function is unavailable.
903 (dec_stream_header): Likewise.
904
e81db8b5
VS
9052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
908 filter state.
909
d187a1c3
VS
9102012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
911
912 Fix coreboot compilation.
913
914 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
915 (grub_vga_text_init_real): ... this.
916 (grub_vga_text_fini): Rename to ...
917 (grub_vga_text_fini_real): ... this.
918
91a05f64
VS
9192012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
922
6af96df7
VS
9232012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/lib/legacy_parse.c: Support clear and testload.
926
4d569e12
VS
9272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
930
073b57bb
VS
9312012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/fs/ext2.c: Experimental support for 64-bit.
934
a706f4cc
VS
9352012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/net/tftp.c (ack): Fix endianness problem.
938 (tftp_receive): Likewise.
939 Reported by: Michael Davidsaver.
940
e7850aa9
VS
9412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * gentpl.py: Make mans depend on grub-mkconfig_lib.
944
9452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
948 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
949 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
950
35692881
VS
9512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
954 efi_mmap_size.
955 Reported by: Stuart Hayes.
956
c35fc5bd
VS
9572012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
958
959 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
960
961 * grub-core/Makefile.core.def (mda_text): New module.
962 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
963 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
964 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
965 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
966 here.
967 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
968 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
969 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
970 here.
971 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
972 to ..
973 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
974 ... here
975 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
976 here.
977 * grub-core/term/i386/vga_common.c: Removed.
978 * include/grub/i386/vga_common.h: Likewise.
979 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
980 (grub_vga_cr_bw_read): Likewise.
981 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
982 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
983 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
984 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
985 grub_vga_cr_read/grub_vga_cr_write.
986 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
987
5f91f701
VS
9882012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * configure.ac: Bump version to 2.00.
991 * grub-core/normal/main.c (features): Add feature_200_final.
992
0c4f85f6
VS
9932012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9942012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
995
996 * NEWS: Fix unclarity and language mistakes.
997
f923ad22
VS
9982012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1001 additional size to 3 pages.
1002 Reported by: Stuart Hayes.
1003
d22029ba
VS
10042012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * NEWS: Add 2.00 entry.
1007
58eee08f
VS
10082012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1011 put explicit "/" for empty path.
1012 (wildcard_expand): Improve dprintf.
1013
c59bdff7
VS
10142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1017 it's equal to currnode. This can happen with "" symlink.
1018
5e6a440a
YB
10192012-06-27 Yves Blusseau <blusseau@zetam.org>
1020
1021 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1022 echo shell command by printf command.
1023
73a68bcb
VS
10242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1027 the value returned by firmware is the maximal position, not diumension.
1028 (grub_terminfo_output_state): Use a more sane fallback.
1029
392a603b
VS
10302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1033
42d0867f
VS
10342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1037 frequency to 150 MHz.
1038
489509f4
VS
10392012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Apple fixes.
1042
1043 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1044 __APPLE_
1045 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1046 definition.
1047 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1048
9f3fc883
VS
10492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 Handle slash in HFS label.
1052
1053 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1054 (grub_hfs_dir): Tanslate slash.
1055 (grub_hfs_label): Don't translate slash.
1056
54853fd7
VS
10572012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1060 network protocol listing since it introduces problematic dependency on
1061 net module.
1062
4dc02ddf
VS
10632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1066
c50c867d
VS
10672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 Init video early on yeeloong to avoid being rebooted by watchdog.
1070
1071 * grub-core/Makefile.am (gensm712): New target.
1072 (sm712_start.S): Likewise.
1073 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1074 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1075 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1076 description.
1077 * include/grub/vga.h: Move registry definitions to...
1078 * include/grub/vgaregs.h: ... here.
1079
5f92c8a1
VS
10802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1083 signedness.
1084
e9e6f111
VS
10852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1088 platforms with firmware disk drivers in the core.
1089
754ad9eb
VS
10902012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1093 informative verbose message.
1094 (read_lv): Handle 64-bit segment size.
1095
315654c2
VS
10962012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1099
fb022c79
VS
11002012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1103 character but still remove trainling spaces.
1104 (grub_fat_label): Ignore archive flag.
1105
8645f72c
VS
11062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1109 cast between linux_kernel_header and linux_kernel_params.
1110
36498496
VS
11112012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1114 type for size.
1115 (grub_raid6_recover_func_t): Likewise.
1116 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1117 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1118
0b5ea6b8
VS
11192012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1122
650cfcfe
GS
11232012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1124
1125 Fix overflow.
1126
1127 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1128 [__NetBSD__]: Add explicit cast before bitshift.
1129
8a4d6a44
VS
11302012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * configure.ac: Bump to 2.00~rc1.
1133
2fb97ed3
VS
11342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1137 half of $a0.
1138
1fa097dc
VS
11392012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11402012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1141
1142 * docs/grub.texi: Fix search syntax.
1143 (Multi-boot manual config): Put msdos rather than GPT example.
1144 Grammar corrections.
1145
c890ba78
VS
11462012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1149
0f92dca7
VS
11502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1153
3988c4a0
VS
11542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1157 message on double free. Put the value of magic in case of mismatch.
1158
9e86d4c5
VS
11592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 Speed-up video on yeeloong.
1162
1163 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1164 add cached_ptr.
1165 (grub_video_sm712_video_fini): Unmap cached_ptr.
1166 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1167 (grub_video_sm712_set_active_render_target): Removed.
1168 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1169 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1170 sync caches.
1171
ed24c312
VS
11722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 Avoid flushing the same line multiple times on loongson.
1175
1176 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1177 Step in 32 bytes and not 1 byte.
1178 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1179 Likewise.
1180
d1718e7d
VS
11812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1184 subvolumes.
1185
982f1909
VS
11862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 Implement flow control for http.
1189
1190 * grub-core/net/http.c (parse_line): Handle response 206.
1191 (http_receive): Stall if too many packets are in the queue.
1192 (http_establish): Fix range header.
1193 (http_seek): Fix double free.
1194 (http_close): Likewise.
1195 (http_packets_pulled): New function.
1196 (grub_http_protocol): Set http_seek
1197 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1198 (ack_real): Set window depending on i_stall.
1199 (grub_net_send_tcp_packet): Likewise.
1200 (grub_net_tcp_stall): New function.
1201 (grub_net_tcp_unstall): Likewise.
1202 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1203 (grub_net_tcp_unstall): Likewise.
1204
bd407d6e
VS
12052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1208
c7564b8e
VS
12092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1212
a3706162
VS
12132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * tests/util/grub-shell.in: Fix a typo.
1216
b27069e0
VS
12172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 Implement flow control for tftp.
1220
1221 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1222 packets but stop only if stop condition is satisfied.
1223 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1224 `stall' instead of `eof' as stop condition.
1225 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1226 (http_err): Likewise.
1227 * grub-core/net/tftp.c (ack): Replace the first argument with data
1228 instead of socket.
1229 (tftp_receive): Stall if too many packets are in wait queue.
1230 (tftp_packets_pulled): New function.
1231 (grub_tftp_protocol): Set packets_pulled.
1232 * include/grub/net.h (grub_net_packets): New field count.
1233 (grub_net_put_packet): Increment count.
1234 (grub_net_remove_packet): Likewise.
1235 (grub_net_app_protocol): New field `packets_pulled'.
1236 (grub_net): New field `stall'.
1237
6b9cfac6
VS
12382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1241 sync part to handle them.
1242
f35abd81
VS
12432012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1246 * grub-core/net/drivers/ieee1275/ofnet.c
1247 (grub_ieee1275_net_config_real): Likewise.
1248
0e7ec820
VS
12492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1252 the direct route for server/gateway.
1253
9d611a31
VS
12542012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1257 IP address to server name since we may not hame the DNS.
1258
418f45ab
VS
12592012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1262 freeing random buffer on failure.
1263 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1264
44a0efc1
VS
12652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1268
531e2241
VS
12692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1272 reserved bytes.
1273 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1274 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1275 Handle malloc error correctly.
1276
cde393c9
VS
12772012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1280 blocks.
1281
538478d0
VS
12822012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1285 increment.
1286
9b55efe0
VS
12872012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1290 none is explicitly specified.
1291
9eb832c3
VS
12922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1295 while reallocating.
1296
d6b7c7c9
VS
12972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Respect netmask from bootp/dhcp.
1300
1301 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1302 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1303 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1304 into ...
1305 (grub_net_add_ipv4_local): ... this.
1306 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1307 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1308 (grub_net_add_ipv4_local): New proto.
1309
67caf9eb
VS
13102012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1313 determining EFI memory map size.
1314
43657558
VS
13152012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1318
eb6d0dd3
VS
13192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1322 when looking for partition separator.
1323
31230544
VS
13242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1327 Escape commas.
1328
918a2517
VS
13292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 Restructure FAT driver to avoid hook in label reading as it hits a
1332 GCC bug.
1333
1334 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1335 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1336 (grub_fat_iterate_dir): Split into ...
1337 (grub_fat_iterate_init): ... this, ...
1338 (grub_fat_iterate_fini): ... this, ...
1339 (grub_fat_iterate_dir_next): ... and this. All users updated.
1340
9f1d654e
VS
13412012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1344 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1345 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1346 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1347 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1348 New fields last_key and last_key_time.
1349 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1350 extended key-esc into extended key-extended key.
1351
52f0f643
VS
13522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Avoid unnecessary memcpy of whole video buffer.
1355
1356 * grub-core/video/fb/video_fb.c (dirty): New struct.
1357 (framebuffer): Add members current_dirty and previous_dirty.
1358 (dirty): New function.
1359 (grub_video_fb_fill_rect): Update dirty.
1360 (common_blitter): Likewise.
1361 (grub_video_fb_scroll): Likewise.
1362 (doublebuf_blit_update_screen): Copy only dirty part.
1363 (doublebuf_pageflipping_update_screen): Likewise.
1364 (grub_video_fb_doublebuf_blit_init): Init dirty.
1365 (doublebuf_pageflipping_init): Likewise.
1366 (grub_video_fb_setup): Likewise.
1367
e169a180
VS
13682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1371 poll rate.
1372
48556879
VS
13732012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 Fix wildcard regexp dot and other special characters handling.
1376 Reported by: Robert Mabee.
1377
1378 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1379 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1380 (split_path): Trigger expansion on '?'.
1381 (unescape): New function.
1382 (wildcard_expand): Unescape parts copied without globbing.
1383 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1384 (grub_script_arglist_to_argv): Don't unescape expansions.
1385
0494408e
VS
13862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * include/grub/net.h (grub_net_card): New member txbufsize.
1389 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1390 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1391 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1392 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1393 txbufsize.
1394 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1395 compatible property to check for macs. Set
1396 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1397 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1398 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1399 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1400 (send_card_buffer): Use txbuf.
1401 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1402 nested function out of the parent while on it.
1403
cc35fe8f
VS
14042012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1407 presence check.
1408 (grub_ieee1275_net_config_real): Fix config pointer.
1409
970a0a09
VS
14102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1413 filename parsing to non-block devices.
1414
3e19bf87
VS
14152012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1418
c62d1a0c
VS
14192012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1422 All users updated.
1423
ef76bec3
VS
14242012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1427 UUID search command even if hints probing failed.
1428
14292012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1430
1431 * po/POTFILES.in: Regenerated.
1432
70aaf305
VS
14332012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 Speed-up video on fuloong.
1436
1437 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1438 New function.
1439 (grub_pci_device_unmap_range): Handle non-cached address.
1440 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1441 add direct_ptr.
1442 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1443 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1444 (grub_video_sis315pro_set_active_render_target): Removed.
1445 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1446 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1447 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1448 sync caches.
1449 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1450 New proto.
1451
10400f0b
VS
14522012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * docs/grub.texi (Multi-boot manual config): New section.
1455
ba67e2c6
VS
14562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 Avoid slow read-back from VRAM.
1459
1460 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1461 Move from here ...
1462 * grub-core/video/fb/video_fb.c
1463 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1464 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1465 (front_target): Remove front_target. Add pages.
1466 (grub_video_fb_init): Skip setting front_pages.
1467 (grub_video_fb_fini): Likewise.
1468 (doublebuf_blit_update_screen): Use pages.
1469 (grub_video_fb_doublebuf_blit_init): Likewise.
1470 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1471 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1472 (grub_video_fb_setup): Prefer doublebuffing.
1473
377c98cb
VS
14742012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1477 gzio.
1478
eac49cff
VS
14792012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Add loongson tests.
1482
1483 * tests/util/grub-shell.in: Handle loongson.
1484 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1485 drivers.
1486 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1487 Reboot instead of shutdown if REBOOT is defined.
1488
0321415e
VS
14892012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1492 sized ports since unlike on real hardware qemu supports only 32-bit
1493 regs.
1494
3f2bdd8f
VS
14952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1498 * util/grub-mkrescue.in: Handle loongson.
1499
29a049c9
VS
15002012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1503 Set is_part appropriately.
1504 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1505 names. Canonicalize partition without full disk.
1506
4abde346
VS
15072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 Revert usb-quiesce since it's wrong.
1510
1511 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1512 (grub_ofdisk_init): Don't do quiesce.
1513
61f1d93b
VS
15142012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1517 PowerMac workaround to Xserves as well.
1518 Information supplied by: Benjamin Herrenschmidt.
1519
a09eb541
VS
15202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Don't assume that beginning address is also the entry point on ppc.
1523
1524 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1525 (grub_linux_boot): Use linux_entry.
1526 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1527 (grub_linux_load64): Likewise.
1528
505b3c9b
VS
15292012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1532
cbe0b4ef
VS
15332012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1536 needlessly lose the console.
1537
3006e981
VS
15382012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1541 space.
1542
4e5a96b0
VS
15432012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1544
7da036bb
VS
1545 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1546 than current grub_get_rtc() not implemented when booted with
1547 coreboot without TSC.
1548
1549 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1550 Add machine/time.h to kernel headers on loongson.
1551 * grub-core/Makefile.core.def (kernel): Remove
1552 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1553 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1554 (grub_get_rtc): Likewise.
1555 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1556 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1557 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1558 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1559 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1560 rather than installing known non-working time source.
1561 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1562 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1563 * include/grub/time.h: Don't include machine/time.h.
1564 * include/grub/efi/time.h: Removed.
1565 * include/grub/i386/efi/time.h: Likewise.
1566 * include/grub/i386/ieee1275/time.h: Likewise.
1567 * include/grub/powerpc/ieee1275/time.h: Likewise.
1568 * include/grub/sparc64/ieee1275/time.h: Likewise.
1569 * include/grub/x86_64/efi/time.h: Likewise.
1570
15712012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1574
1575 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1576 value.
1577 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1578 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1579 with dotless variants when any combining above is present.
1580
5561c22d
VS
15812012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1584 text and not binary.
1585
96f7e60e
VS
15862012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 Stop polling as soon as we have the packet we were waiting for.
1589
1590 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1591 All users updated.
1592 * grub-core/net/arp.c (have_pending): New var.
1593 (pending_req): Likewise.
1594 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1595 stop indicator.
1596 (grub_net_arp_receive): Set have_pending.
1597 * grub-core/net/dns.c (recv_data): New field stop.
1598 (recv_hook): Set stop.
1599 (grub_net_dns_lookup): Init stop and use as stop condition.
1600 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1601 condition.
1602 * grub-core/net/net.c (grub_net_poll_cards): New argument
1603 stop_condition. Stop when it goes true.
1604 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1605 indicator.
1606 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1607
3e747239
VS
16082012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 Keep TX and RX buffers on EFI rather than always allocate new ones.
1611
1612 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1613 card. All users updated.
1614 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1615 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1616 (get_card_packet): Likewise.
1617 (grub_efinet_findcards): Init new fields.
1618
f695e99a
VS
16192012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1622 compilation error on sparc64.
1623
9e5e66d1
VS
16242012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 Use ITC on IA64 rather than broken routine based on daytime.
1627
1628 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1629 ia64.
1630 (grub_get_rtc) [__ia64__]: Likewise.
1631 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1632 (get_itc): New function.
1633 (grub_rtc_get_time_ms): Likewise.
1634 (grub_machine_init): Calibrate ITC.
1635 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1636 Keep only on non-ia64. Don't export since it's broken and used only
1637 if TSC is unavailable.
1638
a1767404
VS
16392012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1642 even if it's used.
1643 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1644 Skip if parent is unused.
1645
34b2bced
VS
16462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1649
5e619f40
VS
16502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Fix wildcard escaping.
1653
1654 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1655 * grub-core/script/execute.c (wildcard_escape): .. to here.
1656 Don't escape dot.
1657 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1658 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1659 Don't escape dot.
1660 * grub-core/script/execute.c (gettext_append): Always escape.
1661 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1662 * grub-core/script/yylex.l: Don't cut away the escaping.
1663 * tests/grub_script_echo1.in: Add tests with wildcard.
1664
c8ca5855
VS
16652012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1668 (ftdi_hw_configure): Likewise.
1669 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1670 define.
1671 (real_config): Handle 1.5 stop bits.
1672 (pl2303_hw_configure): Likewise.
1673
7183452c
VS
16742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * Makefile.am: Add ppc linux bootcheck.
1677 * grub-core/tests/boot/linux-ppc.cfg: New file.
1678 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1679
f57c84cd
VS
16802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * tests/grub_script_expansion.in: Skip network protocols.
1683
ecfc6207
VS
16842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1687
8d03d284
VS
16882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1691 --rom-directory.
1692 Add -graft-points.
1693
61c42af0
VS
16942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 ESCC serial driver for conducting sautomated tests in qemu.
1697 Not tested on real hardware.
1698
1699 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1700 * grub-core/term/ieee1275/escc.c: New file.
1701 * grub-core/Makefile.core.def (escc): New module.
1702
08fd1291
VS
17032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1706 invalid on error.
1707 (serial_hw_fetch): Don't read invalid handle.
1708 (serial_hw_put): Don't write into invalid handle.
1709
08dafeea
VS
17102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Add a 1.5 stop bits value.
1713
1714 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1715 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1716 GRUB_SERIAL_STOP_BITS_1_5.
1717
9068fdcf
VS
17182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1721 value rather than let it uninited.
1722
f4d5820f
VS
17232012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/commands/wildcard.c (+check_file): New function.
1726 (wildcard_expand): Don't expand to non-existing files, expand with
1727 suffix and not attempt to expand if not needed.
1728
3d2de9a7
VS
17292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1732 out of partitions containing other partitions.
1733
c5c81ff9
VS
17342012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1737 on some qemu versions with GRUB.
1738
1739 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1740 define.
1741 (grub_openbsd_bootarg_pcibios): New struct.
1742 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1743 Add PCIINFO.
1744
08a14e0b
VS
17452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * tests/util/grub-shell.in: Trim firmware output on EFI.
1748
cede3ca3
VS
17492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1752 and coreboot since it's already in kernel.
1753
558d3a60
VS
17542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1757 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1758 to here. New return value start. All users updated.
1759 Recursively scan linear mappings.
1760 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1761 proto.
1762 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1763 Use grub_util_get_dm_node_linear_info.
1764 * util/getroot.c (convert_system_partition_to_system_disk): Use
1765 grub_util_info rather than grub_dprintf.
1766 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1767
60fde14d
VS
17682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1771
1772 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1773 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1774
24bd8838
VS
17752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * include/grub/types.h (grub_set_unaligned64): New function.
1778 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1779 (setup): Likewise.
1780
7bc06a49
VS
17812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1784 (grub_ofdisk_fini): Quiesce USB devices.
1785
49cea015
VS
17862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1789 caches.
1790
8dcbe03b
VS
17912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1794
5b258735
VS
17952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/disk/pata.c (grub_pata_pio_read)
1798 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1799 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1800
37ba07eb
VS
18012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Extend automated tests to qemu-mips.
1804
1805 * Makefile.am: reorganise tests and enable qemu-mips.
1806 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1807 * grub-core/tests/boot/linux.init-mips.S: New file.
1808 * tests/partmap_test.in: Handle ata0 disks.
1809 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1810 non-pc i386.
1811
070038f8
VS
18122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1815 ia64.
1816 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1817 quotes while on it.
1818
004be2cd
VS
18192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1822 (grub_halt): Likewise.
1823 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1824
b1622487
VS
18252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/term/serial.c (grub_serial_register)
1828 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1829 the behaviour in line with x86 platforms.
1830
b7b4ab33
VS
18312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1834 (grub_ata_strncpy): Likewise.
1835 (grub_ata_identify): Add missing byteswaps.
1836
5e3535ae
VS
18372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1840 byte-swap.
1841 (screen_read_char): Likewise.
1842 (grub_vga_text_cls): Likewise.
1843
c21b17e6
VS
18442012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1847 filenames.
1848 (make_file_path): Likewise.
1849
bf293dec
VS
18502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1853 machines.
1854 Tested by: Paulo Flabiano Smorigo.
1855 Crucial information about API supplied by: Coleen <Last name unknown>.
1856 Reviewed by: Coleen <Last name unknown>.
1857
81f6ef0e
VS
18582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * util/grub-mkimage.c: Disable -Wcast-align.
1861
7284143a
VS
18622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1865 as they are fatal.
1866
b99f3e00
VS
18672012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1870
944f752d
VS
18712012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * util/grub-probe.c (escape_of_path): Fix double free.
1874
6cce6f38
VS
18752012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/commands/videoinfo.c (hook): Show pitch.
1878
1e1eb50e
VS
18792012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1882
1c715b5a
VS
18832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1886 (probe): Add ieee1275 to OFW devices.
1887
007ae52d
VS
18882012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1891
4557a36d
VS
18922012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 Handle IBM OFW path.
1895
1896 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1897 available.
1898 (of_path_of_scsi): Handle vdevice.
1899
efbeefe9
VS
19002012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1903 Allocate in multiples of 16 to avoid adding a few bytes free region the
1904 windows bugs upon.
1905
15a940bb
VS
19062012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1909 Allocate in multiples of 16 to avoid adding a few bytes free region the
1910 windows bugs upon.
1911 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1912
6e5efd60
VS
19132012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1916 resolutions.
1917 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1918 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1919
0d3d137e
IS
19202012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1921
1922 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1923
45dbe300
VS
19242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1927 resulted in \\ at the end of the line.
1928
6d8db947
VS
19292012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1932 (grub_parser_cmdline_state): Likewise.
1933 (grub_parser_split_cmdline): Likewise.
1934
de89d338
VS
19352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1938 /dev/root and /dev/dm-*.
1939
00d41dee
VS
19402012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1943 fix partially stale display.
1944
f95d1f11
VS
19452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1948 substraction.
1949
6297e197
VS
19502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1953 Fix MBR remapping workaround.
1954 (grub_util_biosdisk_read) [__linux__]: Likewise.
1955
8a7ecad3
VS
19562012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1959
2b34f944
VS
19602012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * configure.ac: Bump to beta6.
1963
684aef11
CW
19642012-05-31 Christer Weinigel <christer@weinigel.se>
1965
1966 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1967
05b0bb91
VS
19682012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1971 (grub_cmd_linux): Likewise.
1972
bda36bfa
CW
19732012-05-31 Christer Weinigel <christer@weinigel.se>
1974
1975 Fix EHCI low-speed.
1976
1977 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1978 (GRUB_EHCI_MULT_TWO): Likewise.
1979 (GRUB_EHCI_MULT_THREE): Likewise.
1980 (GRUB_EHCI_CMASK_MASK): New enum value.
1981 (GRUB_EHCI_SMASK_MASK): Likewise.
1982 (GRUB_EHCI_CMASK_OFF): Likewise.
1983 (GRUB_EHCI_SMASK_OFF): Likewise.
1984 (grub_ehci_pci_iter): Enable periodic schedule.
1985 (grub_ehci_parse_notrun): Likewise.
1986 (grub_ehci_restore_hw): Likewise.
1987 (grub_ehci_setup_qh): Set flags for low speed transfers.
1988 (grub_ehci_find_qh): Use periodic list for low speed.
1989 (grub_ehci_setup_transfer): Check periodic queue as well.
1990 (grub_ehci_check_transfer): Likewise.
1991 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1992
e12bcb1c
PFS
19932012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1994
1995 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1996 parameter is used.
1997
bcc75fb3
PJ
19982012-05-31 Peter Jones <pjones@redhat.com>
1999
2000 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2001 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2002 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2003
f19cb95e
VS
20042012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2007 uninited variable. Allocate at least setup_sects.
2008
a4e5ca80
VS
20092012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 Fix handling of EFI with big memory maps.
2012
2013 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2014 (real_mode_mem): Likewise.
2015 (real_mode_target): Likewise.
2016 (real_mode_pages): Likewise.
2017 (prot_mode_pages): Likewise.
2018 (linux_params): New var.
2019 (linux_cmdline): Likewise.
2020 (free_pages): Don't set real mode variables.
2021 (allocate_pages): Don't allocate real mode memory.
2022 (grub_e820_add_region): Remove the limit.
2023 (grub_linux_boot): Allocate and copy real mode memory.
2024 (grub_linux_unload): Free linux_cmdline.
2025 (grub_cmd_linux): Use temporary storage for parameters.
2026 (grub_cmd_initrd): Likewise.
2027 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2028 (linux_kernel_params): Make it 1K big.
2029
ddb73558
VS
20302012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * Makefile.util.def: Remove -Wno-format.
2033 * grub-core/Makefile.core.def: Likewise.
2034
1c4afb60
VS
20352012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * tests/cmp_unit_test.c: Add missing failure message.
2038 * tests/example_unit_test.c: Likewise.
2039 * tests/printf_unit_test.c: Likewise.
2040
941e3a6d
VS
20412012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2044 relaxation of protective MBR requirements.
2045
b105df76
VS
20462012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * configure.ac: Add condition for COND_HOST_XNU.
2049 * Makefile.util.def (10_xnu): New script.
2050 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2051
84e1569e
VS
20522012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2055 objconv bug.
2056
130c0f77
VS
20572012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2060 Binary on other platforms stays identical.
2061
6fd0b143
VS
20622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2065 Apple.
2066
0af1751d
VS
20672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2070
176d5f7d
VS
20712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2074 rather than defining size_t ourselves to avoid conflict.
2075
7de5e20a
VS
20762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2079 initialisation to avoid __bzero reference.
2080
f7143efe
VS
20812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2084 version.
2085 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2086 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2087 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2088 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2089 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2090
e6ad0555
VS
20912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2094 * grub-core/kern/misc.c: Likewise.
2095 * grub-core/loader/i386/xnu.c: Likewise.
2096 * include/grub/i386/tsc.h: Likewise.
2097 * include/grub/symbol.h: Likewise.
2098
4a5a3c4a
VS
20992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2102 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2103 on older compiler.
2104
037f6d90
VS
21052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2108 Implement Apple flavour.
2109 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2110
f7194551
VS
21112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2114 (memmove) [__APPLE__]: Likewise.
2115 (memcpy) [__APPLE__]: Likewise.
2116 (memset) [__APPLE__]: Likewise.
2117 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2118 (memmove) [__APPLE__]: Likewise.
2119 (memcpy) [__APPLE__]: Likewise.
2120 (memset) [__APPLE__]: Likewise.
2121
85a730ca
VS
21222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2125 dependency discard.
2126
40e80b94
VS
21272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/normal/main.c (read_config_file): Provide config_file and
2130 config_directory.
2131 * util/grub.d/41_custom.in: Use config_directoy when available.
2132
9da59c32
VS
21332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2136 (grub_bfs_dir): Likewise.
2137
2787ae53
PJ
21382012-05-27 Peter Jones <pjones@redhat.com>
2139
2140 The old code gives arguments to a printf function which can't work
2141 correctly, and the compiler complains.
2142
2143 * grub-core/tests/example_functional_test.c (example_test): Add
2144 missing text.
2145 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2146 * include/grub/test.h (grub_test_assert_helper): New declaration.
2147 (grub_test_assert): Use grub_test_assert_helper.
2148
526ef13d
VS
21492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2152 (exfctest): ... this to avoid overlong filenames.
2153 All users updated.
2154
20dd511c
VS
21552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 Handle "." and ".." on squashfs.
2158
2159 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2160 Make inode numbers into stack.
2161 (grub_squash_read_symlink): Use stack.
2162 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2163 (make_root_node): Fill stack.
2164 (grub_squash_open): Use stack.
2165
1d80c62a
VS
21662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2169 freeing.
2170
d336f652
VS
21712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2174 stderr on test calls.
2175
8b43f587
VS
21762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2179
80a3dc3f
VS
21802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2183
47e297d4
VS
21842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2187 "..".
2188
df042ccb
VS
21892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2192 (grub_hfsplus_iterate_dir): Add "." and "..".
2193
fc977f48
VS
21942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2197 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2198
f3250e5f
VS
21992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2202 (find_path): Handle "." and "..".
2203
fd8ed4c5
VS
22042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2207 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2208 (grub_affs_iterate_dir): Handle hardlinks.
2209
4ce776d2
MG
22102012-05-26 Matthew Garrett <mjg@redhat.com>
2211
2212 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2213 (grub_efi_console_fini): Likewise.
2214 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2215 (grub_video_gop_fill_mode_info): Rename to ...
2216 (grub_video_gop_fill_real_mode_info): ... this.
2217 (grub_video_gop_fill_mode_info): New function.
2218 (grub_video_gop_setup): Setup double framebuffer.
2219 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2220 Free offscreen.
2221 (grub_video_gop_swap_buffers): Copy framebuffer.
2222 (grub_video_gop_fini): Free offscreen buffer.
2223 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2224 New enum.
2225 (grub_efi_gop_blt_pixel): New struct.
2226
683031ba
VS
22272012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * gentpl.py: Remove error disabling for objconv.
2230
c2deb798
VS
22312012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * configure.ac: Remove -Wunitialized as it's not available on older
2234 compilers.
2235
22362012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
2237
2238 Fix extent overflow comparator.
2239
2240 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2241 (grub_hfsplus_read_block): Set type.
2242 (grub_hfsplus_cmp_extkey): Compare type.
2243
d6b1fd36
VS
22442012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2247
0a9aa0f6
VS
22482012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2251 than 0.
2252
8360e159
VS
22532012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2256 (dejavu_bold_14.pf2): New target.
2257
501b9e4b
VS
22582012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * configure.ac: Fix djvu font detection.
2261
7026b0e2
VS
22622012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2265 ext* instead of ext2.
2266
c2a51ade
VS
22672012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2270 name with \0.
2271
8f803a5d
JU
22722012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2273
2274 * docs/grub-dev.texi: Remove dot from .png.
2275
13c6353f
VS
22762012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2279 protective entry in any slot.
2280 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2281 if protective entry is found in any slot.
2282
2283 Protective entry in non-first slot make no sense but is a widespread
2284 brain damage.
2285
4cf6be1b
VS
22862012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2289
937d1c44
VS
22902012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2293 with old reiserfs.
2294 (grub_reiserfs_open): Don't free root.
2295
021d90ec
VS
22962012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2299 after freeing for safety.
2300
967b2b64
VS
23012012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2304 Reported by: Jordan Uggla.
2305
34274d02
JU
23062012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2307
967b2b64
VS
2308 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2309 actual implementation. Specifically, clarify that the grub menu will
2310 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2311 passed.
34274d02 2312
dcaaae9d
BH
23132012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2314
2315 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2316 of r0.
2317
7086ad52
VS
23182012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 Remove unjustified hard dependency of normal.mod on gfxterm.
2321
2322 * include/grub/term.h (grub_term_output): New member fullscreen.
2323 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2324 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2325 (grub_gfxterm): Set .fullscreen.
2326 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2327 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2328
37ed2c9b
VS
23292012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2332 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 2333 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 2334
a4469c88
VS
23352012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2338
4e461486
VS
23392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2342 a bad FS.
2343
aa78f5c4
VS
23442012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2347 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2348
197626b5
VS
23492012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2352 (grub_jfs_mount): Fill caseins.
2353 (grub_jfs_find_file): Respect caseins.
2354
8ad3f28c
VS
23552012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2358 through UTF-16.
2359
0c6c324e
VS
23602012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2363 New argument origpath. All users updated.
2364
c6666ba6
VS
23652012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2368 (read_attr): Ensure that we read start of possibly compressed block.
2369
e28e5fe5
VS
23702012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2373 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2374 All users updated.
2375
5fc23ab2
VS
23762012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2379 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2380 (dejavu.pf2): Replace with ...
2381 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2382 this.
2383
79dbc21c
VS
23842012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * util/grub.d/20_linux_xen.in: Add missing line.
2387
d2fcfb0c
VS
23882012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2391 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2392 (grub_utf16_to_utf8): Likewise.
2393
5560e9d6
VS
23942012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2397 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2398 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2399 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2400 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2401 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2402
24032012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2404
2405 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2406 a bad FS.
2407
5560e9d6 24082012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2409
2410 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2411 (grub_udf_read_symlink): Handle read_string failure.
2412
5eae3175
VS
24132012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2416 comment.
2417
c1ad82db
VS
24182012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Fix handling of UDF symlinks.
2421
2422 * grub-core/fs/udf.c (read_string): New argument outbuf.
2423 All users updated.
2424 (grub_ufs_read_symlink): Rename to ...
2425 (grub_udf_read_symlink): ... this. All users updated.
2426 Handle symlinks with more than one component.
2427
33eca6e0
VS
24282012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2431 symlinks. Replace leading colon with a slash.
2432
57f4a70b
VS
24332012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2436 filename.
2437
38c8ee20
VS
24382012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2441 match in inner node.
2442
2e57f28f
VS
24432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2446 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2447 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2448 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2449 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2450 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2451 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2452 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2453 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2454
fe8c2f11
VS
24552012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Use grub-probe and not cmp to check that disk is empty.
2458
2459 * util/grub-install.in: Use grub-probe for zero-check.
2460 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2461 (probe): Handle PRINT_ZERO_CHECK.
2462 (argp_parser): Handle -t zero_check.
2463
24642012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2465
2466 Flush block cache on adding disk to device map.
2467
2468 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2469 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2470 adding.
2471 (read_device_map): Likewise.
2472 (open_device): Flush on opening.
2473
690434e8
VS
24742012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2477 (handle_symlink): Fix off-by-one error.
2478 Canonicalize the target.
2479 (grub_cpio_dir): Canonicalize the name.
2480 Fix memory leak.
2481 Set directory.
2482 (grub_cpio_open): Canonicalize the name.
2483
742d2be6
VS
24842012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2487 handling.
2488
3244fe96
VS
24892012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2492 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2493
8aeb1837
VS
24942012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2497 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2498 All users updated.
8aeb1837 2499
9133fd05
VS
25002012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2503 counterpart.
2504
6d521c5b
VS
25052012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Fix UFS1 big file support.
2508
2509 * grub-core/fs/ufs.c (INODE): Removed.
2510 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2511 64-bit.
2512 (INODE_MODE): Simplify.
2513 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2514 (grub_ufs_lookup_symlink): Don't use INODE.
2515
21b82e17
VS
25162012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2519
2520 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2521 (grub_minix_data): Replace log_block_size with block_size.
2522 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2523 (grub_minix_mount): Fill block_size.
2524
25252012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2526
2527 * configure.ac: Bump to beta5.
2528
f417ed04
VS
25292012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Fix wrapped HFS+ handling.
2532
2533 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2534 blocks_start. All users updated.
2535 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2536 wrapping offset.
2537 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2538
607d282b
VS
25392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 Fix long symlinks on reiserfs.
2542
2543 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2544 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2545 (grub_reiserfs_iterate_dir): Save size for non-directories.
2546 (grub_reiserfs_open): Don't reread stat block as we already know the
2547 size.
2548 (grub_reiserfs_read): Split into...
2549 (grub_reiserfs_read_real): ... and ...
2550 (grub_reiserfs_read): ...this.
2551
ae16024d
VS
25522012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Fix non-indexed JFS.
2555
2556 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2557 (grub_jfs_data): New field namecomponentlen.
2558 (grub_jfs_mount): Fill namecomponentlen.
2559 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2560
eea1e26e
VS
25612012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2564 * tests/grub_script_echo1.in: Add tests.
2565
df760f77
VS
25662012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * util/grub-install.in: Ignore empty devicetree directory.
2569
5efb817d
B
25702012-05-08 Bean <bean123ch@gmail.com>
2571
2572 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2573 All users updated.
2574 (free_rsm): Free header as well.
2575 (free_old_fragments): Fix memory leak.
2576 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2577 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2578 (destroy_pq): Likewise.
2579 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2580
668ea6d2
VS
25812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2584 resulting hash as a precaution.
2585
1739b1fe
VS
25862012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2589 '_' in variable names.
2590 * grub-core/net/net.c (grub_net_network_level_interface_register):
2591 Likewise.
2592
6ae485aa
VS
25932012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 Fix AFFS with non-512B blocks.
2596
2597 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2598 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2599 (grub_affs_data): Replace blocksize with log_blocksize.
2600 (grub_affs_read_block): Fix non-512B blocks.
2601 (grub_affs_read_symlink): Likewise.
2602 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2603 (grub_affs_read): Fix non-512B blocks.
2604 (grub_affs_label): Likewise.
2605 (grub_affs_mtime): Likewise.
2606 (grub_affs_mount): Fix block detection routine.
2607
d20fab84
VS
26082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Add filesystem mtime to AFFS.
2611
2612 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2613 (aftime2ctime): New function.
2614 (grub_affs_dir): Use aftime2ctime.
2615 (grub_affs_label): Fix return value.
2616 (grub_affs_mtime): New function.
2617 (grub_affs_fs): Add mtime.
2618
e87b10f5
VS
26192012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2622 UTF-8.
2623
7dceec9b
VS
26242012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2627 UTF-8.
2628
2f48221f
VS
26292012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2632
dacd85cf
VS
26332012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2636 flags.
2637 (FLAGS_CASE_SENSITIVE): New enum value.
2638 (cache_entry): New struct.
2639 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2640 cache_size and cache.
2641 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2642 Add log_blocksize and fshelp_flags.
2643 (grub_sfs_read_extent): Handle non-512 blocks.
2644 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2645 (grub_sfs_read_file): Handle non-512 blocks.
2646 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2647 fshelp_flags.
2648 (grub_sfs_read_symlink): Handle non-512 blocks.
2649 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2650 (grub_sfs_dir): Free cache.
2651 (grub_sfs_close): Likewise.
2652
24e9a854
VS
26532012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2656 filesystems.
2657
62ace64d
VS
26582012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2661
83b2e89c
VS
26622012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2665
75ccaea3
VS
26662012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2669 (grub_sfs_read_extent): Likewise.
2670 (grub_sfs_read_block): Likewise.
2671 (grub_sfs_mount): Likewise.
2672 (grub_sfs_iterate_dir): Likewise.
2673 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2674 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2675
1b8463f2
VS
26762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 Fix errors on compressed NTFS with 512B clusters.
2679
2680 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2681 types.
2682 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2683 not 0.
2684 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2685 Relax check for inline extents.
2686 (ntfscomp): Return correct -1 on error and not 0.
2687
4f8e368f
VS
26882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * util/grub-install.in: Fix handling of prefix containing spaces.
2691
6f5d5ee8
VS
26922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2695 (grub_squash_read_data): Fix offset byte-swapping.
2696
ce41ab7a
VS
26972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2700 per common usage and preffered in several parts of code.
2701 (grub_memcmp): Likewise.
2702 (grub_strncmp): Likewise.
2703 * include/grub/misc.h (grub_strcasecmp): Likewise.
2704 (grub_strncasecmp): Likewise.
2705 * Makefile.util.def (cmp_test): New test.
2706 (grub_script_strcmp): Likewise.
2707 * tests/cmp_unit_test.c: New file.
2708 * tests/grub_script_strcmp.in: Likewise.
2709 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2710
49717bf4
VS
27112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * include/grub/pci.h: Move enums into no-asm part.
2714
0a308f64
VS
27152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2718
1796965f
ST
27192012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2720
2721 * util/getroot.c (find_hurd_root_device): Try to make error message
2722 and comments to translators clearer.
2723
4e9b2819
VS
27242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2727
076aeb50
VS
27282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2731 btrfs.
2732
19424d94
VS
27332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * docs/grub.cfg: Update.
2736
ebb73076
VS
27372012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * docs/grub.texi (PXE): Remove not present variables.
2740
9a1b669c
VS
27412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/net/net.c (defserver_set_env): New function.
2744 (defserver_get_env): Likewise.
2745 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2746
d38bf7d3
VS
27472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2750 entries.
2751
27522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2753
2754 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2755 * grub-core/kern/emu/hostdisk.c: Likewise.
2756
e5e4ca48
ST
27572012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2758
2759 Handle hurd userspace partitions.
2760
2761 * util/getroot.c (find_hurd_root_device): New function.
2762 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2763
56bb5dd5
VS
27642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2767 names.
2768 Reported by: Bastian Blank.
2769
9e8bc27a
VS
27702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2773 crossing page boundary.
2774
aa01499d
VS
27752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Fix B-tree search in BFS, especially in presence of non-ASCII
2778 characters.
2779
2780 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2781 (find_in_b_tree): Use standard bsearch + btree algorithm.
2782
57006035
VS
27832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2786 and so on.
2787
9d34bb85
MG
27882012-05-03 Matthew Garrett <mjg@redhat.com>
27892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Suspend broadcom cards in order to stop their DMA.
2792
2793 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2794 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2795 (pci): Don't build on x86 EFI.
2796 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2797 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2798 New function.
2799 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2800 stop_broadcom if running on EFI.
2801 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2802 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2803 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2804 (grub_pci_find_capability): New proto.
2805
01aab997
VS
28062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * docs/grub.texi: Remove dot from the extension as it apparently
2809 doesn't work with some makeinfo versions.
2810
fbd8dca6
VS
28112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2814 with GRUB expectance.
2815
dab797f4
VS
28162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2819
1516bfb4
VS
28202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2823 zero after directory block since last entry may be not 0-terminated if
2824 it ends on block boundary. Use continue instead of if spanning whole
2825 loop.
2826
a3a0eace
VS
28272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 Support 4K sectors UDF inline files.
2830
2831 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2832 (grub_udf_extended_file_entry): Likewise.
2833 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2834 All users updated.
2835 (get_fshelp_size): New function.
2836 (grub_udf_read_icb): Read whole block.
2837 (grub_udf_iterate_dir): Likewise.
2838 (grub_udf_dir): Likewise.
2839 (grub_udf_open): Likewise.
2840
c82f16c1
VS
28412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2844
59fd2aac
VS
28452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2848 inline symlinks in addition to workaround.
2849
3b4afb4d
VS
28502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2853
f45c794a
VS
28542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2857
f25cecbd
VS
28582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2861
bb9a34e8
VS
28622012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Fix reiserfs big seek times.
2865
2866 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2867 exact. All users updated.
2868 (grub_reiserfs_read): Use nearest btree search for seeking.
2869 Fix return value on error.
2870
dc478aea
VS
28712012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2874 entries.
2875 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2876 * docs/grub.texi: Update menuentry description.
2877
8db10f47
VS
28782012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2881 crash when embedding onto filesystem.
2882
bcb288ed
VS
28832012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2886 name.
2887
a626fdd7
VS
28882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2891
b2f68477
VS
28922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2895 commit.
2896
ba15b2af
B
28972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28982012-05-01 Bean <bean123ch@gmail.com>
2899
2900 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2901
a188012e
VS
29022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2905 Special behaviour for len = 0 to read whole file isn't used anywhere and
2906 can cause buffer ovewrflows in several places.
2907
f0a53ed2
VS
29082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2911
5ed554f0
VS
29122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 Handle RAIDZ on non-512B sectors.
2915
2916 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2917 max_children_ashift.
2918 (fill_vdev_info_real): Fill max_children_ashift.
2919 (read_device): Use max_children_ashift.
2920
ddc58357
VS
29212012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2924
e3282399
VS
29252012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2928 disk names.
2929 * docs/grub.texi: Update device.map parts.
2930
ee618bd4
VS
29312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Don't scan into non-diskfilter devices having diskfilter names.
2934
2935 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2936 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2937 handling.
2938 (scan_disk_hook): New function.
2939
bdf88864
B
29402012-04-29 Bean <bean123ch@gmail.com>
2941
2942 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2943 allocation.
2944
32745f51
MK
29452012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2946
2947 * configure.ac: Detect starfield theme font path
2948 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2949
bc95c8c0
VS
29502012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2953 geometry on serial consoles.
2954
147fbcab
VS
29552012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2958 because of network consoles.
2959
0f42c889
VS
29602012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2963 handling.
2964
4a3594c9
VS
29652012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2968 falls on Q syndrom.
2969
5cb53879
VS
29702012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2973 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2974
b282dfe5
VS
29752012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2978 Allocate at lest 8192 for temporary buffer as required for lzo.
2979
daa59f47
VS
29802012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2983 to cluster_bits, since it's already added in.
2984 (grub_fat_read_data): Likewise.
2985
986748ce
VS
29862012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2989 as long as cluster size is multiple of 512 bytes.
2990
a20f6ad0
VS
29912012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * util/grub-mkrescue.in: Fix locale directory.
2994
385f9abb
VS
29952012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/kern/emu/hostdisk.c (map): Make static.
2998
1c557d30
B
29992012-04-23 Bean <bean123ch@gmail.com>
3000
3001 * util/grub-fstest.c (fstest): Add missing break.
3002
524b5d3a
ST
30032012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3004
3005 Fix hurd build.
3006
3007 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3008 not define nr variable.
fe4824e9 3009 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3010 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3011 grub_find_device): Do not define.
524b5d3a 3012
9a06490c
VS
30132012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Fix kfreebsd compile and behaviour.
3016
3017 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3018 format-security.
3019 * util/getroot.c: Fix wait.h include.
3020 (grub_guess_root_devices): Error if grub_find_device fails.
3021 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3022 (grub_util_get_dev_abstraction): Likewise.
3023 (grub_util_pull_device): Likewise.
3024 (grub_util_get_grub_dev): Likewise.
3025 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3026
48143d96
VS
30272012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 Fix and unify wholedisk detection.
3030
3031 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3032 is_part. All users updated.
3033 (device_is_wholedisk): Removed.
3034 (grub_util_biosdisk_get_grub_dev): Use is_part.
3035
ebbd24f3
VS
30362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3039 mode.
3040
56f7aa1e
VS
30412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * configure.ac: Bump to beta4.
3044
9c815e01
VS
30452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3048 --fs-uuid --set UUID syntax.
3049
59e2651a
VS
30502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3053 disunification.
3054
54e03cfc
VS
30552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3058
81092a75
MK
30592012-04-18 Mads Kiilerich <mads@kiilerich.com>
3060
3061 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3062
f8315e14
MG
30632012-04-18 Mike Gilbert <floppym@gentoo.org>
3064
3065 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3066
1501ac21
B
30672012-04-18 Bean <bean123ch@gmail.com>
3068
3069 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3070 place.
3071
cb7f944e
VS
30722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3075 users updated.
3076 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3077 corresponding to GRUB partitions.
3078 (grub_util_biosdisk_write): Likewise.
3079
b72d44a1
VS
30802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 Scan mdraid before LVM.
3083
3084 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3085 (grub_diskfilter_register_front): ... this.
3086 (grub_diskfilter_register_back): New function.
3087 All users of grub_diskfilter_register updated.
3088
33d918b8
VS
30892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * util/grub-install.in: Fix an automatic target detection bug.
3092
c6ca973d
VS
30932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * util/grub-install.in: New option --efi-directory.
3096
b41be562
VS
30972012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3100 boot services if we have no other choice.
3101
31022012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3105 document it.
3106 * tests/util/grub-shell.in: Update to --directory.
3107
e0595a73
VS
31082012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3111
4ed80652
VS
31122012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3115 (grub_minix_read_file): Likewise.
3116 (grub_minix_read_inode): Likewise.
3117 (grub_minix_find_file): Likewise.
3118 (grub_minix_dir): Likewise.
3119
56008077
VS
31202012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * util/grub-setup.c (setup): Fix partition handling and blocklist
3123 check.
3124
ee520775
VS
31252012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3128 redundant buggy overlap check.
3129
16fc9293
VS
31302012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3133 and grub-mknetdir.
3134
9bab65c4
VS
31352012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3138 kh.loadflags on pre-2.00 kernels.
3139
3c491b47
VS
31402012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 Terminate UNDI and PXE before launching the payload to avoid problems
3143 with DMA.
3144
3145 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3146 (grub_loader_flags): ... this. All users updated.
3147 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3148 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3149 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3150 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3151 function.
3152 (grub_pxe_restore): Likewise.
3153 (fini_hnd): New var.
3154 (GRUB_MOD_INIT): Register shutdown hook.
3155 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3156 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3157 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3158 (grub_loader_set): Rename second argument to flags.
3159
851ffada
VS
31602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3163 written bytes.
3164 (grub_get_num_of_utf8_bytes): New function.
3165 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3166 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3167 executing it.
3168 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3169 (grub_ucs4_to_utf8): Change return type.
3170
491c57a8
VS
31712012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3174 warning.
851ffada
VS
3175 * grub-core/fs/bfs.c (hop_level): Likewise.
3176 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 3177
756773df
VS
31782012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/lib/adler32.c: Recode due to license unclearness.
3181
fd556a96
VS
31822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3185 (test_header): Likewise.
3186
9f9d3f69
VS
31872012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Fix --help formatting.
3190
3191 * util/grub-mkconfig_lib.in (print_option_help): New function.
3192 (grub_fmt): Likewise.
3193 * util/grub-install.in: Use print_option_help and grub_fmt.
3194 * util/grub-kbdcomp.in: Likewise.
3195 * util/grub-mkconfig.in: Likewise.
3196 * util/grub-mknetdir.in: Likewise.
3197 * util/grub-mkrescue.in: Likewise.
3198 * util/grub-mkstandalone.in: Likewise.
3199 * util/grub-reboot.in: Likewise.
3200 * util/grub-set-default.in: Likewise.
3201 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3202
561ec77e
VS
32032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * linguas.sh: Remove autogenerated *.po.
3206
7ec2b021
VS
32072012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * po/README: Move language fetcing to ...
3210 * linguas.sh: ... here.
3211 * po/README: Point to linguas.sh.
3212
a88f3270
VS
32132012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * po/README: Exclude ko.po due to disclaimer problems.
3216
d61357ce
VS
32172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3220 len = 0.
3221 (grub_gettext_translate_real): Handle 0th string.
3222 (grub_gettext_translate): Ensure that "" isn't translated.
3223
505e41dc
VS
32242012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3227 TRANSLATORS comment.
3228 (grub_diskfilter_print_partmap): Propagate changing of error into
3229 warning.
3230
e44092db
VS
32312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3234 to uint64_t to prevent overflow.
3235 (grub_diskfilter_lv): Increase start_extent and extent_count
3236 to uint64_t to prevent overflow.
3237
9b83956a
VS
32382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * configure.ac: Increase version.
3241
da0d5b3f
VS
32422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3245
3246 * po/Rules-translit: New file.
3247 * po/arabic.sed: Likewise.
3248 * po/cyrillic.sed: Likewise.
3249 * po/greek.sed: Likewise.
3250 * po/hebrew.sed: Likewise.
3251 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3252 * po/Makefile.in.in: Add extra_dist4.
3253
ac66b453
VS
32542012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3257
3258 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3259 modify names. Introduce MODE_BIGENDIAN.
3260 * grub-core/fs/minix_be.c: New file.
3261 * grub-core/fs/minix2_be.c: Likewise
3262 * grub-core/fs/minix3_be.c: Likewise.
3263 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3264 minix3_be.
3265 * grub-core/Makefile.core.def (minix_be): New module.
3266 (minix2_be): Likewise.
3267 (minix3_be): Likewise.
3268
32692012-04-01 Felix <email@hamburg.de>
3270
3271 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3272 (devs): Add MBP 2011.
3273
0a2d5a82
VS
32742012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3277
d1625889
VS
32782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/normal/cmdline.c (print_completion): New field
3281 prompt_len.
3282 (grub_cmdline_get): Handle width properly.
3283
6d36a236
VS
32842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3287
9576977e
VS
32882012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 3291 after 29th of February.
9576977e 3292
d73ff15d
VS
32932012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 Fix exfat endianness handling.
3296
3297 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3298 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3299 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3300 Byte-swap utf16 when necessary.
3301 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3302
bbb39a45
AB
33032012-03-31 Anton Blanchard <anton@samba.org>
33042012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 Fix btrfs endianness handling.
3307
3308 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3309 (lower_bound): Make root uint64_t. Use root in le.
3310 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3311 (find_path): Fix template key init.
3312 (grub_btrfs_dir): Fix mtime byteswap.
3313 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3314
354e0af7
VS
33152012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3318 recursion_depth. Break infinite resursions. All users updated.
3319
4e75f21c
VS
33202012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3323 after free.
3324 Reported by: Peter Jones.
3325
25581802
AB
33262012-03-31 Anton Blanchard <anton@samba.org>
3327
3328 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3329 8 bit values.
3330
08fbf92e
VS
33312012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * util/grub-install.in: Fix nvram call for PreP.
3334
5d1182a6
VS
33352012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3338 the error when some elements are missing into a warning.
3339
3f8cdd90
VS
33402012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3343
51006716
CW
33442012-03-28 Colin Watson <cjwatson@ubuntu.com>
3345
3346 * docs/grub.texi (Invoking grub-probe): New section.
3347 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3348
e1bd676b
VS
33492012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 Fix tab and wide character handling in editor and menu.
3352
3353 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3354 agglomerate control characters with combining marks.
3355 (bidi_line_wrap): Allow break on tab.
3356 (grub_unicode_get_comb_start): New function.
3357 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3358 and tab correctly.
3359 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3360 with a space.
3361 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3362 fixed_tab_size. All users updated.
3363 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3364 (grub_term_getcharwidth): Handle \t.
3365 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3366 and copy.
3367
22e6a774
VS
33682012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Handle big-endian mdraid.
3371
3372 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3373 * grub-core/Makefile.core.def (mdraid09_be): New module.
3374 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3375 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3376 * grub-core/disk/mdraid_linux_be.c: New file.
3377
3c0eae66
VS
33782012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3381
b6cf74c9
VS
33822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3385 missing quotes which caused confusion among translators.
3386
83c93b9c
VS
33872012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * util/grub-mkconfig_lib.in: Fix typo.
3390
ac6fd218
VS
33912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3394 spaces.
3395 * tests/grub_script_leading_whitespace.in: New file.
3396 * Makefile.util.def (grub_script_leading_whitespace): New test.
3397
ba287dd8
VS
33982012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3401 to work.
3402
d2d58d0a
VS
34032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3406 starts with control character.
3407
0382d9bb
VS
34082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3411 overflow.
3412 (grub_gdb_outbuf): Likewise.
3413
d83ff9f9
VS
34142012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3417 zero terminator. Fixes a crash.
3418
2282da4a
VS
34192012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3422 beyond 4 GiB.
3423 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3424 images independently of preffered adderss field.
3425
0ae4f0bd
VS
34262012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3429 * grub-core/commands/regexp.c: Likewise.
3430 * grub-core/loader/i386/linux.c: Likewise.
3431 * grub-core/partmap/msdos.c: Likewise.
3432 * grub-core/script/execute.c: Likewise.
3433 * grub-core/term/gfxterm.c: Likewise.
3434
546fbe9b
VS
34352012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 Add variable parsing in $"..." and fix several mismatches with bash.
3438
3439 * Makefile.util.def (grub_script_gettext): New test.
3440 * grub-core/script/execute.c (parse_string): New function.
3441 (gettext_append): Likewise.
3442 (grub_script_arglist_to_argv): Use gettext_append.
3443 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3444 * tests/grub_script_gettext.in: New file.
3445
9fdb2d7b
VS
34462012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Fix handling of leading spaces in scripts.
3449
3450 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3451 spaces.
3452 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3453 other than skipping \r. All users updated.
3454 * tests/grub_script_echo1.in: Add space-related tests.
3455 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3456
1a1ac4f6
VS
34572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3460
b63d89b6
VS
34612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * configure.ac: Bump up the version to beta2.
3464
17f38c0f
VS
34652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Fix gettext reload bugs (e.g. inability to disable gettext
3468 once enabled).
3469
3470 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3471 main_context and secondary_context. All functions updated.
3472 (grub_gettext_translate): Rename to ...
3473 (grub_gettext_translate_real): ... this. Return NULL on failed
3474 translate.
3475 (grub_gettext_translate): Handle secondary context.
3476 (grub_gettext_delete_list): Close file and zero-out the context.
3477 (grub_mofile_open): Don't call grub_gettext_delete_list.
3478 Don't close file.
3479 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3480 if locale="" to avoid pointless error message.
3481 (grub_gettext_env_write_lang): Update lang even if load fails.
3482 Handle secondary context.
3483 (grub_gettext_reread_prefix): New function.
3484 (read_main): Likewise.
3485 (read_secondary): Likewise.
3486 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3487 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3488 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3489 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3490
8e56f870
VS
34912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * configure.ac: Decrease warning level to avoid spurious warnings and
3494 to be able to compile with GCC 4.2.
3495 * Makefile.util.def: Remove -Wno-error=logical-op.
3496
82f6d455
WB
34972012-03-10 William Bittner <william.bittner@gmail.com>
3498
3499 * util/import_unicode.py: Add missing brackets around string for
3500 python 3 support.
3501
1ecd61a4
VS
35022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Fix efi chainloader on network root.
3505
3506 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3507 network devices.
3508 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3509 New function.
3510
14361ee8
VS
35112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3514 unused show_text member.
3515 * docs/grub.texi: Document "text" property.
3516
922aabf3
VS
35172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3520 in dprintf.
3521
ec316771
VS
35222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Fix IMSM handling on Fedora.
3525
3526 * util/getroot.c (grub_util_is_imsm): New function.
3527 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3528
0f021838
VS
35292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * Makefile.am: Strip gold section.
3532 * conf/Makefile.common: Likewise.
3533 * gentpl.py: Likewise.
3534 * grub-core/Makefile.core.def: Likewise.
3535 * grub-core/genmod.sh.in: Likewise.
3536
1039c8eb
VS
35372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3540 * util/grub.d/20_linux_xen.in: Likewise.
3541 Based on Debian patch.
3542
6dd412cd
VS
35432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * util/grub.d/10_linux.in: Fix syntax error resulting in
3546 Richard Laager's patch.
3547 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3548
3fd8bae5
VS
35492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3552 dependencies.
3553
7eea1671
RL
35542012-03-10 Richard Laager <rlaager@wiktel.com>
3555
3556 * util/grub.d/10_linux.in: Fix ZFS root passing.
3557
e8e0566b
VS
35582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3561 * grub-core/commands/xnu_uuid.c: Likewise.
3562 * grub-core/loader/efi/appleloader.c: Likewise.
3563 * grub-core/script/execute.c: Likewise.
3564 * grub-core/script/main.c: Likewise.
3565 * util/grub-mkfont.c: Likewise.
3566
1acc5b1f
VS
35672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * util/grub-mkfont.c (options): Use more appropriate "select" that
3570 "set" for face index.
3571
35d70620
VS
35722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * util/grub-editenv.c (options): Gettextize command summaries.
3575
c9eb96b5
VS
35762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3579 "out of memory" error messagge.
3580
1f493136
VS
35812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3584 of diskfilter for diskfilter on diskfilter support.
3585
6d790129
VS
35862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3589
005f46c9
VS
35902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3593 themes/starfield.
3594
c8f778a0
VS
35952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3598
de1e64eb
VS
35992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3602
c6d54211
VS
36032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3606 of error message.
3607
dd390777
VS
36082012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3611
5fd1c522
VS
36122012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3615 message.
c6d54211 3616 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3617
fae01f6c
VS
36182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3621 Gettextize.
3622 * util/grub-mount.c (options): Likewise.
3623
292fdaff
VS
36242012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3627 gettextize.
3628 * grub-core/commands/search_wrap.c (options): Likewise.
3629
ecdbae77
VS
36302012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3633
52bfedfa
VS
36342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3637 size calculation.
3638 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3639 none is known.
3640
55b20e58
VS
36412012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3644 "temporary" since it's used in identifier and is limited in space.
3645
fda9d101
VS
36462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * po/POTFILES.in: Regenerate. Include *.h since they contain
3649 translatable strings as well.
3650
6a0295e2
VS
36512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3654 byte-swap on big-endian.
3655 Reported by: Lennart Sorensen
3656
807fb77c
VS
36572012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3660 (allocate_pages): Improve dprintf.
3661 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3662 code32_start. Fill code32_start and kernel_alignment in params.
3663 (grub_cmd_initrd): Use prot_init_space.
3664
61ac50ba
VS
36652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3668
abdd26dd
VS
36692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * util/grub-install.in: Add missing dot at the end of sentence.
3672
6e69da9c
VS
36732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3676 * grub-core/commands/videotest.c: Likewise.
3677 * grub-core/loader/i386/linux.c: Likewise.
3678
4a929343
VS
36792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3682 sentence.
3683 Reported by: Milo Casagrande.
3684
bb51c6c6
VS
36852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3688 * grub-core/commands/gptsync.c: Likewise.
3689 * grub-core/commands/hashsum.c: Likewise.
3690 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3691 * grub-core/commands/legacycfg.c: Likewise.
3692 * grub-core/io/gzio.c: Likewise.
3693 * grub-core/net/net.c: Likewise.
3694 * grub-core/term/gfxterm.c: Likewise.
3695 * grub-core/term/terminfo.c: Likewise.
3696 * grub-core/tests/test_blockarg.c: Likewise.
3697 * grub-core/video/video.c: Likewise.
3698 * util/grub-install.in: Likewise.
3699 * util/grub-mkfont.c: Likewise.
3700
b2b149cb
VS
37012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3704
c7c080ad
VS
37052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3708 Reported by: David Prévot.
c7c080ad 3709
f2e243c0
VS
37102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3713 description.
3714
09963c76
VS
37152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * util/grub-script-check.c (main): Fix a syntax error message which was
3718 unclear.
3719
a50514a8
VS
37202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3723
4650daec
VS
37242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3727 messages.
3728
37292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3730
3731 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3732 without argument.
3733 * util/grub-mount.c (options): Likewise.
3734
bbc5a342
VS
37352012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3738
ef292a87
VS
37392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/net/http.c: Add TRANSLATORS comments.
3742 * grub-core/normal/cmdline.c: Likewise.
3743 * grub-core/normal/misc.c: Likewise.
3744 * grub-core/partmap/msdos.c: Likewise.
3745 * grub-core/parttool/msdospart.c: Likewise.
3746 * grub-core/script/execute.c: Likewise.
3747 * grub-core/script/main.c: Likewise.
3748 * grub-core/term/terminfo.c: Likewise.
3749 * grub-core/video/bitmap.c: Likewise.
3750 * util/grub-install.in: Likewise.
3751 * util/grub-mkimage.c: Likewise.
3752 * util/grub-mklayout.c: Likewise.
3753 * util/grub-setup.c: Likewise.
3754
0fc19bd0
VS
37552012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3758 with similar messages in grub-fstest.
3759
d95862ef
VS
37602012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * util/grub-install.in: Unify "option requires an argument" message
3763 with similar messages in other files.
3764 * util/grub-mkconfig.in: Likewise.
3765
b7308f90
VS
37662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * util/grub-set-default.in: Replace printf with gettext_printf (the
3769 string in in question is already translated from grub-reboot)
3770
559dc587
VS
37712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * configure.ac: Bump up the version to beta1.
3774
1a11761f
VS
37752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3778 case when min_align = 0.
3779
24539abd
VS
37802012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3783 and fix a case when line_start overflows.
3784
32bd735b
VS
37852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * util/grub-reboot.in (usage): Mention id posibility.
3788 * util/grub-set-default.in (usage): Likewise.
3789
1a2fd1e6
VS
37902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3793 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3794 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3795 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3796 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3797 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3798 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3799
90eeab76
VS
38002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/commands/menuentry.c (options): Remove
3803 GRUB_ARG_OPTION_REPEATABLE.
3804 Reported by: Andreas Vogel
3805
5ad1be82
AV
38062012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3807
3808 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3809
cb055286
HE
38102012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3811
3812 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3813 error.
3814
93b1cd79
VS
38152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 Use sort -V by the idea of Georgi Georgiev.
3818
3819 * util/grub-mkconfig_lib.in (version_sort): New function.
3820 (version_test_numeric): Use version_sort.
3821
0cdc126c
VS
38222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Use submenus in grub-mkconfig.
3825
3826 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3827 * util/grub-mkconfig_lib.in (grub_quote): New function.
3828 (gettext_printf): Use gettext and not gettext_quoted to fix several
3829 messages.
3830 * util/grub.d/10_hurd.in: Use submenus.
3831 * util/grub.d/10_kfreebsd.in: Likewise.
3832 * util/grub.d/10_linux.in: Likewise.
3833 * util/grub.d/10_netbsd.in: Likewise.
3834 * util/grub.d/20_linux_xen.in: Likewise.
3835 * util/grub.d/30_os-prober.in: Likewise.
3836 * util/grub.d/10_illumos.in: Add missing quoting.
3837 * util/grub.d/10_windows.in: Likewise.
3838
d9bef9bc
VS
38392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 Fix menu title instability bug.
3842
3843 * grub-core/commands/menuentry.c (options): New option --id.
3844 (grub_normal_add_menu_entry): New argument id. All users updated.
3845 (grub_cmd_menuentry): Handle --id.
3846 (grub_menu_init): Accept unknown arguments.
3847 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3848 feature_menuentry_options.
3849 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3850 saved_entry.
3851 (get_entry_number): Match with id as well.
3852 * include/grub/menu.h (grub_menu_entry): New member id.
3853 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3854 * util/grub.d/00_header.in: Define menuentry_id_option.
3855 * util/grub.d/10_hurd.in: Define id.
3856 * util/grub.d/10_illumos.in: Likewise.
3857 * util/grub.d/10_kfreebsd.in: Likewise.
3858 * util/grub.d/10_linux.in: Likewise.
3859 * util/grub.d/10_netbsd.in: Likewise.
3860 * util/grub.d/10_windows.in: Likewise.
3861 * util/grub.d/20_linux_xen.in: Likewise.
3862 * util/grub.d/30_os-prober.in: Likewise.
3863
38642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3865
3866 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3867 "scope" with "body".
3868
7c8d0ce7
VS
38692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3872 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3873 prot_size and prot_file_size.
3874
49de079b
VS
38752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3878 All users updated. If easily=1 require raid-5/-6 to be full.
3879 (is_node_readable): Likewise.
3880 (scan_devices): Scan incomplete but readable LVs at the end.
3881 (grub_diskfilter_memberlist): Pull missing devices.
3882 (insert_array): Skip scanning until device is complete or scan is
3883 done otherwise.
3884 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3885 check.
3886 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3887 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3888
aff05d45
MG
38892012-03-03 Matthew Garrett <mjg@redhat.com>
38902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 Avoid EFI boot services when loading Linux.
3893
3894 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3895 avoid_efi_bootservices. All users updated.
3896 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3897 argument avoid_efi_bootservices. All users updated.
3898 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3899 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3900 align, min_align, relocatable, prefered_address. All users updated.
3901 Allocate avoiding boot services if kernel is relocatable.
3902 (grub_cmd_linux): Check if kernel is relocatable.
3903 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3904 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3905 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3906 avoid_efi_boot_services.
3907 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3908 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3909 (linux_kernel_params): Likewise.
3910
3935dde2
MG
39112012-03-03 Matthew Garrett <mjg@redhat.com>
39122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Use EDID on EFI.
3915
3916 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3917 datasize_out.
3918 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3919 modes. Set gop_handle.
3920 (grub_video_gop_get_edid): New function.
3921 (grub_gop_get_preferred_mode): Likewise.
3922 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3923 (grub_video_efi_gop_adapter): Set .get_edid.
3924 * include/grub/efi/edid.h: New file.
3925 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3926
32107ec0
VS
39272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * util/grub-install.in: Load efivars unconditionally.
3930
e70a2c50
VS
39312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * po/Rules-piglatin: Change suffix from .po-update-en to
3934 .po-update-en-piglatin.
3935
8f9cace1
VS
39362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Add a pig farm.
3939
3940 * po/piglatin.sed: New file.
3941 * po/en@piglatin.header: Likewise.
3942 * po/Rules-piglatin: Likewise.
3943 * po/README: Add en@piglatin to autogenerated languages.
3944
8f95d002
VS
39452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3948 "Command for ...".
3949 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3950 "Check" since we don't check anything.
3951 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3952 is 64-bit one.
3953 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3954 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3955 (grub_md_sha512_real): Likewise.
3956
805a8dcc
VS
39572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/commands/gptsync.c: Fix typographic quoting.
3960 * grub-core/commands/ieee1275/suspend.c: Likewise.
3961 * grub-core/commands/parttool.c: Likewise.
3962 * grub-core/commands/search_wrap.c: Likewise.
3963 * grub-core/commands/videoinfo.c: Likewise.
3964 * grub-core/gfxmenu/gui_label.c: Likewise.
3965 * grub-core/hello/hello.c: Likewise.
3966 * grub-core/kern/emu/main.c: Likewise.
3967 * grub-core/net/net.c: Likewise.
3968 * grub-core/normal/menu.c: Likewise.
3969 * grub-core/normal/menu_text.c: Likewise.
3970 * grub-core/normal/misc.c: Likewise.
3971 * util/grub-editenv.c: Likewise.
3972 * util/grub-install.in: Likewise.
3973 * util/grub-kbdcomp.in: Likewise.
3974 * util/grub-mkconfig.in: Likewise.
3975 * util/grub-mknetdir.in: Likewise.
3976 * util/grub-mkrescue.in: Likewise.
3977 * util/grub-mkstandalone.in: Likewise.
3978 * util/grub-reboot.in: Likewise.
3979 * util/grub-set-default.in: Likewise.
3980 * util/grub-setup.c: Likewise.
3981 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3982
40211ab8
VS
39832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3986 * grub-core/commands/keystatus.c: Likewise.
3987 * grub-core/commands/loadenv.c: Likewise.
3988 * grub-core/commands/probe.c: Likewise.
3989 * grub-core/commands/regexp.c: Likewise.
3990 * grub-core/commands/true.c: Likewise.
3991 * grub-core/commands/videoinfo.c: Likewise.
3992 * grub-core/disk/cryptodisk.c: Likewise.
3993 * grub-core/disk/ldm.c: Likewise.
3994 * grub-core/disk/loopback.c: Likewise.
3995 * grub-core/disk/luks.c: Likewise.
3996 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3997 * grub-core/kern/disk.c: Likewise.
3998 * grub-core/kern/emu/hostdisk.c: Likewise.
3999
0c7d99c7
VS
40002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4003 * util/grub-install.in: Add missing quote in the comment.
4004
e7d2559b
VS
40052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4008 * grub-core/commands/lsmmap.c: Likewise.
4009 * grub-core/commands/minicmd.c: Likewise.
4010 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4011 * grub-core/commands/regexp.c: Likewise.
4012 * grub-core/gdb/gdb.c: Likewise.
4013 * grub-core/term/gfxterm.c: Likewise.
4014 * util/grub-mkconfig.in: Likewise.
4015 * util/grub-mkfont.c: Likewise.
4016 * util/grub-mklayout.c: Likewise.
4017 * util/grub-mknetdir.in: Likewise.
4018 * util/grub-mkrescue.in: Likewise.
4019 * util/grub.d/30_os-prober.in: Likewise.
4020
49ce9e50
VS
40212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4024 with "Direct color" and "Packed" with "Packed pixel".
4025 (grub_cmd_videoinfo): Simplify legend.
4026
e4b791fa
VS
40272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4030 absolutely unclear error message.
4031
fd1265cb
VS
40322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * util/grub-mkstandalone.in: Remove confusing leftover print.
4035
8822a8a0
VS
40362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4039 comments.
4040 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4041 (GRUB_MOD_INIT): Likewise.
4042 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4043 VGA mode.
4044 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4045 comments.
4046 * util/grub-install.in (usage): Likewise.
4047 Spell ID in whole letters.
4048 Add missing ending dot.
4049 Quote variables.
4050 * util/grub-reboot.in: Fix capitalisation.
4051 * util/grub-set-default.in: Likewise.
4052
937fd0cc
VS
40532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4056 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4057 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4058 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4059 Disable -Werror for -Wdeprecated-declarations.
4060 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4061 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4062 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4063 (grub_util_get_grub_dev): Make luks handling dependent on
4064 HAVE_DEVICE_MAPPER and not __linux__.
4065 (get_win32_path): Fix format security.
4066 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4067 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4068 Don't try grub_find_zpool_from_dir.
4069 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4070 #ifdef-out paresdir.
4071
1bab1ae3
VS
40722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * util/grub-pe2elf.c (usage): Add missing noreturn.
4075 (write_section_data): Rename name to shname to avoid shadowing.
4076 (write_symbol_table): Rename name to symname to avoid shadowing.
4077 Fix write_reloc_section call.
4078
ef023e42
VS
40792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4082 to ensure that it's after the last byte of .text.
4083
48afcb75
VS
40842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * util/ieee1275/ofpath.c (my_isdigit): New function.
4087 (trailing_digits): Use my_isdigit.
4088 (strip_trailing_digits): Likewise.
4089
88d51eff
VS
40902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4093 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4094
17edc2ba
VS
40952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * grub-core/kern/i386/pc/startup.S: Define __start.
4098
ad5518d7
VS
40992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4102 strip already transforms he format.
4103
9e95e1bf
VS
41042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4107
9cc3ee5c
VS
41082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * util/grub-install.in: Add missing gettext init.
4111 * util/grub-kbdcomp.in: Likewise.
4112 * util/grub-mkconfig.in: Likewise.
4113 * util/grub-mknetdir.in: Likewise.
4114 * util/grub-mkrescue.in: Likewise.
4115 * util/grub-mkstandalone.in: Likewise.
4116 * util/grub-reboot.in: Likewise.
4117 * util/grub-set-default.in: Likewise.
4118 * util/grub.d/00_header.in: Likewise.
4119 * util/grub.d/10_hurd.in: Likewise.
4120 * util/grub.d/10_windows.in: Likewise.
4121 * util/grub.d/30_os-prober.in: Likewise.
4122 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4123
49e08a06
VS
41242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * po/Rules-swiss: Fix header comment.
4127
3809cb41
AV
41282012-02-29 Andreas Vogel <anvoit>
4129
4130 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4131 resulted in leak of arguments.
4132
fa6ec573
VS
41332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4136 reed_solomon_size const definition instead of computing it since
4137 Apple assembler doesn't support the later.
4138
22899b9c
VS
41392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * gentpl.py (kernel): Rewrite Apple part.
4142
a132afc3
VS
41432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4146
9d742bd4
VS
41472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4150 ELF section gap.
4151 (load_image): Likewise.
4152
f04a9a21
VS
41532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * configure.ac: Fix a typo in previous commit.
4156
46cf439c
VS
41572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Don't add -Wl,-N on Apple platform.
4160
4161 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4162 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4163
c4c48c54
VS
41642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/Makefile.core.def (lzma_decompress): Use
4167 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4168
31a12124
VS
41692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/genmod.sh.in: Rewrite the Apple part.
4172
4f3aa1af
VS
41732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4176 comparison.
4177
7bd8b0c7
VS
41782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * acinclude.m4 (grub_CHECK_PIC): New test.
4181 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4182
97304d7c
VS
41832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4186 to avoid the warning.
4187
fb883812
VS
41882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4191 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4192 after. All users updated.
4193
a121c964
VS
41942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 Use the common size routine in hostfs so we can read disks as well.
4197
4198 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4199 (grub_util_get_fd_size): ... this. Return size in bytes.
4200 All users updated.
4201 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4202 grub_util_get_fd_size.
4203
c66d6410
VS
42042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4207 Add blocksize retrieval.
4208
dfc8aeb0
VS
42092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * configure.ac: Restore CFLAGS after efiemu check.
4212
403e25a5
VS
42132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4216 Apple bug.
4217
382775d1
VS
42182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4221
6fd4e6e4
VS
42222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4225 (grub_cmd_halt): Likewise.
4226
bea359d6
VS
42272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4230 for local arithmetics.
4231 Break %sp init into 2 instructions.
4232 Add 0 byte at the end.
4233
32eb6ee1
VS
42342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4237 before loops.
4238
e8377389
VS
42392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4242 for context.
4243
8cb17de7
VS
42442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/disk/ldm.c (make_vg): Init part.name.
4247 (grub_ldm_detect): Silence spurious warning.
4248 (grub_util_is_ldm): Likewise.
4249
595717e6
VS
42502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4253 sane value to avoid a spurious warning.
4254
c4b7e588
VS
42552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4258 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4259
59824957
VS
42602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4263 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4264
70115b99
VS
42652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4268 hardcoding the relevant info.
4269
56733740
VS
42702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4273 missing const qualifiers.
4274 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4275
43481481
VS
42762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * util/getroot.c [__APPLE__]: Add missing includes.
4279 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4280
3cb38f01
VS
42812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4284
d9dbf11e
VS
42852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4288 avoid conflicts.
4289
0c42a45d
VS
42902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4293
46c34eb0
VS
42942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4297 and grub_file_close call.
4298
99ce1597
VS
42992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 Add LZSS Mach-O support (needed for new xnu kernelcache).
4302
4303 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4304 * grub-core/loader/lzss.c: New file.
4305 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4306 on Mach-O open failure.
4307 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4308 Don't free cmdsXX in uncompressedXX is set.
4309 (grub_macho_file): Init new fields.
4310 New argument is_64bit. All users updated.
4311 Handle compressed. Error out if no suitable architecture is found.
4312 Don't close file.
4313 (grub_macho_open): New argument is_64bit. All users updated.
4314 * grub-core/loader/macho32.c: Add defines for new fields.
4315 * grub-core/loader/macho64.c: Likewise.
4316 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4317 (grub_macho_parse): Handle compressed.
4318 Defer actual processing if compressed.
4319 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4320 "filename". All users updated.
4321 (grub_macho_size): New argument "filename". All users updated.
4322 (grub_macho_get_entry_point): Likewise.
4323 (grub_macho_load): Handle compressed.
4324 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4325 (GRUB_MACHO_LZSS_OFFSET): New define.
4326 (grub_decompress_lzss): New proto.
4327 * include/grub/machoload.h (grub_macho_file): New fields to handle
4328 compressed.
4329 (grub_macho_contains_macho64): Remove proto.
4330 (grub_macho_contains_macho32): Likewise.
4331 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4332
ebd17d6f
VS
43332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4336
2702b4e4
VS
43372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 Fix make dist.
4340
4341 * Makefile.am (starfield_theme_files): New var.
4342 (starfield_DATA): Use starfield_theme_files.
4343 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4344 Add bootcheck-related files.
4345 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4346 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4347 and font_char_metrics.txt.
4348 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4349 (setjmp): Add lib/ia64/longjmp.S.
4350 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4351 * po/POTFILES.in: Regenerate.
4352 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4353 DISTFILES.common.extra1.
4354 * util/devicemap.c: Removed.
4355 * grub-core/lib/i386/relocator_backward.S: Likewise.
4356 * util/import_gcry.py: Remove unused files. Add extra_dist for
4357 ChangeLog.
4358
cf1adfdf
VS
43592012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4362 grub_gettext_delete_list before changing grub_gettext_max to avoid
4363 running out of array bounds.
4364
43652012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
4366
4367 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4368 grub_vga_text_init/grub_vga_text_fini.
4369
cf1adfdf 43702012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
4371
4372 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4373
541d92e9
VS
43742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * configure.ac: Bump to 2.00~beta0.
4377
7931dddf
VS
43782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4381 missing initialisation.
4382
f1b16fa3
VS
43832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4386
83ddae23
VS
43872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 Support v2 xnu boot arguments.
4390
4391 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4392 New argument fsbfreq_out.
4393 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4394 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4395 be used.
4396 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4397 darwin_version.
4398 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4399 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4400 (grub_xnu_boot_params): Rename to ...
4401 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4402 (grub_xnu_boot_params_v2): New struct.
4403
dc693fe6
VS
44042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4407 zeroing of CRC field before computing CRC.
4408
5a6e39c2
VS
44092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4412 Change order of allocations to decrease fragmentation.
4413
6c21f5d7
VS
44142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4417
cfe456dc
CW
44182012-02-27 Colin Watson <cjwatson@ubuntu.com>
4419
4420 Use write-combining MTRR to speed up video with buggy BIOSes.
4421
4422 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4423 (cpuid): New define.
4424 (rdmsr): Likewise.
4425 (wrmsr): Likewise.
4426 (mtrr_base): Likewise.
4427 (mtrr_mask): Likewise.
4428 (grub_vbe_enable_mtrr_entry): New function.
4429 (grub_vbe_enable_mtrr): Likewise.
4430 (grub_vbe_disable_mtrr): Likewise.
4431 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4432 control off to BIOS.
4433 (grub_video_vbe_init): Fill mtrr.
4434 (grub_video_vbe_fini): Disable mtrr.
4435 (grub_video_vbe_get_info_and_fini): Likewise.
4436 (grub_video_vbe_setup): Enable mtrr.
4437
e3c78337
CW
44382012-02-27 Colin Watson <cjwatson@ubuntu.com>
4439
4440 * include/grub/partition.h (grub_partition_map): Change prototype of
4441 embed to take a maximum value for nsectors.
4442 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4443 * include/grub/fs.h (grub_fs): Likewise.
4444 * grub-core/partmap/msdos.c (embed_signatures): New array.
4445 (pc_partition_map_embed): Check for and avoid sectors matching any
4446 of the signatures in embed_signatures, up to max_nsectors.
4447 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4448 returned sector map to max_nsectors.
4449 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4450 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4451 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4452 * util/grub-setup.c (setup): Allow for the embedding area being
4453 split into multiple blocklists. Tell dest_partmap->embed the
4454 maximum number of sectors we care about.
4455
44562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4459 Specify blocklist_install and reserver_first_sector for all fs.
4460 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4461 blocklists.
4462
984b973f
VS
44632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * util/grub-install.in: Clarify strings.
4466 Fix source dir check.
4467
f122e0d6
RL
44682012-02-27 Richard Laager <rlaager@wiktel.com>
4469
4470 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4471 "zfs" and "fuse.zfs" as synonyms.
4472
071114bb
VS
44732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * configure.ac: Put platform and target_cpu substitutions back since
4476 they are used for directories.
4477
817e6abc
RL
44782012-02-27 Richard Laager <rlaager@wiktel.com>
44792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4482 * util/grub.d/20_linux_xen.in: Likewise.
4483
897b7419
RL
44842012-02-27 Richard Laager <rlaager@wiktel.com>
4485
4486 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4487 with full paths.
4488
a414bd15
RL
44892012-02-27 Richard Laager <rlaager@wiktel.com>
4490
4491 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4492 unescape.
4493
30ac48c4
VS
44942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Don't use insecure popen in getroot.
4497
4498 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4499 (exec_pipe): ... here.
4500 (find_root_devices_from_poolname): Use exec_pipe.
4501
53f13848
VS
45022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Remove platform and target_cpu replacement.
4505
4506 * configure.ac: Remove platform and target_cpu substitutions.
4507 * tests/util/grub-shell.in: Use modinfo.
4508 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4509 explicitly.
4510
90cb2803
VS
45112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Autodetect platform in grub-install but allow override.
4514
4515 * util/grub-install.in: Autodetect platform. Support --target and
4516 --directory. Read platform from modinfo.sh.
4517
b9136427
VS
45182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 Support btrfs multi-volume probe.
4521
4522 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4523 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4524 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4525 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4526 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4527 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4528 grub_find_root_devices_from_btrfs if on btrfs.
4529
c36e5cd1
VS
45302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 Remove any awareness of *.c util files about target.
4533
4534 * Makefile.util.def (grub-setup): Split to ...
4535 (grub-bios-setup): ... and this.
4536 (grub-sparc64-setup): ... and this.
4537 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4538 * docs/man/grub-setup.h2m: Split into ...
4539 * docs/man/grub-sparc64-setup.h2m: ... this.
4540 * docs/man/grub-bios-setup.h2m: ... and this.
4541 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4542 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4543 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4544 (grub_target_addr_t): Remove.
4545 (grub_target_size_t): Remove.
4546 (grub_target_ssize_t): Remove.
4547 * util/grub-install.in: Use new grub-*-setup.
4548 * util/grub-mkimagexx.c (Elf_Word): New define.
4549 (Elf_Half): Likewise.
4550 (Elf_Section): Likewise.
4551 (ELF_ST_TYPE): Likewise.
4552 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4553 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4554
584b2f8a
VS
45552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 Replace grub_target_addr with more appropriate types.
4558
4559 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4560 grub_target_addr with grub_addr.
4561 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4562 grub_target_addr with grub_port.
4563 (grub_cmd_write): Likewise.
4564 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4565 grub_target_addr with grub_addr.
4566 (grub_cmd_write): Likewise.
4567 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4568
5a0dc6fb
VS
45692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4572 const qualifier for vendor_guid.
4573
786aff6e
VS
45742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4577 const qualifier.
4578 (efiemu_memequal): Likewise.
4579 (find_variable): Likewise.
4580
49017b17
VS
45812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Fix missing console prototype on qemu-mips.
4584
4585 * include/grub/mips/qemu_mips/console.h: New file.
4586
c5988629
MG
45872012-02-27 Matthew Garrett <mjg@redhat.com>
45882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4591 * include/grub/efi/efi.h: Likewise.
4592 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4593 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4594 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4595 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4596 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4597 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4598
e33f8d69
MG
45992012-02-27 Matthew Garrett <mjg@redhat.com>
4600
4601 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4602
fb312cd9
VS
46032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4606 error.
4607
7134247c
VS
46082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * configure.ac: Remove inappropriate use of program_transform_name
4611 on grubdir and bootdir but allow explicit specification of those
4612 variables.
4613
6a313124
VS
46142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * util/grub-mknetdir.in (grub_prefix): Removed.
4617 (subdir): Use @bootdirname@ and @grubdirname@.
4618
2311c5ca
VS
46192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4622
7d5d60f7
VS
46232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * po/POTFILES.in: Regenerated.
4626
8151bc82
VS
46272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Remove improper use of program_transform_name on pkglibrootdir.
4630
4631 * configure.ac (pkglibrootdir): Removed.
4632 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4633 * util/grub-mkimage.c: Likewise.
4634
b4a6a533
VS
46352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4638 warning.
4639
668f304f
VS
46402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * util/grub-install.in: Use file identifier if no UUID is available
4643 or user explicitly prompted for it.
4644
665f2341
NP
46452012-02-27 Navdeep Parhar <nparhar@gmail.com>
4646
4647 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4648 (freebsd_get_zfs): New function.
4649 (grub_freebsd_boot): Pass zfs UUID.
4650 (grub_cmd_freebsd): Set zfs UUID.
4651
8151bc82 46522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4653
4654 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4655 pkglibrootdir.
4656
e4c498a1
MG
46572012-02-27 Mike Gilbert <floppym@gentoo.org>
4658
4659 Add configure flag to control libzfs integration.
4660
4661 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4662
1e9a9a3f
VS
46632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4666 device.
4667 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4668 small devices.
4669
036985b8
VS
46702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4673 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4674 be used on non-modules.
4675
4676 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4677 Rename to grub_boot_init.
4678 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4679 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4680 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4681 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4682 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4683 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4684 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4685 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4686 includes.
4687 (grub_machine_init): Remove empty inits.
4688 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4689 includes.
4690 (grub_machine_init): Remove empty inits.
4691 * grub-core/term/arc/console.c: Remove explicit proto.
4692 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4693 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4694 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4695 grub_at_keyboard_fini.
4696 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4697 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4698 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4699 grub_gfxterm_fini.
4700 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4701 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4702 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4703 grub_vgatext_fini.
4704 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4705 * grub-core/term/serial.c (GRUB_MOD_INIT)
4706 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4707 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4708 grub_serial_fini.
4709 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4710 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4711 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4712 grub_terminfo_fini.
4713 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4714 (GRUB_MOD_FINI): Likewise.
4715 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4716 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4717 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4718 grub_video_radeon_fuloong2e_fini.
4719 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4720 [LOONGSON]: Rename to grub_video_sis315pro_init.
4721 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4722 grub_video_sis315pro_fini.
4723 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4724 [LOONGSON]: Rename to grub_video_sm712_init.
4725 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4726 grub_video_sm712_fini.
4727 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4728 (grub_at_keyboard_fini): Likewise.
4729 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4730 Don't declare grub_{modname}_init.
4731 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4732 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4733 New proto.
4734 (grub_keylayouts_fini) [!EMU]: Likewise.
4735 * include/grub/serial.h (grub_serial_init) [!EMU]:
4736 New proto.
4737 (grub_serial_fini) [!EMU]: Likewise.
4738 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4739 New proto.
4740 (grub_terminfo_fini) [!EMU]: Likewise.
4741 * include/grub/video.h (grub_font_init) [!EMU]:
4742 New proto.
4743 (grub_font_fini) [!EMU]: Likewise.
4744 (grub_gfxterm_init) [!EMU]: Likewise.
4745 (grub_gfxterm_fini) [!EMU]: Likewise.
4746 (grub_video_sm712_init) [!EMU]: Likewise.
4747 (grub_video_sm712_fini) [!EMU]: Likewise.
4748 (grub_video_sis315pro_init) [!EMU]: Likewise.
4749 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4750 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4751 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4752
d5534665
VS
47532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Make nand a prefix for nand devices.
4756
4757 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4758
10133b5f
VS
47592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4762 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4763
8e307a62
VS
47642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * include/grub/env.h (grub_env_find): Remove prototype.
4767 * grub-core/kern/env.c (grub_env_find): Make static.
4768 (grub_env_set): Remove useless set.
4769
a4c65f34
VS
47702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/kern/i386/realmode.S: Remove useless align.
4773
d87893d5
VS
47742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * include/grub/dl.h (grub_dl_load_file): Don't export.
4777
50159add
VS
47782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4781 grub_dprintf.
4782
b2582b84
VS
47832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4786 grub_errors.
4787 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4788 not reloading whole superblock but only the part which is really needed.
4789 Remove useless grub_errors.
4790 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4791 grub_errors.
4792
e2a83395
VS
47932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Don't export grub_get_rtc.
4796
4797 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4798 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4799
e7d2a906
VS
48002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4803
6cf1363b
VS
48042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4807 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4808
eece3349
VS
48092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 Remove prio_list.
4812
4813 * include/grub/list.h (grub_prio_list): Removed.
4814 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4815 GRUB_COMMAND_PRIO_MASK.
4816 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4817 GRUB_COMMAND_FLAG_ACTIVE.
4818 (grub_prio_list_insert): Removed.
4819 (grub_prio_list_remove): Likewise.
4820 (GRUB_AS_PRIO_LIST): Likewise.
4821 (GRUB_AS_PRIO_LIST_P): Likewise.
4822 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4823 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4824 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4825 * grub-core/kern/command.c (grub_register_command_prio): Inline
4826 the prio_list code.
4827 (grub_unregister_command): Likewise.
4828
94f064b4
VS
48292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Fix interrupt mixup from previous commit.
4832
4833 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4834 (grub_realidt): New var.
4835 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4836 Load idt.
4837 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4838 New declaration.
4839 (grub_relocator16_boot): Set grub_relocator16_idt.
4840 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4841 (LOCAL(realidt)): ... this.
4842 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4843 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4844 (grub_realidt): New variable.
4845
27317084
VS
48462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4849 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4850 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4851 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4852 Gettextize.
4853 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4854 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4855 * po/POTFILES.in: Regenerate.
4856
47b40053
VS
48572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4860 errors.
4861
2b343101
VS
48622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4865 \0.
4866 (add_length): Likewise.
4867
ff27c3dd
LK
48682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
48692012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4870
4871 GDB serial and backtrace support.
4872
4873 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4874 (prot_to_real): Likewise.
4875 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4876 * grub-core/Makefile.core.def (backtrace): New module.
4877 (gdb): Likewise.
4878 * grub-core/gdb/cstub.c: New file.
4879 * grub-core/gdb/gdb.c: Likewise.
4880 * grub-core/gdb/i386/idt.c: Likewise.
4881 * grub-core/gdb/i386/machdep.S: Likewise.
4882 * grub-core/gdb/i386/signal.c: Likewise.
4883 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4884 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4885 * include/grub/backtrace.h: Likewise.
4886 * include/grub/gdb.h: Likewise.
4887 * include/grub/i386/gdb.h: Likewise.
4888
48892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4890
4891 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4892 New function.
4893 (add_length): Likewise.
4894 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4895 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4896 proto.
4897 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4898 __argp_get_display_len.
4899
ff27c3dd 49002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4901
4902 $"..." support in scripts.
4903
4904 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4905 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4906 * grub-core/script/yylex.l: Likewise.
4907 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4908 value.
4909
ff27c3dd 49102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4911
4912 * gentpl.py: Remove obsolete pkglib_DATA handling.
4913
ff27c3dd 49142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4915
4916 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4917 mailing list.
4918
4919 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4920 * util/grub-kbdcomp.in: Likewise.
4921 * util/grub-mkconfig.in: Likewise.
4922 * util/grub-mkconfig_lib.in: Likewise.
4923 * util/grub-mknetdir.in: Likewise.
4924 * util/grub-mkrescue.in: Likewise.
4925 * util/grub-mkstandalone.in: Likewise.
4926 * util/grub-reboot.in: Likewise.
4927 * util/grub-set-default.in: Likewise.
4928 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4929
ff27c3dd 49302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4931
4932 Remove GRUB_PREFIX.
4933
4934 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4935 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4936 used for backward compatibility.
4937
ff27c3dd 49382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4939
4940 Add new all_video module.
4941
4942 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4943 * grub-core/Makefile.core.def (all_video): New module.
4944 * grub-core/genmoddep.awk: Generate dependency of all_video from
4945 video.lst.
4946 * grub-core/lib/fake_module.c: New file.
4947 * grub-core/normal/main.c (features): Add feature_all_video_module.
4948 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4949 don't do explicit search again.
47454da5 4950 insmod all_video in load_video if available.
22c7ce85 4951
ff27c3dd 49522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4953
4954 Another round of string clarification and adding TRANSLATORS comments.
4955
ff27c3dd 49562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4957
4958 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4959
ff27c3dd 49602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4961
4962 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4963 to grub_ssize_t.
4964 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4965 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4966
ff27c3dd 49672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4968
4969 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4970 trailing newline implicitly. All users updated.
4971
ff27c3dd 49722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4973
4974 Implement serial on IEEE1275 and EFI.
4975
4976 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4977 on emu. Mention arc and emu as the only platforms without serial
4978 support.
4979 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4980 ieee1275 platforms.
4981 * grub-core/term/efi/serial.c: New file.
4982 * grub-core/term/ieee1275/serial.c: Likewise.
4983 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4984 specification if no ns8250 driver is available.
4985 (grub_cmd_serial): Likewise.
4986 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4987 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4988 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4989 (grub_efi_parity_type_t): New type.
4990 (grub_efi_stop_bits_t): Likewise.
4991 (grub_efi_serial_io_interface): New struct.
4992 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4993 available for all interfaces.
4994 Add EFI and IEEE1275 fields.
4995 (grub_ofserial_init): New proto.
4996 (grub_efiserial_init): Likeiwse.
4997 * util/grub.d/00_header.in: Don't check for the presence of serial
4998 module.
4999
ff27c3dd 50002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
5001
5002 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5003 name as if it was an alias.
5004
114076ef
VS
50052012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/commands/lsacpi.c (options): Fix typo.
5008
6a656b0e
VS
50092012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 Convert grub-emu to argp.
5012
5013 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5014 emu.
5015 * util/argp_common.c: Rename to ...
5016 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5017 Add missing includes.
5018 * grub-core/kern/emu/main.c: Convert to argp.
5019 * po/POTFILES.in: Regenerate.
5020 * util/grub-install.in (usage): Make first letter lowcase in messages
5021 for uniformity.
5022 * util/grub-setup.c (options): Likewise.
5023
1e3f8ae8
VS
50242012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5027 Put back accidently commented-out code.
5028
ed167a80
VS
50292012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5032 loop check using Brent algorithm.
5033 (grub_hfsplus_btree_search): Likewise.
5034
6753c0ec
VS
50352012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * util/grub-install.in: Fix usage of wrong device for PreP install.
5038
4e27343f
VS
50392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * conf/Makefile.common (CFLAGS_GNULIB): Add
5042 -Wno-unsafe-loop-optimizations.
5043 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5044 on tools.
5045 * grub-core/commands/legacycfg.c: Add pragma to skip
5046 -Wunsafe-loop-optimizations.
5047 (check_password_md5_real): Fix loop counter type.
5048 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5049 reading.
5050 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5051 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5052 loop condition.
5053 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5054 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5055 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5056 condition.
5057 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5058 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5059 avoid possible infinite loops.
5060 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5061 and -Wunsafe-loop-optimizations.
5062 * grub-core/script/yylex.l: Likewise.
5063 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5064 (print_glyphs): Avoid infinite loops.
5065 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5066
697f18b0
GS
50672012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5068
5069 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5070 to avoid infinite loop.
5071 (disp_acpi_rsdt_table): Likewise.
5072
274416e8
VS
50732012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * grub-core/font/font.c (grub_font_load): Add support for default
5076 path for fonts ($prefix/fonts).
5077 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5078 for checking if string is a path.
5079 * grub-core/normal/main.c (features): Add feature_default_font_path.
5080 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5081 * util/grub.d/00_header.in: Use default directory if possible.
5082 * util/grub-install.in: Install unicode.pf2.
5083
b3e08622
VS
50842012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5087 * po/Rules-swiss: New file.
5088 * po/swiss.sed: Likewise.
5089
fe42ce09
VS
50902012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/fs/btrfs.c (find_device): Fix typos.
5093 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5094 * util/grub-mkrelpath.c (argp_parser): Likewise.
5095 Reported by: Yuri Chornoivan.
5096
72f1d065
DO
50972012-02-23 Dalet Omega <daletomega@gmail.com>
5098
5099 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5100 for usual informative messages.
5101
c5884973
DO
51022012-02-23 Dalet Omega <daletomega@gmail.com>
5103
5104 Starfield theme.
5105
5106 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5107 * conf/Makefile.common: Define starfielddir.
5108 * configure.ac: Configure starfield.
5109 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5110 * themes/starfield/README: Likewise.
5111 * themes/starfield/blob_w.png: Likewise.
5112 * themes/starfield/boot_menu_c.png: Likewise.
5113 * themes/starfield/boot_menu_e.png: Likewise.
5114 * themes/starfield/boot_menu_n.png: Likewise.
5115 * themes/starfield/boot_menu_ne.png: Likewise.
5116 * themes/starfield/boot_menu_nw.png: Likewise.
5117 * themes/starfield/boot_menu_s.png: Likewise.
5118 * themes/starfield/boot_menu_se.png: Likewise.
5119 * themes/starfield/boot_menu_sw.png: Likewise.
5120 * themes/starfield/boot_menu_w.png: Likewise.
5121 * themes/starfield/slider_c.png: Likewise.
5122 * themes/starfield/slider_n.png: Likewise.
5123 * themes/starfield/slider_s.png: Likewise.
5124 * themes/starfield/src/blob_nw.xcf: Likewise.
5125 * themes/starfield/src/bootmenu/: Likewise.
5126 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5127 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5128 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5129 * themes/starfield/src/slider_c.xcf: Likewise.
5130 * themes/starfield/src/slider_n.xcf: Likewise.
5131 * themes/starfield/src/slider_s.xcf: Likewise.
5132 * themes/starfield/src/terminalbox/: Likewise.
5133 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5134 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5135 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5136 * themes/starfield/starfield.png: Likewise.
5137 * themes/starfield/terminal_box_c.png: Likewise.
5138 * themes/starfield/terminal_box_e.png: Likewise.
5139 * themes/starfield/terminal_box_n.png: Likewise.
5140 * themes/starfield/terminal_box_ne.png: Likewise.
5141 * themes/starfield/terminal_box_nw.png: Likewise.
5142 * themes/starfield/terminal_box_s.png: Likewise.
5143 * themes/starfield/terminal_box_se.png: Likewise.
5144 * themes/starfield/terminal_box_sw.png: Likewise.
5145 * themes/starfield/terminal_box_w.png: Likewise.
5146 * themes/starfield/theme.txt: Likewise.
5147
17d73325
VS
51482012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * util/grub.d/00_header.in: Add missing export theme.
5151
dbebaf92
VS
51522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5155 already included.
5156 Reported by: Eren D.
5157
3d68bffb
VS
51582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * conf/Makefile.common (grubdatadir): Removed.
5161 (Makefile.am): Move eveything grubdata to pkgdata.
5162
4b59234d
VS
51632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/commands/acpihalt.c (get_sleep_type):
5166 Remove unused variable.
5167
463dcadc
VS
51682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5171 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5172 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5173 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5174 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5175 i18n with gettext no-op.
5176 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5177 GRUB_ACPI_OPCODE_STRING_CONST.
5178 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5179 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5180
e5b90c82
VS
51812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * po/POTFILES.in: Regenerate.
5184
2a704ca9
VS
51852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5188 -Wno-error=missing-noreturn.
5189
84f9d341
VS
51902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5193 condition to avoid possibly infinite loops.
5194 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5195 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5196
d46683f9
VS
51972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5200 condition to avoid possibly infinite loops.
5201
c44866b2
VS
52022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5205 on show_error.
5206
96790539
VS
52072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5210
1ba7e295
VS
52112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5214
21ffe8f1
VS
52152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * util/bin2h.c (usage): Add missing attribute noreturn.
5218
0ccb6b3c
VS
52192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5222 if the size isn't divisible by 512.
5223
b00d7fb6
VS
52242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 Make list_push and list_remove functions rather than inline functions
5227 to decrease size and avoid aliasing violations.
5228
5229 * include/grub/list.h (grub_list_push): Move to ...
5230 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5231 * include/grub/list.h (grub_list_remove): Move to ...
5232 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5233
9d369087
VS
52342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5237 and -Wunused-result.
5238
af0250d9
VS
52392012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5242 Reported by: Seth Goldberg
5243
aad32b14
VS
52442012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5247
ac96441c
ST
52482012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5249
5250 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5251 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5252 command line.
5253 * docs/grub.texi (Simple configuration): Document
5254 GRUB_CMDLINE_GNUMACH.
5255
52562012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
5257
5258 * conf/Makefile.common (platform_SCRIPTS): New variable.
5259 (platform_PROGRAMS): Likewise.
5260 * gentpl.py: Mark *,module and *.image for install.
5261 * grub-core/gdb_grub.in: Add a notice of expected environment.
5262 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5263 (gmodule.pl): Likewise.
5264
ac96441c 52652012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
5266
5267 Replace grub_checkkey with grub_getkey_noblock.
5268
5269 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5270 (grub_getkey_noblock): ... this. All users updated.
5271
ac96441c 52722012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
5273
5274 * grub-core/kern/emu/console.c: Move to ...
5275 * grub-core/term/emu/console.c: ...here.
5276 (grub_ncurses_getkey): Fix return value if no key is detected.
5277
e51b5666
VS
52782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5281 (grub_unit_test_fini): Likewise.
5282 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5283
52842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * include/grub/test.h (GRUB_UNIT_TEST)
5287
d9a62292
VS
52882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5291 Better error handling.
5292 (grub_script_return): Likewise.
5293 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5294
77c9182f
VS
52952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5298 rimplicit redifinition.
5299
edb13cf9
VS
53002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5303 GRUB.
5304
a9e9dc7c
VS
53052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5308 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5309 prompt here.
5310
b4ba8e02
VS
53112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5314 as GRUB_ERR_BUG. Don't malloc if no device is available.
5315
dded5540
VS
53162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5319 Mark calling with invalid term as GRUB_ERR_BUG.
5320
0cf69874
VS
53212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5324 packets rather than raising an error.
5325
59bfe502
VS
53262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5329 in if.
5330
db5fc596
VS
53312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5334 diagnostic to dprintf.
5335 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5336
e4b7f404
VS
53372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5340 device name.
5341
e7b02f9e
VS
53422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5345 (grub_ntfs_iterate_dir): Likewise.
5346
0331e102
VS
53472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Efiemu stylistic fixes and gettext.
5350
5351 * grub-core/efiemu/i386/loadcore32.c
5352 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5353 * grub-core/efiemu/i386/loadcore64.c
5354 (grub_arch_efiemu_relocate_symbols64): Likewise.
5355 * grub-core/efiemu/i386/pc/cfgtables.c
5356 (grub_machine_efiemu_init_tables): Likewise.
5357 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5358 (grub_efiemu_loadcore_initXX): Add a filename argument.
5359 All users updated.
5360 Improved error message.
5361 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5362 Add a filename argument.
5363 All users updated.
5364 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5365 Reclassify double relocation as GRUB_ERR_BUG.
5366
306fc074
VS
53672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5370 handling.
5371
794d8ef2
VS
53722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5375 on partition.
5376
53772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5378
5379 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5380
794d8ef2 53812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5382
5383 Improve string. Gettextize.
5384
78dde88e
VS
53852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5388 utils.
5389 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5390
4786a90f
VS
53912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5394 [GRUB_UTIL]: New function.
5395 (insert_array) [GRUB_UTIL]: Store partmaps.
5396 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5397 partmaps.
5398 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5399 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5400 (probe_abstraction): Print diskfilter and not raid.
5401 Reported by: Lennart Sorensen
5402
0b6225bd
VS
54032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5406 * util/grub-mkimagexx.c (MASK3): New define.
5407 (add_value_to_slot_20b): Use MASK3.
5408 (add_value_to_slot_21): Likewise.
5409 (relocate_addresses): Fix format specification.
5410 (load_image): Explicitly init symtab_section.
5411
b055f8f6
VS
54122012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5415 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5416
b77c2fb7
VS
54172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5420 on powerpc.
5421 Reported by: Lennart Sorensen
5422
e3ec28ab
VS
54232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * gentpl.py: Add missing license header.
5426 * docs/grub.texi: Update copyright year.
5427
c8d9ead6
GS
54282012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5429
5430 Source grub-mkconfig_lib from the build directory at build time.
5431 Suggested by: Vladimir Serbinenko.
5432
5433 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5434 * util/grub-install.in: Define pkgdatadir if not already set, and source
5435 grub-mkconfig_lib from there.
5436 * util/grub-kbdcomp.in: Likewise.
5437 * util/grub-mkconfig.in: Likewise.
5438 * util/grub-mknetdir.in: Likewise.
5439 * util/grub-mkrescue.in: Likewise.
5440 * util/grub-mkstandalone.in: Likewise.
5441 * util/grub-reboot.in: Likewise.
5442 * util/grub-set-default.in: Likewise.
5443 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5444
ebcecdf1
VS
54452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 Increase warning level.
5448
5449 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5450 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5451 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5452 (TARGET_CFLAGS): Likewise.
5453 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5454 * grub-core/Makefile.core.def (decompressor_xz): Add
5455 -Wno-unreachable-code.
5456 (normal): Add -Wno-redundant-decls.
5457 (xzio): Add -Wno-unreachable-code.
5458 (lzopio): Add -Wno-redundant-decls -Wno-error.
5459 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5460 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5461 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5462 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5463 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5464 * grub-core/kern/i386/coreboot/init.c: Add exception to
5465 -Wsuggest-attribute=noreturn.
5466 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5467 * grub-core/kern/ia64/dl_helper.c: Likewise.
5468 * grub-core/kern/mips/dl.c: Likewise.
5469 * grub-core/kern/sparc64/dl.c: Likewise.
5470 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5471 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5472 (memcmp): Likewise.
5473 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5474 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5475 * grub-core/loader/mips/linux.c: Likewise.
5476 * grub-core/loader/multiboot_elfxx.c: Likewise.
5477 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5478 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5479 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5480 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5481 fixme.
5482 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5483 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5484 Fix prototype.
5485
37bb97fe
VS
54862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5489 address.
5490
29a3550b
VS
54912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5494 Avoid improper use of strings.
5495 (grub_cmd_legacy_initrdnounzip): Likewise.
5496
dfdffd0d
VS
54972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5500 attribute.
5501 (grub_util_info): Likewise.
5502 (grub_util_error): Likewise.
5503
102fae4a
VS
55042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5507 * util/grub-fstest.c (fstest): Likewise.
5508
7e94d044
VS
55092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5512 (grub_md_sha512_real): Likewise.
5513 (grub_util_get_geli_uuid): Likewise.
5514 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5515 (grub_util_biosdisk_open): Fix format specification.
5516 Respect format security.
5517 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5518 (xrealloc): Likewise.
5519 (xasprintf): Likewise.
5520
5ebd9769
VS
55212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * util/import_gcry.py: Include grub/crypto.h in init.c.
5524
495fc8c1
VS
55252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5528 (generate_image): Make prefix a const char *.
5529 Fix format specifications. Respect format security.
5530 Avoid void * arithmetics.
5531 Avoid shadowing.
5532 (argp_parser): Remove unused variable. Respect format security.
5533 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5534 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5535 (count_funcs): Remove unused variable.
5536 (relocate_addresses): Fix format specification.
5537 Disable x86-64 with elf32. Remove unused variables.
5538 (add_fixup_entry): Avoid shadowing.
5539 (make_reloc_section): Fix format specification.
5540 Use assert.
5541 (locate_sections): Fix format specifications.
5542 (load_image): Avoid shadowing.
5543
043c2ea3
VS
55442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5547 Fix format specifications. Respect format security.
5548 Don't translate already translated grub_errmsg.
5549 (argp_parser): Remove unused variable
5550
3ec65a81
VS
55512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5554
a4d9fe4a
VS
55552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5558 (main): Likewise. Use xmalloc. Respect format security.
5559
15b81d49
VS
55602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5563 a const char *.
5564 (argp_parser): Remove unused variable.
5565
31731fc0
VS
55662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5569 (add_pixel): Make static.
5570 (add_font): Likewise.
5571 (write_string_section): Make name and str a const char *.
5572 (write_be16_section): Make name a const char *.
5573 (print_glyphs): Make static.
5574 (write_font_ascii_bitmap): Likewise.
5575 (write_font_width_spec): Likewise.
5576 (write_font_pf2): Likewise.
5577 (argp_parser): Remove unused variable.
5578 Respect format security.
5579 (main): Avoid shadowing. Respect format security.
5580
0809527b
VS
55812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * util/grub-editenv.c (argp_parser): Make static.
5584 (create_envblk_file): Use xmalloc.
5585 (open_envblk_file): Likewise.
5586 Resepect format security.
5587 (set_variables): Respect format security.
5588
45b0c8b7
VS
55892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * util/getroot.c (grub_find_device): Respect format security.
5592 (get_mdadm_uuid): Remove unused variable.
5593 (grub_util_pull_device): Dont call gettext on already translated
5594 grub_errmsg.
5595 (find_system_device): Remove unused variable.
5596 (grub_util_get_grub_dev): Likewise.
5597 (grub_make_system_path_relative_to_its_root): Respect format security.
5598
1b024b4e
VS
55992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * util/grub-fstest.c (execute_command): Make first argument
5602 a const char *.
5603 (read_file): Avoid shadowing.
5604 Reuse underlying error message if device open fails.
5605 (cmd_cmp): Respect format security.
5606 (root): Make const char *.
5607 (fstest): Remove args argument and use global copy.
5608 Respect format security.
5609 (argp_parser): Make static.
5610 (main): Make default_root const char *.
5611
5d1d4e28
VS
56122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * util/grub-mount.c (root): Make const char *.
5615 (execute_command): Make first argument a const char *.
5616 (fuse_init): Respect format security.
5617 (argp_parser): Make static. Remove unused variable.
5618 (main): Make default_root a const char *.
5619 Respect format security.
5620
36eb7379
VS
56212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * util/grub-probe.c (probe): Don't call gettext on already translated
5624 grub_errmsg.
5625 Remove unused variables.
5626 (argp_parser): Remove unused variable.
5627
76fb2ea9
VS
56282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * util/grub-script-check.c (argp_parser): Remove unused variable.
5631 (main): Rename read to curread to avoid shadowing.
5632
56c98584
VS
56332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * util/misc.c (grub_util_write_image_at): Fix format specification.
5636 (grub_util_write_image): Likewise.
5637 (grub_script_execute_argument_to_string): Removed (unused).
5638 (grub_script_execute_menuentry): Likewise.
5639 (grub_putchar): Likewise.
5640
164ebb48
VS
56412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5644 (FUNCTION) [GRUB_UTIL]: Likewise.
5645 (VARIABLE) [GRUB_UTIL]: Likewise.
5646
44318d61
VS
56472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5650 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5651
31a26002
VS
56522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5655 buffer.
5656
56572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5660 (LzmaEnc_SaveState): Removed (unused).
5661 (LzmaEnc_RestoreState): Likewise.
5662 (LzmaEnc_InitPriceTables): Made static.
5663 (LzmaEnc_Construct): Likewise.
5664 (LzmaEnc_FreeLits): Likewise.
5665 (LzmaEnc_Destruct): Likewise.
5666 (LzmaEnc_Init): Likewise.
5667 (LzmaEnc_InitPrices): Likewise.
5668 (LzmaEnc_Finish): Likewise.
5669 (LzmaEnc_PrepareForLzma2): Removed (unused).
5670 (LzmaEnc_MemPrepare): Likewise.
5671 (LzmaEnc_GetNumAvailableBytes): Likewise.
5672 (LzmaEnc_GetCurBuf): Likewise.
5673 (LzmaEnc_CodeOneMemBlock): Likewise.
5674
6fa67967
VS
56752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5678 (grub_util_ldm_embed): Likewise.
5679
9a7428e6
VS
56802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * util/grub-editenv.c (print_var): Rename name to varname to
5683 avoid shadowing.
5684 (main): Rename index to curindex to avoid shadowing.
31a26002 5685 Make filename a const char *.
9a7428e6 5686
4f96abd1
VS
56872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5690 to arg_getline to avoid shadowing.
5691
44d10dad
VS
56922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5695 disk_ to avoid shadowing.
5696
340ba63e
VS
56972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5700 curindex to avoid shadowing.
5701 Make static.
5702 (MatchFinder_GetNumAvailableBytes): Make static.
5703
22965bce
VS
57042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5707 avoid shadowing.
5708
7b5784d4
VS
57092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5712 argument from encrypt to do_encrypt to avoid shadowing.
5713
6f48ca01
VS
57142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5717 incorrect nesting of #if's.
5718
a4ea2dff
VS
57192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5722 checks which are always false on some platforms.
5723 (grub_cmd_lsacpi): Likewise.
5724 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5725 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5726 Likewise.
5727
def9fc1b
VS
57282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5731 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5732
a67b2a04
VS
57332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5736 re_dfa_t to avoid breaking alignment invariants.
5737 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5738 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5739
44c6828d
VS
57402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5743 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5744
bebe0dd0
VS
57452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5748 Fix declaration.
5749
a9cdb3cf
VS
57502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5753 conserve alignment invariants.
5754 (grub_ehci_ehcc_read16): Likewise.
5755 (grub_ehci_oper_read32): Likewise.
5756 (grub_ehci_oper_write32): Likewise.
5757 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5758 Conserve alignment invariants.
5759
ccc3b1b8
VS
57602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5763 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5764 declarations.
5765
987fbd95
VS
57662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5769 Remove unused variable.
5770
0df363f3
VS
57712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5774 Remove set in if.
5775
b2c0c4a6
VS
57762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * include/grub/net.h: Remove double declarations.
5779
690c531f
VS
57802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 Remove "payload" command in ia64 Linux loader since I couldn't
5783 find any evidence of it being used for anything.
5784 Replace "relocate" command with an environment variable
5785
5786 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5787 fields.
5788 (ia64_boot_payload): Removed.
5789 (last_payload): Likewise.
5790 (RELOCATE_OFF): Likewise.
5791 (RELOCATE_ON): Likewise.
5792 (RELOCATE_FORCE): Likewise.
5793 (relocate): Likewise.
5794 (free_pages): Don't free payloads.
5795 (grub_load_elf64): Use common error messages.
5796 Use "linux_relocate" variable.
5797 Increase the space after boot_params.
5798 (grub_cmd_payload): Removed.
5799 (grub_cmd_relocate): Likewise.
5800 (grub_cmd_fpswa): Improve messages.
5801 (cmd_payload): Removed.
5802 (cmd_relocate): Likewise.
5803 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5804 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5805
01783768
VS
58062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 Convert UHCI to DMA framework.
5809
5810 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5811 (grub_uhci_pci_iter): Fill new members
5812 (grub_alloc_td): Use P2V and V2P functions.
5813 (grub_free_queue): Likewise.
5814 (grub_alloc_qh): Likewise.
5815 (grub_uhci_setup_transfer): Likewise.
5816 (grub_uhci_check_transfer): Likewise.
5817
43206939
VS
58182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5821 Remove assignment in if while on it.
5822
571e140e
VS
58232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * util/grub-mkstandalone.in: Fix modules directory.
5826
a9d96eeb
VS
58272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5830 on i386-pc target.
5831 (argp_parser): Accept "auto" as compression specification.
5832
e4e37e8d
VS
58332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 Fix `help' with unloaded modules.
5836
5837 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5838 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5839 (grub_dyncmd_dispatcher): Small stylistic fix.
5840 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5841 explicit help is requested.
5842
e1ea3ade
VS
58432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5846 Explicitly init restart while on it.
5847
27556881
VS
58482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5851 uninited variable.
5852
d65f6b36
VS
58532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * util/grub-mknetdir.in: Use . rather than source for POSIX
5856 compatibility.
5857
0a1e473c
VS
58582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5861
ce6647c8
VS
58622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5865 variable.
5866
66747894
VS
58672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5870 without quotes.
5871
71645f6e
VS
58722012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5875
0e1c1f61
VS
58762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5879 iteration of partitions.
5880
9c4b5c13
VS
58812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 Improve gettext support. Stylistic fixes and error handling fixes while
5884 on it.
5885
215c90cb
VS
58862012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5889 part. Instead setup the correct stack in RM.
5890 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5891 for stack.
5892 * include/grub/i386/relocator_private.h: New file.
5893
b5c1f9bf
VS
58942012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5897 argument.
5898 * util/grub-fstest.c (options): Add missing DEVICE part.
5899
b525fd83
VS
59002012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Clarify and unify messages.
5903
5904 * grub-core/commands/hashsum.c (options): Unify messages.
5905 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5906 literal-only message as translatable.
5907 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5908 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5909 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5910 commands.
5911 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5912 key, not the key used to unlock. Clarify what it's used for.
5913 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5914 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5915 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5916 * util/grub-editenv.c (options): Unify "verbose" message.
5917 * util/grub-fstest.c (read_file): Unify error message.
5918 (fstest): Add quotes around commands.
5919 (options): Unify "verbose" message.
5920 * util/grub-install.in: Add quotes around variable name.
5921 * util/grub-kbdcomp.in: Unify error message.
5922 * util/grub-mkfont.c (main): Likewise.
5923 * util/grub-mkrescue.in: Likewise.
5924 * util/grub-mklayout.c (options): Unify "verbose" message.
5925 * util/grub-mkstandalone.in: Unify help and verbose messages.
5926 * util/grub-mount.c (options): Unify "verbose" message.
5927 * util/grub-probe.c (options): Likewise.
5928 * util/grub-script-check.c (options): Likewise.
5929 * util/grub-setup.c (setup): Unify no-terminator message.
5930 (options): Use DEVICE and not DEV.
5931 Unify "verbose" message.
5932 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5933
0ae70393
VS
59342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 Improve and unify messages.
5937
5938 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5939 name. All users updated.
5940 Print filename in error.
5941 (read_device_map): Print filename in error.
5942 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5943 (grub_util_get_os_disk): Likewise.
5944 (grub_util_biosdisk_get_grub_dev): Likewise.
5945 (grub_util_check_block_device): Likewise.
5946 (grub_util_check_char_device): Likewise.
5947 (grub_make_system_path_relative_to_its_root): Likewise.
5948 * util/grub-editenv.c (create_envblk_file): Likewise.
5949 (open_envblk_file): Likewise.
5950 (write_envblk): Likewise.
5951 * util/grub-fstest.c (cmd_cp): Likewise.
5952 (cmd_cat): Likewise.
5953 (cmd_cmp): Likewise.
5954 * util/grub-menulst2cfg.c (main): Likewise.
5955 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5956 (write_font_width_spec): Likewise.
5957 (write_font_pf2): Likewise.
5958 * util/grub-mkimage.c (generate_image): New argument outname.
5959 All users updated.
5960 Remove unreacheable message.
5961 (options): Unify messages.
5962 (help_filter): Likewise.
5963 * util/grub-mklayout.c (usage): Removed (unused).
5964 (main): Print filename in error.
5965 * util/grub-mkrescue.in: Fix wrong quoting.
5966 * util/grub-setup.c (setup): Print filename in error.
5967 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5968 (check_sas): Likewise.
5969 * util/misc.c (grub_util_get_fp_size): Removed.
5970 (grub_util_get_image_size): Print filename in error.
5971 (grub_util_read_at): Removed.
5972 (grub_util_read_image): Print filename in error.
5973 (grub_util_load_image): Likewise.
5974 (grub_util_write_image_at): New argument filename. All users updated.
5975 Print filename in error.
5976 (grub_util_write_image): New argument filename. All users updated.
5977 Print filename in error.
5978 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5979 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5980
0a96117d
VS
59812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/Makefile.core.def (pxechain): New module.
5984 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5985 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5986 function.
5987 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5988 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5989
aca002f7
VS
59902012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5993 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5994 * include/grub/err.h (grub_error_saved): New struct.
5995 (grub_errmsg): Make array size explicit.
5996 * include/grub/misc.h (grub_error_save): New function.
5997 (grub_error_load): Likewise.
5998 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5999 (grub_error_push): Update `errno' member name.
6000 (grub_error_pop): Likewise
6001 * grub-core/net/tftp.c (tftp_data): New member save_err.
6002 (tftp_receive): Save error.
6003 (tftp_open): Restore error.
6004
a51dab13
VS
60052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6008 to real mode down to execute A20-related code in protected mode as
6009 intended.
6010
eb6e6649
GS
60112012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6012
6013 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6014 NULL when the argument `level' has an unexpected value.
6015
92cd0f6e
VS
60162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 Move platform-dependent files from $prefix to $prefix/$platform.
6019
6020 * config.h.in (GRUB_TARGET_CPU): New definition.
6021 (GRUB_PLATFORM): Likewise.
6022 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6023 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6024 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6025 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6026 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6027 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6028 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6029 * grub-core/normal/term.c (read_terminal_list): Likewise.
6030 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6031 $prefix/locale.
6032 (grub_gettext_init_ext): Likewise.
6033 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6034 grub_platform.
6035 * util/grub-install.in: Update directories.
6036 * util/grub-mknetdir.in: Likewise.
6037 * util/grub-mkrescue.in: Likewise.
6038
db606889
VS
60392012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6042 grub_error framework. All users updated.
6043
c39992a4
VS
60442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6047 lists (by always binsearching), improve caching (cache strings
6048 used for binsearch, not only results), improve
6049 maintainability (by using more structured binary search) and correct
6050 error handling.
6051
1e5ec32f
VS
60522012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/script/execute.c (grub_script_return): Fix warning.
6055
ac576cde
VS
60562012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/script/execute.c (grub_script_return): Fix potential
6059 NULL-dereference.
6060 Reported by: Jim Meyering.
6061
498453f6
VS
60622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * po/POTFILES.in: Regenerate.
6065 * util/grub-install.in: Gettextize the strings missed in first pass.
6066
8be63f2e
VS
60672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * Makefile.util.def (grub-mkdevicemap): Removed.
6070 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6071 * include/grub/util/deviceiter.h: Removed.
6072 * util/deviceiter.c: Likewise.
6073 * util/getroot.c (grub_util_get_os_disk): New function.
6074 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6075 replacement for EFI.
6076 * util/grub-mkdevicemap.c: Removed.
6077 * util/grub-probe.c (probe): Handle PRINT_DISK.
6078 (argp_parser): Handle -t disk.
6079
8e1e4e39
VS
60802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * util/grub-mkfont.c: Migrate to argp.
6083 * util/grub-mklayout.c: Likewise.
6084 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6085 * util/grub-mkrelpath.c: Likewise.
6086 * util/grub-probe.c: Likewise.
6087 * util/grub-script-check.c: Likewise.
6088
4459819a
VS
60892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * util/grub-reboot.in: Add missing datarootdir.
6092 Add missing newline.
6093 * util/grub-set-default.in: Add missing datarootdir.
6094 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6095 * util/grub-mkrescue.in: Likewise.
6096
f65741c7
VS
60972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6100
c1a33466
VS
61012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * util/grub-kbdcomp.in: Add decent help and gettextize.
6104 * docs/man/grub-kbdcomp.h2m: New file.
6105
c76899a0
VS
61062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 Migrate grub-mkimage.c to argp.
6109
6110 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6111 (grub-setup): Likewise.
6112 * util/grub-setup.c (print_version): Move to ...
6113 * util/argp_common.c (print_version): ... here.
6114 * util/grub-setup.c (argp_program_version_hook): Move to ...
6115 * util/argp_common.c (argp_program_version_hook): ... here.
6116 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6117 safety.
6118 * util/grub-mkimage.c (main): Migrate to argp.
6119
57db0757
VS
61202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * util/grub-mkrescue.in: Use same message as
6123 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6124 for better translations.
6125
18534ad9
VS
61262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6129 options with generic grub-mkrescue.in with the goal of future
6130 merge.
6131
c84ba308
VS
61322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/kern/mm.c: Add missing include of i18n.h
6135 * grub-core/lib/relocator.c: Likewise.
6136
347998c2
VS
61372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6140 error.
6141 (allocate_pages): Check return value.
6142 Replace fatal with error.
6143 (grub_linux_boot): Replace printf with dprintf.
6144 Check find_mmap_size return value.
6145 Replace fatal with error.
6146 Don't call grub_machine_fini.
6147 (grub_load_elf64): Replace printf with dprintf.
6148 (grub_cmd_linux): Likewise.
6149 (grub_cmd_initrd): Likewise.
6150 (grub_cmd_payload): Likewise.
6151
c779226e
VS
61522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6155 message.
6156 * grub-core/video/radeon_fuloong2e.c
6157 (grub_video_radeon_fuloong2e_setup): Likewise.
6158 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6159 * grub-core/video/video.c (grub_video_set_mode): Don't override
6160 standard out of memory message.
6161
dc87d45a
GS
61622012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6163
6164 NetBSD disk wedge support.
6165
6166 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6167 [__NetBSD__]: Handle NetBSD disk wedges.
6168 * util/getroot.c (convert_system_partition_to_system_disk)
6169 [__NetBSD__]: Likewise.
6170
055f856f
MW
61712012-02-03 Mark Wooding <mdw@distorted.org.uk>
6172
6173 * util/grub-mkconfig.in: Use umask rather than chmod to create
6174 grub.cfg.new to avoid insecure grub.cfg.
6175
4a9f8346
VS
61762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/commands/ls.c: Gettextize.
6179 * grub-core/commands/setpci.c: Likewise.
6180 * grub-core/commands/videotest.c: Likewise.
6181 * grub-core/disk/geli.c: Likewise.
6182 * grub-core/kern/mm.c: Likewise.
6183 * grub-core/lib/relocator.c: Likewise.
6184 * grub-core/loader/efi/appleloader.c: Likewise.
6185 * grub-core/loader/i386/xnu.c: Likewise.
6186 * grub-core/loader/ia64/efi/linux.c: Likewise.
6187 * grub-core/loader/xnu.c: Likewise.
6188 * grub-core/net/dns.c: Likewise.
6189 * grub-core/net/net.c: Likewise.
6190 * grub-core/script/lexer.c: Likewise.
6191 * grub-core/script/parser.y: Likewise.
6192 * grub-core/script/yylex.l: Likewise.
6193 * util/getroot.c: Likewise.
6194 * util/grub-setup.c: Likewise.
6195
a646a366
VS
61962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6199 number.
6200
54e2be26
VS
62012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6204
f7c71e68
VS
62052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6208 macro.
6209 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6210 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6211
a32d5c71
VS
62122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6215 * util/grub-install.in: Gettextize.
6216 * util/grub-mkconfig.in: Likewise.
6217 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6218 if not available.
6219 (grub_warn): Gettextize.
6220 * util/grub-mknetdir.in: Gettextize.
6221 * util/grub-mkrescue.in: Likewise.
6222 * util/grub-mkstandalone.in: Likewise.
6223 * util/grub-reboot.in: Likewise.
6224 * util/grub-set-default.in: Likewise.
6225 * util/grub.d/00_header.in: Likewise.
6226 * util/grub.d/10_hurd.in: Likewise.
6227 * util/grub.d/10_kfreebsd.in: Likewise.
6228 * util/grub.d/10_linux.in: Likewise.
6229 * util/grub.d/10_netbsd.in: Likewise.
6230 * util/grub.d/10_windows.in: Likewise.
6231 * util/grub.d/20_linux_xen.in: Likewise.
6232 * util/grub.d/30_os-prober.in: Likewise.
6233 * po/POTFILES-shell.in: Regenerate.
6234
69edd81a
RL
62352012-02-03 Richard Laager <rlaager@wiktel.com>
6236
6237 * util/grub-mkimage.c (main): Fix format-security warning.
6238 * util/grub-mkrelpath.c (main): Likewise.
6239 * util/grub-probe.c (main): Likewise.
6240
65f08dbf
RL
62412012-02-03 Richard Laager <rlaager@wiktel.com>
6242
6243 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6244 failure.
6245 Put back lost PRINT_DRIVE.
6246
e9084abe
RL
62472012-02-03 Richard Laager <rlaager@wiktel.com>
6248
6249 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6250 (grub_guess_root_devices): Replace strlen with sizeof.
6251 Avoid crash.
6252 (find_root_devices_from_poolname): Remove unused variable.
6253 Handle raidzN.
6254
cf5f7ee7
VS
62552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 Support install on multi-device filesystems.
6258
6259 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6260 (grub_guess_root_devices): ...this. Return char **. All users updated.
6261 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6262 Removed.
6263 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6264 (find_root_devices_from_poolname): ... here.
6265 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6266 Support zfs-fuse.
6267 (grub_guess_root_device): Rename to ...
6268 (grub_guess_root_devices): ... this. Return char **. All users updated.
6269 * util/grub-install.in: Handle multi-device filesystems.
6270 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6271 argument. All users updated.
6272 Handle multi-device filesystems.
6273 Use 'delim' as separator.
6274 Remove device check to allow filesystems on file.
6275 (main): Support -0 argument. Handle multi-device.
6276 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6277 Fix a cross-device check while on it.
6278 (arguments): Remove root_dev.
6279 (argp_parser): Remove -r.
6280 (main): Remove root_dev.
6281
2f53a9ed
VS
62822012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6285
17e1d934
VS
62862012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6289 symbol.
6290 Reported by: NODA, Kai <nodakai>.
6291
d3e3fab5
VS
62922012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 Fix ehci on amd64.
6295
6296 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6297 pointers.
6298 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6299 (grub_ehci_setup_qh): Likewise.
6300 (grub_ehci_find_qh): Likewise.
6301 (grub_ehci_transaction): Likewise.
6302 (grub_ehci_setup_transfer): Likewise.
6303 (grub_ehci_check_transfer): Likewise.
6304 (grub_ehci_portstatus): Likewise.
6305 (grub_ehci_detect_dev): Likewise.
6306 (grub_ehci_transfer_controller_data): New field td_last_phys.
6307 (grub_ehci_setup_transfer): Fill td_last_phys.
6308 (grub_ehci_check_transfer): Use td_last_phys.
6309
3008675b
SG
63102012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6311
6312 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6313 if no submenu is present.
6314
fc9b5652
AN
63152012-02-01 Aleš Nesrsta <starous@volny.cz>
6316
6317 CBI support.
6318
6319 * include/grub/usb.h (grub_usbms_protocol_t): New values
6320 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6321 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6322 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6323 (grub_usbms_dev): Add subclass, protocol and intrpt.
6324 Remove in_maxsz and out_maxsz.
6325 (grub_usbms_reset): Rename to ...
6326 (grub_usbms_bo_reset): .. this.
6327 (grub_usbms_cbi_cmd): New function.
6328 (grub_usbms_cbi_reset): Likewise.
6329 (grub_usbms_reset): Likewise.
6330 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6331 (grub_usbms_transfer): Rename to ...
6332 (grub_usbms_transfer_bo): ... this.
6333 (grub_usbms_transfer_cbi): Likewise.
6334 (grub_usbms_transfer): Likewise.
6335
a2b81d53
AN
63362012-02-01 Aleš Nesrsta <starous@volny.cz>
63372012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6340 the support for the CS5536 modification thereos and few bugfixes.
6341
6342 * grub-core/Makefile.core.def (ehci): New module.
6343 * grub-core/bus/usb/ehci.c: New file.
6344 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6345 port and hubaddr. All users updated.
6346 Save port and hubaddr into dev structure.
6347 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6348 define.
6349 * include/grub/pci.h (grub_dma_phys2virt): New function.
6350 (grub_dma_virt2phys): Likewise.
6351 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6352
b1d51f02
VS
63532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6356 check as some mkfs implementations omit it.
6357
fc694106
VS
63582012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6361
6c0920e3
VS
63622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6365 Add new member volname2.
6366 (grub_jfs_label): Use volname2 if available.
6367
d1a46f9a
VS
63682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6371 over last_mounted as seen in image generated by mkfs.nilfs2.
6372 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6373
dec8ed14
VS
63742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6377 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6378 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6379
7397c69b
VS
63802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6383 over the sector.
6384
b3fe42ad
VS
63852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6388 subvolume name (by removing a bogus and useless check).
6389
10476bb0
VS
63902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6393 sizeof while on it.
6394
9c08ad87
VS
63952012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6398 (grub_scsi_read_capacity10): ... this.
6399 (grub_scsi_read_capacity16): New function.
6400 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6401 0xffffffff.
6402 Fix off-by-one error.
6403 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6404 64-bit unsigned.
6405 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6406 (grub_scsi_read_capacity10): ... this.
6407 (grub_scsi_read_capacity_data): Rename to ...
6408 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6409 (grub_scsi_read_capacity16): New struct.
6410 (grub_scsi_read_capacity16_data): Likewise.
6411 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6412 grub_scsi_cmd_read_capacity10.
6413 New command grub_scsi_cmd_read_capacity16.
6414
bc8d0f45
VS
64152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 SCSI >2TiB support.
6418
6419 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6420 (grub_scsi_write16): Likewise.
6421 (grub_scsi_read): Use read16 when necessary.
6422 (grub_scsi_write): Likewise.
6423 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6424 (grub_scsi_write16): Likewise.
6425 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6426
cc774926
VS
64272012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 SCSI write support (for usbms mainly).
6430
6431 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6432 a const pointer.
6433 (grub_scsi_write): Implement.
6434 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6435
67639fd7
VS
64362012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6439 variable.
6440
9079d3ed
VS
64412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6444
c6a6f204
VS
64452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * po/POTFILES.in: Regenerate.
6448
ecbf8cd1
VS
64492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6452 with grub_printf to avoid unnecessary fatal failure.
6453
0b3b3b38
VS
64542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6457 (INT_MAX): Likewise.
6458 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6459 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6460 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6461 (strcpy): Likewise.
6462 (strstr): Likewise.
6463 (strchr): Likewise.
6464 (strncpy): Likewise.
6465 (strcat): Likewise.
6466 (strncat): Likewise.
6467 (strcoll): Likewise.
6468 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6469 (GRUB_INT_MAX): Likewise.
6470
db7337a3
VS
64712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6474 unexpected error.
6475 (optimize_utf8): Likewise.
6476 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6477
f37c87e1
VS
64782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/boot/i386/pc/lnxboot.S: Use
6481 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6482 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6483 location.
6484 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6485 definition.
6486 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6487
63fe43f3
VS
64882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6491 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6492 now to avoid double free.
6493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6494 hostdisk.
6495 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6496 * util/grub-probe.c (escape_of_path): Always return a new copy.
6497 (print_full_name): Escape path.
6498 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6499 Fix hints on abstractions.
6500
ebe2c961
VS
65012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6504 Don't add "root" line if no compatibility hont is available.
6505 Suggested by: Seth Goldberg.
6506
2b5336a2
VS
65072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6510 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6511 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6512 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6513
74310bd8
VS
65142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6517
c30582ba
VS
65182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * util/grub-pe2elf.c (ehdr): Make static.
6521 (shdr): Likewise.
6522 (num_sections): Likewise.
6523 (offset): Likewise.
6524
5f47782c
VS
65252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 Eliminate ofpath limits and possible overflows.
6528
6529 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6530 (OF_PATH_MAX): Removed.
6531 (MAX_DISK_CAT): New const.
6532 (find_obppath): Use allocated rather than preallocated buffer.
6533 Return result. Argument of_path removed. All users updated.
6534 Add missing fdstat.
6535 (xrealpath): New function.
6536 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6537 Allocate rather than use preallocated buffer. All users updated.
6538 (__of_path_common): Use allocated rather than preallocatecd buffer.
6539 Return result. Argument of_path removed. All users updated.
6540 (vendor_is_ATA): Read only needed part form the file.
6541 (check_sas): Allocate depending on contents rather than fixed.
6542 (main) [STANDALONE]: Handle NULL result.
6543
f990cbf9
VS
65442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6547
9c6e84b8
VS
65482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 Cryptodisk write support.
6551
6552 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6553 (grub_cryptodisk_decrypt): Moved logic to ...
6554 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6555 (grub_cryptodisk_write): Implement.
6556 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6557 (grub_util_fd_write): ... this. Make global.
6558 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6559
87cf9744
VS
65602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * include/grub/list.h (grub_list_remove): Don't crash if element is
6563 removed twice.
6564
ca8c0baf
VS
65652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 Rename ofconsole to console.
6568
6569 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6570 as sysnonym to console.
6571 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6572 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6573 Rename grub_ofconsole_ to grub_console_. All users updated
6574 (grub_console_term_output): Rename "ofconsole" to "console".
6575 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6576 as "console".
6577
64c8b8f6
VS
65782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6581 handling.
6582 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6583 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6584 GRUB_DISK_DEVICE_FILE_ID.
6585
f6c434d5
VS
65862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6589 and improve performance.
6590
5858b42d
VS
65912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6594 missing ieee1275/ prefix on whole disk.
6595
4ed3c26b
VS
65962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6599 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6600
df71143e
VS
66012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6604
076e7c0f
VS
66052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Merge common RAID and LVM logic to an abstract diskfilter.
6608 Add LDM support using the same framework.
6609
6610 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6611 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6612 (libgrubmods): Remove grub-core/disk/raid.c and
6613 grub-core/partmap/gpt.c.
6614 * grub-core/Makefile.core.def (ldm): New module.
6615 (raid): Renamed to diskfilter. All users updated.
6616 * grub-core/disk/raid.c: Moved to ...
6617 * grub-core/disk/diskfilter.c: ... here.
6618 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6619 (lv_num): New var.
6620 (find_array): Renamed to ...
6621 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6622 (grub_is_array_readable): Renamed to ...
6623 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6624 (insert_array): New argument id.
6625 (is_node_readable): New function.
6626 (scan_device): Rename to ...
6627 (scan_disk): .. this. Restrict to one disk.
6628 (scan_devices): New function.
6629 (grub_diskfilter_iterate): Support multi-LV.
6630 Skip invisible and nameless LVs.
6631 (grub_diskfilter_memberlist): Support multi-LV.
6632 (grub_diskfilter_read_node): New function.
6633 (grub_raid_read): Most of logic moved to ...
6634 (read_segment): ... here
6635 (read_lv): New function.
6636 (grub_diskfilter_get_vg_by_uuid): New function.
6637 (grub_diskfilter_make_raid): Likewise.
6638 * grub-core/disk/ldm.c: New file.
6639 * grub-core/disk/lvm.c (vg_list): Removed.
6640 (lv_count): Likewise.
6641 (scan_depth): Likewise.
6642 (is_lv_readable): Likewise.
6643 (grub_lvm_getvalue): Advance pointer past the number.
6644 (find_lv): Removed.
6645 (do_lvm_scan): Refactored into ...
6646 (grub_lvm_detect): ... this. Support raid.
6647 (grub_lvm_iterate): Removed.
6648 (grub_lvm_memberlist): Likewise.
6649 (grub_lvm_open): Likewise.
6650 (grub_lvm_close): Likewise.
6651 (read_lv): Likewise.
6652 (read_node): Likewise.
6653 (is_node_readable): Likewise.
6654 (is_lv_readable): Likewise.
6655 (grub_lvm_read): Likewise.
6656 (grub_lvm_write): Likewise.
6657 (grub_lvm_dev): Use diskfilter
6658 (GRUB_MOD_INIT): Likewise.
6659 (GRUB_MOD_FINI): Likewise.
6660 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6661 new interface.
6662 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6663 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6664 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6665 grub_diskfilter_read_node.
6666 Fix a bug with xor.
6667 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6668 grub_diskfilter_read_node.
6669 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6670 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6671 (grub_disk_dev_iterate): Move from here...
6672 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6673 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6674 Make global.
6675 (grub_hostdisk_find_partition_start): Likewise.
6676 (grub_hostdisk_os_dev_to_grub_drive): New function.
6677 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6678 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6679 * util/getroot.c (make_device_name): ... here.
6680 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6681 Move to ...
6682 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6683 * grub-core/kern/emu/hostdisk.c
6684 (convert_system_partition_to_system_disk): Move to ...
6685 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6686 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6687 * util/getroot.c (device_is_wholedisk): ... here.
6688 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6689 * util/getroot.c (find_system_device): ... here.
6690 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6691 Move to ...
6692 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6693 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6694 Move to ...
6695 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6696 Handle LDM.
6697 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6698 Move to ...
6699 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6700 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6701 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6702 DISKFILTER.
6703 * include/grub/raid.h: Renamed to ...
6704 * include/grub/diskfilter.h: ... this.
6705 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6706 (GRUB_RAID_LAYOUT_*): Make into array.
6707 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6708 (grub_diskfilter_vg): New struct.
6709 (grub_diskfilter_pv_id): Likewise.
6710 (grub_raid_member): Removed.
6711 (grub_raid_array): Likewise.
6712 (grub_diskfilter_pv): New struct.
6713 (grub_diskfilter_lv): Likewise.
6714 (grub_diskfilter_segment): Likewise.
6715 (grub_diskfilter_node): Likewise.
6716 (grub_diskfilter_get_vg_by_uuid): New proto.
6717 (grub_raid_register): Inline.
6718 (grub_diskfilter_unregister): Likewise.
6719 (grub_diskfilter_make_raid): New proto.
6720 (grub_diskfilter_vg_register): Likewise.
6721 (grub_diskfilter_read_node): Likewise.
6722 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6723 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6724 (grub_util_is_ldm): Likewise.
6725 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6726 (grub_hostdisk_find_partition_start): Likewise.
6727 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6728 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6729 New definition.
6730 (grub_gpt_partition_map_iterate): New proto.
6731 * include/grub/lvm.h (grub_lvm_vg): Removed.
6732 (grub_lvm_pv): Likewise.
6733 (grub_lvm_lv): Likewise.
6734 (grub_lvm_segment): Likewise.
6735 (grub_lvm_node): Likewise.
6736 * util/getroot.c [...]
6737 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6738 (probe_abstraction): Likewise.
6739 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6740 (main): Remove dead logic.
6741
8a7f9b9c
VS
67422012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Simplify root device discover and don't fail when trying to open
6745 incorrect devices.
6746
6747 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6748 function.
6749 (get_diskname_from_path): Likewise.
6750 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6751 of iterating.
6752
30545b85
VS
67532012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6756
28ea58cf
VS
67572012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6760 pastthe end.
6761
692dabca
VS
67622012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * util/grub-install.in: Add missing \.
6765 Reported by: gentoofan
6766
f6e4ea70
VS
67672012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6770 (direct_read): Use correct compressed size.
6771 (grub_squash_read_data): Likewise.
6772
67732012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6774
6775 * docs/grub.texi (Platform limitations): New section.
6776 (Platform-specific operations): Likewise.
6777 * docs/grub-dev.texi (Porting): Likewise.
6778
76261110
VS
67792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 IEEE1275 disk write support.
6782
6783 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6784 const void *.
6785 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6786 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6787 and seek loginc to ...
6788 (grub_ofdisk_prepare): ... here.
6789 (grub_ofdisk_write): Implement.
6790
fc36d603
VS
67912012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 ARC disk write support.
6794
6795 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6796 (reopen): New argument writable. All users updated.
6797 Handle required access mode.
6798 (grub_arcdisk_write): Implement.
6799 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6800 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6801
e06c2e7a
VS
68022012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6805 (read_sblock): Don't attempt to read superblocks outside the disk size.
6806
ff447958
VS
68072012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6810 first superblock to find the second one when possible.
6811
9e88df39
VS
68122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * util/grub-install.in: Fix an ARC bug.
6815 Print a warning if no platform-specific setup is available.
6816
bb26e4ff
VS
68172012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Use static allocation rather than scratch pointer in reed_solomon.
6820 It decreases its size significantly and avoids a variable in .text.
6821
6822 * grub-core/lib/reed_solomon.c (scratch): Removed.
6823 (chosenstat): New const or static array.
6824 (sigma): Likewise.
6825 (errpot): Likewise.
6826 (errpos): Likewise.
6827 (sy): Likewise.
6828 (mstat): Likewise.
6829 (errvals): Likewise.
6830 (eqstat): Likewise.
6831 (pol_evaluate): Replace x with log_x argument. All users updated.
6832 (syndroms): Removed.
6833 (gauss_solve): Use statically allocated arrays.
6834 (rs_recover): Likewise.
6835 Calculate syndroms directly.
6836 (decode_block): Use statically allocated arrays.
6837 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6838 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6839
2e13ede5
VS
68402012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 Eliminate fixed limit on reed solomon decoder length.
6843
6844 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6845 rather than hardcoding the address.
6846 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6847 no_reed_solomon_length.
6848 Move gate_a20 to no-reed-solomon part.
6849 Don't force a particular size of no reed-solomon part.
6850 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6851 Removed.
6852 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6853 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6854
f8a9ab12
VS
68552012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/commands/wildcard.c (match_files): Handle filenames
6858 without explicit device.
6859 (wildcard_expand): Don't add explicit device if not already present.
6860 * tests/grub_script_echo1.in: Add a new expansion test.
6861
87edb894
VS
68622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 Replace single-linked with double-linked lists. It results in more
6865 compact and more efficient code.
6866
6867 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6868 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6869 (grub_list_remove): Moved from here ...
6870 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6871 (grub_prio_list_insert): Set prev.
6872 * include/grub/list.h (grub_list): Add prev. All users updated.
6873
48b391e9
VS
68742012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 Handle newer autotools. Add some missing quotes while on it.
6877
6878 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6879 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6880 (pkgdata_DATA): ... here.
6881 * Makefile.util.def (update-grub_lib): Removed.
6882 * conf/Makefile.common (pkglib_DATA): Removed.
6883 (pkglib_SCRIPTS): Likewise.
6884 (pkgdata_DATA): New variable.
6885 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6886 needed.
6887 Add missing quotes.
6888 Remove unused variable while on it.
6889 * tests/util/grub-shell.in: Likewise.
6890 * util/grub-install.in: Likewise.
6891 * util/grub-mkconfig.in: Likewise.
6892 * util/grub-mknetdir.in: Likewise.
6893 * util/grub-mkrescue.in: Likewise.
6894 * util/grub-mkstandalone.in: Likewise.
6895 * util/grub.d/00_header.in: Likewise.
6896 * util/grub.d/10_hurd.in: Likewise.
6897 * util/grub.d/10_illumos.in: Likewise.
6898 * util/grub.d/10_kfreebsd.in: Likewise.
6899 * util/grub.d/10_linux.in: Likewise.
6900 * util/grub.d/10_netbsd.in: Likewise.
6901 * util/grub.d/10_windows.in: Likewise.
6902 * util/grub.d/20_linux_xen.in: Likewise.
6903 * util/grub.d/30_os-prober.in: Likewise.
6904 * util/update-grub_lib.in: Removed.
6905
69062012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6907
6908 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6909 a workaround for intel problem.
6910
66832792
PRP
69112012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
69122012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
69132012-01-23 pfsmorigo
6914
6915 * util/grub-install.in: Support dd'in into PreP partition.
6916 * util/grub-probe.c (probe): Support discovering partition type.
6917 (main): Support -t msdos_parttype.
6918
7816a17e
VS
69192012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6922 infinite recursion using counter.
6923 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6924 init to skip it if the magic check fails.
6925 (dec_stream_header): Init s->crc32.
6926
8f9d3a8c
ZB
69272012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
69282012-01-22 Zachary Bedell <pendorbound@gmail.com>
69292012-01-22 Richard Laager <rlaager@wiktel.com>
6930
6931 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6932 All users updated.
6933 (find_bestub): Determine correct size.
6934 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6935 (scan_disk): Align the size down.
6936 Call check pool before find_bestub to have ashift.
6937
b055dd32
VS
69382012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6941 dprintf in no-malloc zone.
6942
d779e9bd
ML
69432012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6944
6945 * configure.ac: Add back in test for limits.h.
6946
b508af69
VS
69472012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Support 4K-sector NTFS.
6950
6951 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6952 (grub_ntfs_data): Remove blocksize.
6953 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6954 Remove data argument. All users updated.
6955
dad9c8b5
VS
69562012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6959 being in .text to avoid dprel references.
6960 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6961 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6962 (grub_arch_highmemsize): Likewise.
6963 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6964 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6965 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6966
d43a777e
VS
69672012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6970
6971 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6972 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6973
34e4208f
VS
69742012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6977 GRUB_UTIL.
6978 (grub_set_datetime_cmos): Likewise.
6979
3ec0fc1c
VS
69802012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Make XZ compression parameters dependent on target and not host CPU.
6983
6984 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6985 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6986
22489834
VS
69872012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6990 set but not used variable.
6991
8502fbca
VS
69922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6995 created when no uuid support is compiled into mkfs.reiser.
6996
76df2068
VS
69972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7000 (utf8_to_macroman): Do the opposite.
7001 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7002
64e3f8f6
VS
70032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * configure.ac: Refise build qemu_mips w/o unifont.
7006
9c271078
VS
70072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 Eliminate grub_min/grub_max prone to overflow usage.
7010
7011 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7012 (poll_nonroot_hub): Likewise.
7013 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7014 (grub_affs_label): Likewise.
7015 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7016 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7017 (grub_hfs_label): Likewise.
7018 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7019 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7020 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7021 (zap_leaf_array_get): Likewise.
7022 (dnode_get_path): Likewise.
7023 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7024 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7025 * grub-core/script/execute.c (grub_script_break): Likewise.
7026 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7027 grub_max.
7028 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7029 * include/grub/misc.h (grub_min): Removed.
7030 (grub_max): Likewise.
7031
80662dbc
VS
70322012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7033
7034 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7035 direct.inode = 0.
7036
e6da1467
VS
70372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7040
b1ac4cb1
VS
70412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7044
b4bf7c3b
VS
70452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7048 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7049
8ee1101a
VS
70502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7053 rather than a hack for grub_strncasemap.
7054
70552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 Support multiple initrds
7058 Note: part of this was accidently committed in r3739.
7059
7060 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7061 initrd.
7062 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7063 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7064 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7065 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7066 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7067
4d1e2bc9
VS
70682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7071 disks with unknown size.
7072 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7073
75b49ebe
VS
70742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 Remove defines pertaining to arbitrary limits not affecting GRUB
7077 anymore.
7078
7079 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7080 (EXT2_MAX_SYMLINKCNT): Likewise.
7081 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7082 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7083 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7084 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7085 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7086 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7087 (DN_MAX_OBJECT_SHIFT): Likewise.
7088 (DN_MAX_OFFSET_SHIFT): Likewise.
7089 (DN_MAX_OBJECT): Likewise.
7090 (DNODES_PER_LEVEL_SHIFT): Likewise.
7091 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7092 (SPA_MAXBLOCKSIZE): Likewise.
7093 (SPA_BLOCKSIZES): Likewise.
7094 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7095 (MZAP_MAX_BLKSZ): Likewise.
7096
74a1dce7
VS
70972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7100 handle NULL appropriately.
7101 Remove MIN.
7102
30c7d3ce
VS
71032012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 Fix efiemu.
7106
7107 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7108 cpu/types.h.
7109 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7110 * configure.ac: Fix efiemu check.
7111
3c76ea0c
VS
71122012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7115 grub_probe.
7116 Reported by: adamwill
7117
7e532280
SG
71182012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7119
7120 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7121
30492374
VS
71222012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 Fix handling of wide characters in gfxterm.
7125
7126 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7127 (clear_char): Likewise.
7128 (paint_char): Skip code == NULL chars.
7129 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7130
e70cb72f
VS
71312012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/normal/charset.c: Move comment to right place.
7134
5c827cf9
VS
71352012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7138 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7139 (grub_affs_mount): Revert the correct version checking.
7140
53603892
VS
71412012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 * docs/grub.texi (Unicode): Mention several other unsupported features.
7144
ff094b9b
VS
71452011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7148 case statements as compile-time one.
7149 (direct_read): Prevent spurious warnings.
7150 (grub_squash_read_data): Likewise.
7151
c029da8a
VS
71522011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 Various squash4 fixes and LZO and XZ support.
7155
7156 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7157 Add xzembed source files.
7158 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7159 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7160 (grub_squash_inode): New subtype long_dir.
7161 (SQUASH_TYPE_LONG_DIR): New inode type.
7162 (COMPRESSION): New enum.
7163 (XZBUFSIZ): New const.
7164 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7165 (read_chunk): Use data->decompress.
7166 (zlib_decompress): New function.
7167 (lzo_decompress): Likewise.
7168 (xz_decompress): Likewise.
7169 (squash_mount): Set new data fields.
7170 (grub_squash_iterate_dir): Handle long dir.
7171 (squash_unmount): Free xzdec and xzbuf.
7172 (grub_squash_open): Check ino type.
7173 (direct_read): Stylistic fixes. Use data->decompress.
7174 (grub_squash_read_data): Likewise.
7175 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7176 (get_byte): Likewise.
7177 (grub_zlib_disk_read): Removed.
7178 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7179 (GRUB_POSIX_BOOL_DEFINED): New define.
7180 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7181 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7182 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7183 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7184
7a45a539
VS
71852011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Don't override more informative errors.
7188
7189 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7190 * grub-core/font/font.c (open_section): Likewise.
7191 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7192 filename. Don't override errors.
7193 (grub_cmd_openbsd_ramdisk): Don't override errors.
7194 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7195 (grub_cmd_initrd): Likewise.
7196 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7197 (grub_cmd_initrd): Likewise.
7198 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7199 (grub_cmd_linux): Likewise.
7200 (grub_cmd_initrd): Likewise.
7201 (grub_cmd_payload): Likewise.
7202 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7203 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7204 (grub_cmd_module): Likewise.
7205 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7206 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7207 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7208 (grub_cmd_xnu_mkext): Likewise.
7209 (grub_cmd_xnu_ramdisk): Likewise.
7210 (grub_xnu_check_os_bundle_required): Likewise.
7211 (grub_xnu_load_kext_from_dir): Likewise.
7212 (grub_cmd_xnu_kextdir): Likewise.
7213 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7214
b2d004db
VS
72152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7218 as 1024 in block size field. Found on one of my test images.
7219 Small optimisation while on it.
7220
ec000eac
VS
72212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7224 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7225 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7226 performance fixes while on it.
7227 (grub_sfs_close): Fix memory leak while on it.
7228 (grub_sfs_label): Convert Latin1 to UTF-8.
7229
f50e1165
VS
72302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7233 space to avoid overflows.
7234 (grub_hfs_label): Convert from macroman to UTF-8.
7235
2ae254de
VS
72362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7239
0108f491
VS
72402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7243
f45f5f89
VS
72442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * unicode: Import Unicode 6.0 data.
7247
4d8c4765
VS
72482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7249
63fa8ef9
VS
7250 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7251 outside of range.
7252
72532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
7256
7257 * include/grub/charset.h (grub_getend): New function.
7258 * grub-core/script/function.c (grub_script_function_find): Use
7259 grub_getend.
7260 * grub-core/normal/completion.c (add_completion): Likewise.
7261
f3cb4a4e
VS
72622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7265 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7266 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7267 (GRUB_UNICODE_TAG_END): Likewise.
7268 (GRUB_UNICODE_LAST_VALID): Likewise.
7269
5da8dbc5
VS
72702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7273 len and make it smaller. All users updated.
7274 * util/import_unicode.py: Put length and not end character.
7275 Check length.
7276
8569f13d
VS
72772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 Make better Unicode-compliant and unify some UTF-8 code pathes.
7280
7281 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7282 valid character.
7283 (grub_is_valid_utf8): Use grub_utf8_process.
7284 Check resulting code range.
7285 (grub_utf8_to_ucs4): Use grub_utf8_process.
7286 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7287 valid character.
7288
cc4fddf5
VS
72892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7292
bbc47747
VS
72932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * docs/grub.texi (Filesystems): Mention AFS.
7296
f63d6bf4
VS
72972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * docs/grub.texi (Filesystems): Clarify restrictions.
7300 (Regexp): Mention non-Unicode regexp behaviour.
7301 (Other): Mention non-Unicode matching behaviour.
7302
74bbf0db
VS
73032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7304
f63d6bf4 7305 Make HFS implementation use MacRoman.
74bbf0db
VS
7306
7307 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7308 (macroman): New const array.
7309 (macroman_to_utf8): New function.
7310 (utf8_to_macroman): Likewise.
7311 (grub_hfs_find_dir): Use utf8_to_macroman.
7312 (grub_hfs_dir): Use macroman_to_utf8.
7313 Set case_insensitive.
7314
4ea0316e
VS
73152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7318
d3c13cbd
VS
73192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 Integrate hints into autogeneration scripts.
7322
7323 * docs/grub.texi (Filesystems): Add a hostdisk example.
7324 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7325 (grub-probe): Add ofpath.
7326 * gentpl.py: Remove group nosparc64.
7327 * grub-core/commands/search.c (cache_entry): New struct.
7328 (cache): New var.
7329 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7330 * grub-core/commands/search_wrap.c (options): Add platform-specific
7331 hint options.
7332 (grub_cmd_search): Handle platform-specific hints.
7333 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7334 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7335 (grub_util_biosdisk_data): Likewise.
7336 (grub_util_biosdisk_open): Set device_map.
7337 (read_device_map): Handle "" as indication of no map.
7338 Set device_map.
7339 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7340 (grub_util_biosdisk_get_compatibility_hint): New function.
7341 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7342 * include/grub/emu/hostdisk.h
7343 (grub_util_biosdisk_get_compatibility_hint): New proto.
7344 * util/grub-install.in: Don't call grub-mkdevicemap.
7345 Add platform-specific hint to load.cfg.
7346 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7348 hints. Set root preliminary to compatibility hint, not to OS name.
7349 * util/grub-probe.c (PRINT_*): Add hints.
7350 (print): Make static.
7351 (escape_of_path): New function.
7352 (guess_bios_drive): Likewise.
7353 (guess_efi_drive): Likewise.
7354 (guess_baremetal_drive): Likewise.
7355 (print_full_name): Likewise.
7356 (probe): Handle hints.
7357 (main): Likewise.
7358 * util/ieee1275/devicemap.c: Removed.
7359 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7360 updated.
7361 (grub_util_devname_to_ofpath): Return NULL on failure.
7362
7363 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7364 resource leak.
7365 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7366
7367 * po/POTFILES.in: Regenerated.
7368
7369 Allow purely long options
7370
7371 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7372 (SHORT_ARG_USAGE): Likewise.
7373 (grub_arg_show_help): Compare opt with help_options.
7374 (parse_option): Receive opt as argument. If makes big simplificatons.
7375 All users updated
7376
00ce2df3
VS
73772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7380 Restructure to avoid warning.
7381
e77e325f
VS
73822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * util/grub-install.in: Account for possible escaped comma in device
7385 name.
7386
165099ea
VS
73872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7390 channel.
7391
ce4a999d
VS
73922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7395 allocation and zero-setting.
7396 (grub_ieee1275_get_devname): Check that alias is complete.
7397
379586ad
VS
73982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7401 unaligned segments.
7402
9197b0ad
VS
74032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7406 prefix.
7407 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7408 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7409 Add ieee1275 prefix.
7410
edddb7f9
VS
74112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * docs/grub.texi (Filesystems): Update.
7414
a1a8b1b9
VS
74152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 Support odc, newc and bigendian cpio formats.
7418
7419 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7420 * grub-core/Makefile.core.def (newc): New module.
7421 (odc): Likewise.
7422 (cpio_be): Likewise.
7423 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7424 (MAGIC): Likewise.
7425 (MAGIC2): Likewise.
7426 (head) [MODE_ODC]: Adapt for the format.
7427 (head) [MODE_NEWC]: Likewise.
7428 (head) [!MODE_*]: Write fields of interest as arrays.
7429 (MAGIC_USTAR): Removed.
7430 (read_number) [MODE_NEWC]: Change to hex.
7431 (read_number) [!MODE_*]: Parse binary arrays.
7432 (grub_cpio_find_file): Factor out the code for better structure and
7433 always use read_number.
7434 (grub_cpio_mount): Use MAGIC and MAGIC2.
7435 (grub_cpio_dir): Exit on first hook non-0 return.
7436 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7437 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7438 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7439 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7440 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7441 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7442 * grub-core/fs/newc.c: New file.
7443 * grub-core/fs/odc.c: Likewise.
7444 * grub-core/fs/cpio_be.c: Likewise.
7445
58eba9ee
VS
74462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 Fix handling of tar numbers occupying the whole field.
7449
7450 * grub-core/fs/cpio.c (read_number): New function.
7451 (grub_cpio_find_file): Use read_number instead of strtoull.
7452
a54a0e12
VS
74532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7456 occupying the whole field size.
7457
a6120aca
LA
74582011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7459
7460 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7461
a93964ce
VS
74622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7465
3ea1ca46
SG
74662011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7467
7468 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7469 TARGET_IMG_LDFLAGS.
7470
b87f7ef2
VS
74712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7474 (mountinfo_entry): Increase the field size to take escaping into
7475 account.
7476 (find_root_device_from_libzfs): Add one byte to size of strings for
7477 security.
7478
62092395
VS
74792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7482 an assert.
7483 * util/grub-setup.c (setup): Likewise.
7484
1f0b1a77
VS
74852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7488 _LzmaDecodeA.
7489
8eba9997
VS
74902011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * docs/grub.texi (Internationalisation): New section.
7493
dd0c91e9
VS
74942011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * docs/grub.texi (Loopback booting): New section.
7497
74982011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7499
7500 * util/grub-mkstandalone.in: Fix minor typo errors.
7501
198e150a
VS
75022011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7505
7506 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7507 net/icmp.c and net/icmp6.c.
7508 (http): New module.
7509 (priority_queue): Likewise.
7510 * grub-core/io/bufio.c: Rewritten.
7511 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7512 TYPE_WITH_CONFIGFILE_OPTION.
7513 (legacy_commands): Add bootp and dhcp.
7514 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7515 (grub_legacy_parse): Likewise.
7516 * grub-core/lib/priority_queue.c: New file.
7517 * grub-core/net/arp.c: Add missing license header.
7518 (arp_find_entry): Removed.
7519 (arp_find_entry): Likewise.
7520 (grub_net_arp_resolve): Rename to ...
7521 (grub_net_arp_send_request): ...this.
7522 (grub_net_arp_receive): New card argument.
7523 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7524 Set router and DNS server.
7525 (grub_net_configure_by_dhcp_ack): Handle routing information.
7526 (grub_cmd_bootp): Set checksum.
7527 (grub_bootp_init): Remove net_dhcp.
7528 * grub-core/net/dns.c: New file.
7529 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7530 completion.
7531 (get_card_packet): Handle allocation.
7532 (grub_efinet_findcards): Set mtu.
7533 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7534 (get_card_packet): Handle allocation.
7535 (emucard): Set mtu.
7536 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7537 (GRUB_MOD_INIT): Set mtu.
7538 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7539 mtu.
7540 (get_card_packet): Handle allocation.
7541 (grub_ofnet_findcards): Set mtu.
7542 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7543 assert.
7544 (grub_net_recv_ethernet_packet): Handle IPv6.
7545 * grub-core/net/http.c: New file.
7546 * grub-core/net/icmp.c: Likewise.
7547 * grub-core/net/icmp6.c: Likewise.
7548 * grub-core/net/ip.c (ip6addr): New type.
7549 (ip6hdr): Likewise.
7550 (reassemble): Likewise.
7551 (cmp): New function.
7552 (reassembles): New variable.
7553 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7554 (id): New variable.
7555 (send_fragmented): New function.
7556 (grub_net_send_ip_packet): Rename to ...
7557 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7558 Handle non-UDP.
7559 (grub_net_recv_ip_packets): Rename to ...
7560 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7561 (free_rsm): New function.
7562 (free_old_fragments): Likewise.
7563 (grub_net_recv_ip4_packets): New function.
7564 (grub_net_send_ip6_packet): Likewise.
7565 (grub_net_send_ip_packet): Likewise.
7566 (grub_net_recv_ip6_packets): Likewise.
7567 (grub_net_recv_ip_packets): Likewise.
7568 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7569 (LINK_LAYER_CACHE_SIZE): New const.
7570 (link_layer_find_entry): New function.
7571 (grub_net_link_layer_add_address): Likewise.
7572 (grub_net_link_layer_resolve_check): Likewise.
7573 (grub_net_link_layer_resolve): Likewise.
7574 (grub_net_ipv6_get_slaac): Likewise.
7575 (grub_net_ipv6_get_link_local): Likewise.
7576 (grub_cmd_ipv6_autoconf): Likewise.
7577 (parse_ip): Handle one number representation.
7578 (parse_ip6): New functoion.
7579 (match_net): Handle IPv6.
7580 (grub_net_resolve_address): Handle IPv6 and DNS.
7581 (grub_net_resolve_net_address): Handle IPv6.
7582 (route_cmp): New function.
7583 (grub_net_route_address): Find best route.
7584 (grub_net_addr_to_str): Handle IPv6.
7585 (grub_net_addr_cmp): New function.
7586 (grub_net_add_addr): Register local route.
7587 (print_net_address): Handle net address.
7588 (grub_net_poll_cards): Retransmit TCP.
7589 (grub_net_poll_cards_idle_real): Likewise.
7590 (have_ahead): New function.
7591 (grub_net_seek_real): Use underlying seek.
7592 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7593 * grub-core/net/tcp.c: New file.
7594 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7595 (cmp): New function.
7596 (ack): Likewise.
7597 (tftp_receive): Handle unordered input.
7598 (destroy_pq): New function.
7599 (tftp_close): Close pq.
7600 * grub-core/net/udp.c: Put missing license header.
7601 (grub_net_udp_socket): New function.
7602 (udp_socket_register): Likewise.
7603 (grub_net_udp_close): Likewise.
7604 (grub_net_recv_udp_packet): Check checksum.
7605 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7606 * include/grub/misc.h (grub_memchr): New function.
7607 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7608 (grub_net_card_driver): Return buf in recv.
7609 (grub_net_slaac_mac_list): New struct.
7610 (grub_network_level_protocol_id): Add ipv6.
7611 (grub_net_network_level_addr): Likewise.
7612 (grub_net_network_level_net_addr): Likewise.
7613 (grub_net_app_protocol): Add seek.
7614 (grub_net_socket): Removed.
7615 (grub_net_sockets): Likewise.
7616 (grub_net_socket_register): Likewise.
7617 (grub_net_socket_unregister): Likewise.
7618 (FOR_NET_SOCKETS): Likewise.
7619 (grub_net_add_addr): Add const.
7620 (GRUB_NET_BOOTP_*): New enum.
7621 (grub_net_addr_cmp): New proto.
7622 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7623 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7624 (grub_net_hwaddr_to_str): NEw proto.
7625 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7626 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7627 (grub_dns_init): New proto.
7628 (grub_dns_fini): Likewise.
7629 (grub_net_tcp_retransmit): Likewise.
7630 (grub_net_link_layer_add_address): Likewise.
7631 (grub_net_link_layer_resolve_check): Likewise.
7632 (grub_net_link_layer_resolve): Likewise.
7633 (grub_net_dns_lookup): Likewise.
7634 (grub_net_add_dns_server): Likewise.
7635 (grub_net_remove_dns_server): Likewise.
7636 (GRUB_NET_TRIES): New const.
7637 (GRUB_NET_INTERVAL): Likewise.
7638 * include/grub/net/arp.h: Mostly rewritten.
7639 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7640 * include/grub/net/ip.h: Mostly rewritten.
7641 * include/grub/net/netbuff.h: Indent.
7642 * include/grub/net/tcp.h: New file.
7643 * include/grub/net/udp.h: Mostly rewritten.
7644 * include/grub/priority_queue.h: New file.
7645 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7646 (grub_swap_bytes64_compile_time): Likewise.
7647 (grub_cpu_to_be16_compile_time): Likewise.
7648 (grub_cpu_to_be32_compile_time): Likewise.
7649 (grub_cpu_to_be64_compile_time): Likewise.
7650 (grub_be_to_cpu64_compile_time): Likewise.
7651
215c1800
VS
76522011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7655 UINT_TO_PTR with cast.
7656
c17e546c
VS
76572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7660 don't use them.
7661
ff6b18b6
VS
76622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7665 already there.
7666
70ffcc93
VS
76672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7670 confusing ipxe.
7671
e5f4d260
VS
76722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7675 Add missing const attribute.
7676 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7677 Likewise.
7678 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7679 Likewise.
7680
8e54b4b7
VS
76812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7684 misaligned access.
7685 (serpent_setkey): Likewise.
7686 (serpent_encrypt_internal): Likewise.
7687 (serpent_decrypt_internal): Likewise.
7688 (serpent_encrypt): Don't put an alignment-increasing cast.
7689 (serpent_decrypt): Likewise.
7690 (serpent_test): Likewise.
7691
813c0a2b
VS
76922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7695
f2b60fbd
VS
76962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7699
7700 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7701 grub_addr_t casts.
7702 (PTR_TO_UINT64): Likewise.
7703 (PTR_TO_UINT32): Likewise.
7704
5ef5c511
VS
77052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7708 because of stack.
7709 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7710 limit.
7711
c476e6df
VS
77122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7715 text_width > available width a bit more gracefully.
7716
384ad7cc
VS
77172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7720 current address calculation.
7721
96f8caf8
VS
77222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7725 stack.
7726 (encode_block): Likewise.
7727
276b7a8b
VS
77282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7731 certainety.
7732
e3fd394a
VS
77332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7736 non-RS part to avoid RS messing with GDT.
7737 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7738 Increase to suit in realmode routines.
7739
77402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/kern/i386/realmode.S: Increase alignment.
7743 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7744
ee9c2e7a
VS
77452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7748 be deterministic.
7749 (syndroms): Compute 0 syndrom.
7750 (rs_recover): Use 0 syndrom.
7751
7a7f7cc9
VS
77522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7755
a14b16d1
VS
77562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7759 brackets.
7760
9f59e9fc
VS
77612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7762
ca1b552c
VS
7763 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7764 account.
7765 (get_top_pad): Likewise.
7766 (get_right_pad): Likewise.
7767 (get_bottom_pad): Likewise.
7768
77692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7772
e739d698
VS
77732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7776 attribute as the structure isn't guaranteed to be properly aligned.
7777 (grub_efi_pci_device_path): Likewise.
7778 (grub_efi_pccard_device_path): Likewise.
7779 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7780 specify the size of `memory_type'.
7781 (grub_efi_vendor_device_path): Likewise.
7782 (grub_efi_controller_device_path): Likewise.
7783 (grub_efi_acpi_device_path): Likewise.
7784 (grub_efi_expanded_acpi_device_path): Likewise.
7785 (grub_efi_atapi_device_path): Likewise.
7786 (grub_efi_scsi_device_path): Likewise.
7787 (grub_efi_fibre_channel_device_path): Likewise.
7788 (grub_efi_1394_device_path): Likewise.
7789 (grub_efi_usb_device_path): Likewise.
7790 (grub_efi_usb_class_device_path): Likewise.
7791 (grub_efi_i2o_device_path): Likewise.
7792 (grub_efi_mac_address_device_path): Likewise.
7793 (grub_efi_ipv4_device_path): Likewise.
7794 (grub_efi_ipv6_device_path): Likewise.
7795 (grub_efi_infiniband_device_path): Likewise.
7796 (grub_efi_uart_device_path): Likewise.
7797 (grub_efi_vendor_messaging_device_path): Likewise.
7798 (grub_efi_hard_drive_device_path): Likewise.
7799 (grub_efi_cdrom_device_path): Likewise.
7800 (grub_efi_vendor_media_device_path): Likewise.
7801 (grub_efi_file_path_device_path): Likewise.
7802 (grub_efi_protocol_device_path): Likewise.
7803 (grub_efi_piwg_device_path): Likewise.
7804 (grub_efi_bios_device_path): Likewise.
7805
cb8f88ea
VS
78062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7809 (grub_ucs4_to_utf8_alloc): Likewise.
7810 (grub_ucs4_to_utf8): Likewise.
7811 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7812 (grub_ucs4_to_utf8_alloc): Likewise.
7813
309e5352
VS
78142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 AFFS never uses unicode.
7817
7818 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7819 (grub_latin1_to_utf8): New inline function.
7820 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7821
e7987e1b
VS
78222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7825 overflow.
7826
efc2616e
VS
78272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7830 (grub_squash_dirent_header): Likewise.
7831 (read_chunk): Don't double swap.
7832 (grub_squash_iterate_dir): Fix swap sizes.
7833
3c349f5a
VS
78342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7837
b453412d
VS
78382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7841 (grub_hfs_iterate_dir): Likewise.
7842
12e9d4d1
VS
78432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 Fix video on platforms where unaligned access is forbidden.
7846 Make several optimisations while on it.
7847
7848 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7849 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7850 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7851 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7852 Disable.
7853 (grub_video_fbblit_replace_16bit_1bit):
7854 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7855 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7856 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7857 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7858 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7859 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7860 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7861 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7862 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7863 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7864 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7865 (grub_video_fbblit_replace_index_RGB888): Likewise.
7866 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7867 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7868 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7869 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7870 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7871 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7872 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7873 Disable.
7874 (grub_video_fbblit_blend_XXX565_1bit):
7875 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7876 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7877 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7878 void *.
7879 * grub-core/video/fb/video_fb.c (common_blitter)
7880 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7881 (grub_video_fb_create_render_target_from_pointer)
7882 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7883 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7884 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7885 definition.
7886 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7887
ace96609
VS
78882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7891 HH22 and HM10 relocations.
7892
fd261d73
VS
78932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7896
e59b7857
VS
78972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7900 allocation succeeded.
7901
9b4baaa4
VS
79022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7905 argument a u8 pointer. All users updated.
7906 Handle unaligned buffers.
7907
dc713193
VS
79082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7911 add_part to workaround compiler bug.
7912
30dd48c2
VS
79132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7916
0c6087a8
VS
79172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7920 Reserve alignment invariants.
7921 (grub_multiboot_load): Likewise.
7922 (retrieve_video_parameters): Likewise.
7923 (grub_multiboot_make_mbi): Likewise.
7924
c2e77777
VS
79252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7928 incorrect pointer.
7929
b70b6d11
VS
79302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7933 (grub_pata_pio_write): Likewise.
7934
02a2bf83
VS
79352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 Add noreturn attributes and remove unreachable code.
7938
7939 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7940 code.
7941 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7942 code. Mark as noreturn.
7943 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7944 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7945 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7946 unreachable code.
7947 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7948 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7949 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7950 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7951 * include/grub/kernel.h (grub_main): Mark as noreturn.
7952 * include/grub/reader.h (grub_rescue_run): Likewise.
7953
2019d09e
VS
79542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7957 redundant declaration.
7958
d1c501ee
VS
79592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7962 redundant declaration.
7963 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7964
61664420
VS
79652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7968 to ensure alignment.
7969 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7970 alignment. Ensure tmp alignment.
7971 (grub_cmd_hdparm): Ensure buf alignment.
7972 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7973 to ensure alignment.
7974 (grub_ata_dumpinfo): Ensure text alignment.
7975 (grub_atapi_identify): Preserve alignment invariant.
7976 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7977
0d51ee20
VS
79782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7981 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7982 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7983 * include/grub/misc.h (grub_reboot)
7984 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7985 (grub_halt) [__mips__]: Likewise.
7986
753ef8c1
VS
79872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7990 Remove redundant declaration.
7991 (grub_mmap_get_post64): Likewise.
7992 (grub_mmap_get_upper): Likewise.
7993 (grub_mmap_get_lower): Likewise.
7994
85c85365
VS
79952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7998 uint32_t * to ensure alignment.
7999 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8000
a23f2cc4
VS
80012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8002
93018f64
VS
8003 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8004 uint16_t * to ensure alignment.
8005 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8006 alignment.
8007
80082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
8011 to ensure alignment.
8012 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8013
58acccd6
VS
80142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8017 Handle unaligned pointers.
8018 (u32at): Likewise.
8019 (u64at): Likewise.
8020 (fixup): Use byte access instead of v16at.
8021 (find_attr): Fix imporper usage of v32at.
8022 (read_data): Likewise.
8023 (list_file): Handle byte-swapping and unaligned strings.
8024 (grub_ntfs_label): Likewise.
8025
9b05cad7
VS
80262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8029 as it's not necessarily aligned.
8030
b3950b84
VS
80312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8034 redundant declaration.
8035 (grub_serial_init): Likewise.
8036 (grub_terminfo_init): Likewise.
8037
fcd232b7
VS
80382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8041 function.
8042 (ZAP_HASH_IDX): Likewise.
8043 (ZAP_LEAF_HASH_SHIFT): Likewise.
8044 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8045 (LEAF_HASH): Likewise.
8046 (ZAP_LEAF_NUMCHUNKS): Likewise.
8047 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8048 alignment invariants. Return pointer. All users updated.
8049 (ZAP_LEAF_ENTRY): Make into inline function.
8050 (NBBY): Removed.
8051 (xor): LIkewise.
8052 (xor_out): Use grub_crypto_xor.
8053 (dnode_get_path): Use grub_get_unaligned.
8054 (nvlist_find_value): Likewise.
8055 (grub_zfs_nvlist_lookup_uint64): Likewise.
8056 (grub_zfs_nvlist_lookup_string): Likewise.
8057 (get_nvlist_size): Likewise.
8058 (grub_zfs_open): Likewise.
8059 (fill_fs_info): Likewise.
8060 (grub_zfs_dir): Likewise.
8061 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8062 alignment invariants.
8063 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8064 necessarily aligned.
8065
f138623a
VS
80662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8069
564840dc
VS
80702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8073 arithmetic to conserve alignment invariants.
8074
9b40df20
VS
80752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8078 redundant declaration.
8079 (grub_efiemu_mm_obtain_request): Likewise.
8080 (grub_efiemu_prepare): Likewise.
8081
d1c930f9
VS
80822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8085 to match types.
8086
4c5f3056
VS
80872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8090 case of aunaligned recptr.
8091 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8092 alignment.
8093 (grub_hfsplus_btree_search): Handle unaligned index.
8094
728cba91
VS
80952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8098 to get freetag and skip.
8099
eb561f31
VS
81002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8103 array.
8104 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8105 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8106
20993fbb
VS
81072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8110 name for checksum and fix allocation algorithm.
8111
1f313b94
VS
81122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * include/grub/types.h (grub_properly_aligned_t): New type.
8115 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8116 (grub_get_unaligned16): Add explicit casts.
8117 (grub_get_unaligned32): Likewise.
8118 (grub_get_unaligned64): Likewise.
8119 (grub_set_unaligned16): New function.
8120 (grub_set_unaligned32): Likewise.
8121
47ae27ec
VS
81222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8125
78c2cd1c
VS
81262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8129 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8130 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8131
53072f9b
VS
81322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8135 conditionals.
8136
055dc239
VS
81372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8140 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8141
496bd074
VS
81422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 Unify and improve RAID and crypto xor.
8145
8146 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8147 changed to grub_crypto_xor
8148 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8149 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8150 Use bigger types when possible.
8151
ef6e4335
VS
81522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * grub-core/disk/raid.c (scan_devices): Fix condition.
8155
5d048bf2
VS
81562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8159 Make name a const ptr.
8160
ee533335
VS
81612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8164 first argument a const pointer.
8165 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8166 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8167 proto.
8168 (grub_children_iterate): Likewise.
8169 (grub_machine_mmap_iterate): Remove redundant declaration.
8170
cc8f3668
VS
81712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8174 (grub_cmd_acpi) [!x86]: Disable EBDA.
8175
c5fc563a
VS
81762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 Enable UTF8 in gnulib regexp.
8179
8180 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8181 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8182 (isupper): Use grub_isupper.
8183 (isascii): New inline function.
8184 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8185 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8186 * grub-core/normal/charset.c (grub_utf8_process): New function.
8187 (grub_utf8_to_utf16): Use grub_utf8_process.
8188 (grub_encode_utf8_character): New function.
8189 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8190 * include/grub/charset.h (grub_utf8_process): New declaration.
8191 (grub_encode_utf8_character): Likewise.
8192 * include/grub/misc.h (grub_islower): New inline function.
8193 (grub_isupper): Likewise.
8194 (grub_strchrsub): Moved down to fix the definitions.
8195
0af2346f
VS
81962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8199 specification.
8200
74dbd244
VS
82012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * include/grub/loader.h (grub_loader_register_preboot_hook):
8204 Use struct preboot * and not void * for handle. All users updated.
8205 (grub_loader_unregister_preboot_hook): Likewise.
8206
1bc8f60d
VS
82072011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8210 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8211 UTF-16-BE. All users updated.
8212 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8213 (grub_hfsplus_iterate_dir): Likewise.
8214 (grub_hfsplus_label): Likewise.
8215
48d6e456
VS
82162011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8219
bf3a3857
VS
82202011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Add missing const qualifiers.
8223
8224 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8225 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8226 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8227 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8228 (grub_lvm_check_flag): Likewise.
8229 * grub-core/efiemu/i386/coredetect.c
8230 (grub_efiemu_get_default_core_name): Likewise
8231 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8232 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8233 * grub-core/fs/ntfs.c (fixup): Likewise.
8234 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8235 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8236 (fzap_lookup): Likewise.
8237 (zap_lookup): Likewise.
8238 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8239 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8240 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8241 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8242 (grub_freebsd_add_meta_module): Likewise.
8243 (grub_cmd_freebsd_module): Likewise.
8244 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8245 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8246 (grub_xnu_writetree_get_size): Likewise.
8247 (grub_xnu_writetree_toheap_real): Likewise.
8248 (grub_xnu_find_key): Likewise.
8249 (grub_xnu_create_key): Likewise.
8250 (grub_xnu_create_value): Likewise.
8251 (grub_xnu_register_memory): Likewise.
8252 (grub_xnu_check_os_bundle_required): Likewise.
8253 (grub_xnu_scan_dir_for_kexts): Likewise.
8254 (grub_xnu_load_kext_from_dir): Likewise.
8255 * grub-core/normal/color.c (color_list): Likewise.
8256 * grub-core/normal/completion.c (current_word): Likewise.
8257 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8258 * grub-core/term/serial.c (grub_serial_find): Likewise.
8259 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8260 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8261 Likewise.
8262 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8263 (grub_freebsd_add_meta_module): Likewise.
8264 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8265 * include/grub/net.h (grub_net_card_driver): Likewise.
8266 (grub_net_card): Likewise.
8267 (grub_net_app_protocol): Likewise.
8268 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8269 * include/grub/serial.h (grub_serial_find): Likewise.
8270 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8271 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8272 (grub_xnu_create_value): Likewise.
8273 (grub_xnu_find_key): Likewise.
8274 (grub_xnu_scan_dir_for_kexts): Likewise.
8275 (grub_xnu_load_kext_from_dir): Likewise.
8276
8277 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8278 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8279 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8280 Moved from here ...
8281 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8282
112b4837
CW
82832011-11-28 Colin Watson <cjwatson@ubuntu.com>
8284
8285 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8286
49e891ac
VS
82872011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8290 (read_device): Fix size calculation.
8291
fd258e5c
RM
82922011-11-25 Robert Millan <rmh@gnu.org>
8293
8294 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8295 (find_root_device_from_libzfs): Add zpool output parser to be used
8296 as fallback when libzfs isn't available.
8297
78845dc2
SG
82982011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8299
8300 * po/Makefile.in.in: Add missing escape-continuation.
8301
adac5211
VS
83022011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8305
10b64f1c
VS
83062011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8309
bb416954
VS
83102011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8313
bdfe9eeb
VS
83142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8317
581ffa8a
VS
83182011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/lib/adler32.c: Add missing license specification.
8321 * grub-core/lib/crc64.c: Likewise.
8322 * grub-core/loader/i386/pc/plan9.c: Likewise.
8323 * grub-core/partmap/plan.c: Likewise.
8324
2536cf64
LK
83252011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8326
8327 Add facility to debug GRUB with gdb under qemu.
8328
8329 * grub-core/gdb_grub.in: New file.
8330 * grub-core/gmodule.pl.in: Likewise.
8331 * grub-core/Makefile.core.def (gmodule.pl): New script.
8332 (gdb_grub): Likewise.
8333
bc108a4a
VS
83342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * util/grub-mount.c (argp_parser): Accept relative pathes.
8337 * util/grub-fstest.c (argp_parser): Likewise.
8338
111c1778
VS
83392011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 Plan9 support.
8342
8343 * Makefile.util.def (libgrubmods): Add
8344 grub-core/partmap/plan.c.
8345 * docs/grub.texi: Notice Plan9 support.
8346 * grub-core/Makefile.core.def (plan9): New module.
8347 (part_plan): Likewise.
8348 * grub-core/loader/i386/pc/plan9.c: New file.
8349 * grub-core/partmap/plan.c: Likewise.
8350 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8351 define.
8352 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8353 * include/grub/mm.h (grub_extend_alloc): New inline function.
8354
c30be3b6
VS
83552011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 Make Reed-Solomon faster by using power of generator representation of
8358 GF(256)*.
8359
8360 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8361 (gf_double_t): Likewise.
8362 (gf_invert): Removed.
8363 (gf_powx): New array.
8364 (gf_powx_inv): Likewise.
8365 (scratch): Move higher.
8366 (gf_reduce): Removed.
8367 (gf_mul): Use powx.
8368 (gf_invert): Likewise.
8369 (init_inverts): Replaced with ...
8370 (init_powx): ...this. All users updated.
8371 (pol_evaluate): Replace multiplications with additions.
8372 (rs_encode): Likewise.
8373 (gauss_eliminate): Call gf_invert.
8374 (grub_reed_solomon_add_redundancy): Call init_powx.
8375 (grub_reed_solomon_recover): Call init_powx unconditionally.
8376
fa5aeffc
VS
83772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8380
a346b81c
VS
83812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8384 disk->partiton for safety.
8385
d89ee414
VS
83862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8389 Fix a memory leak.
8390 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8391
91ee7b6d
VS
83922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8395
91e5a33d
VS
83962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8399
9edd7be2
VS
84002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 Fix spaces handling in proc/self/mountinfo.
8403
8404 * util/getroot.c (unescape): New function.
8405 (grub_find_root_device_from_mountinfo): Use unescape.
8406
ba102053
VS
84072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 Support ZFS embedding.
8410
8411 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8412 (grub_zfs_fs): Register grub_zfs_embed.
8413
aa94b870
VS
84142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Fix MIPS compilation.
8417
8418 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8419 * include/grub/offsets.h: Rename decompressor fields from
8420 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8421 * util/grub-mkimage.c (image_targets): Use new names.
8422
5fbdac14
VS
84232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Defer multiboot device parsing until we're in compressed part.
8426
8427 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8428 bsd_part. setdevice has fallen into disuse.
8429 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8430 (bsd_part): Likewise.
8431 (boot_dev): New variable.
8432 (multiboot_trampoline): Don't parse multiboot device.
8433 Pass multiboot device in %edx.
8434 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8435 grub_boot_device.
8436 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8437 Likewise.
8438 * grub-core/kern/i386/pc/startup.S: Save edx.
8439 (grub_boot_drive): Removed.
8440 (grub_install_dos_part): Likewise.
8441 (grub_install_bsd_part): Likewise.
8442 (grub_boot_device): New variable.
8443 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8444 (grub_install_bsd_part): Likewise.
8445 (grub_boot_drive): Likewise.
8446 (grub_boot_device): New variable.
8447 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8448 Removed.
8449 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8450 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8451 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8452 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8453 * util/grub-install.in: Remove redundant condition.
8454
691cbb58
VS
84552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Fix bug introduced by previous commit.
8458
8459 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8460
60240b8b
VS
84612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Use decompressors framework on i386-pc. It increases core size
8464 by 46 bytes but improves compatibility and maintainability.
8465
8466 * grub-core/Makefile.core.def (lzma_decompress): New image.
8467 (kernel): Add i386_pc_ldflags.
8468 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8469 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8470 to real_to_prot, prot_to_real and device info.
8471 * include/grub/offsets.h: Renamed decompressor offsets.
8472 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8473 (image_target_desc): Remove raw_size and rename decompressor fields.
8474 (compress_kernel): Handle lzma.
8475 (generate_image): Handle decompressors on i386-pc.
8476
e9d3421c
VS
84772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * configure.ac: Add -fno-asynchronous-unwind-tables.
8480
2b23074a
VS
84812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 Move assembly code to C by using intwrap. It increases core size
8484 by 88 bytes but improves compatibility and maintainability.
8485
8486 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8487 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8488 ... here. Translated to C.
8489 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8490 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8491 ... here. Translated to C.
8492 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8493 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8494 ... here. Translated to C.
8495 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8496 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8497 ... here. Translated to C.
8498 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8499 * grub-core/term/i386/pc/console.c (grub_console_cls):
8500 ... here. Translated to C.
8501 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8502 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8503 ... here. Translated to C.
8504 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8505 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8506 Translated to C.
8507 * grub-core/term/i386/pc/console.c (int10_9): New function.
8508 (grub_console_putchar): Likewise.
8509 * include/grub/i386/pc/console.h: Removed the not anymore shared
8510 functions.
8511
678f4b67
VS
85122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 Move grub_chainloader_real_boot out of the kernel.
8515
8516 * grub-core/Makefile.am: Remove machine/loader.h.
8517 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8518 Removed.
8519 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8520 variable.
8521 (grub_relocator16_keep_a20_enabled): Likewise.
8522 (grub_relocator16_boot): Fill new variables.
8523 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8524 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8525 relocator.
8526 (grub_chainloader_unload): Likewise.
8527 (grub_chainloader_cmd): Likewise.
8528 * include/grub/i386/pc/loader.h: Removed.
8529 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8530 and esi. All initialisers updated.
8531
4626edf6
VS
85322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
85332011-11-12 Colin Watson <cjwatson@ubuntu.com>
8534
8535 * Makefile.util.def (grub-mount): New util.
8536 * .bzrignore: Add grub-mount.
8537 * configure.ac: Check for fuse and enable grub-mount if available.
8538 * docs/man/grub-mount.h2m: New file.
8539 * util/grub-mount.c: Likewise.
8540
10f0117b
VS
85412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/commands/efi/fixvideo.c: Gettextize.
8544 * grub-core/commands/hashsum.c: Likewise.
8545 * grub-core/commands/i386/cmostest.c: Likewise.
8546 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8547 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8548 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8549 * grub-core/commands/lsmmap.c: Likewise.
8550 * grub-core/commands/menuentry.c: Likewise.
8551 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8552 * grub-core/commands/setpci.c: Likewise.
8553 * grub-core/loader/i386/bsd.c: Likewise.
8554 * grub-core/loader/i386/linux.c: Likewise.
8555 * util/getroot.c: Likewise.
8556 * util/grub-editenv.c: Likewise.
8557 * util/grub-fstest.c: Likewise.
8558 * util/grub-mkfont.c: Likewise.
8559 * util/grub-mkimage.c: Likewise.
8560 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8561 * util/grub-pe2elf.c: Likewise.
8562 * util/grub-probe.c: Likewise.
8563 * util/grub-setup.c: Likewise.
8564 * util/ieee1275/ofpath.c: Likewise.
8565 * util/misc.c: Likewise.
8566 * util/raid.c: Likewise.
8567
566f779b
RM
85682011-11-11 Robert Millan <rmh@gnu.org>
8569
8570 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8571 __attribute__((unused)) from `os_dev', which *is* being used.
8572
b50787de
VS
85732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8576 forgotten define.
8577 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8578 GRUB_IA64_DL_GOT_ALIGN.
8579 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8580 GRUB_IA64_DL_TRAMP_ALIGN.
8581
119d11c8
VS
85822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Replace grub_fatal with normal errors in i386 linux loader.
8585
8586 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8587 (allocate_pages): Check find_efi_mmap_size return value.
8588 (grub_e820_add_region): Return error.
8589 (grub_linux_boot): Check mmap return value.
8590
6e0632e2
VS
85912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/commands/acpihalt.c: Gettextized.
8594 * grub-core/commands/cacheinfo.c: Likewise.
8595 * grub-core/commands/cmp.c: Likewise.
8596 * grub-core/commands/efi/loadbios.c: Likewise.
8597 * grub-core/commands/gptsync.c: Likewise.
8598 * grub-core/commands/ieee1275/suspend.c: Likewise.
8599 * grub-core/commands/legacycfg.c: Likewise.
8600 * grub-core/commands/memrw.c: Likewise.
8601 * grub-core/commands/minicmd.c: Likewise.
8602 * grub-core/commands/parttool.c: Likewise.
8603 * grub-core/commands/time.c: Likewise.
8604 * grub-core/commands/videoinfo.c: Likewise.
8605 * grub-core/disk/geli.c: Likewise.
8606 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8607 * grub-core/disk/luks.c: Likewise.
8608 * grub-core/disk/lvm.c: Likewise.
8609 * grub-core/font/font_cmd.c: Likewise.
8610 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8611 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8612 * grub-core/gfxmenu/view.c: Likewise.
8613 * grub-core/kern/emu/hostdisk.c: Likewise.
8614 * grub-core/kern/emu/main.c: Likewise.
8615 * grub-core/kern/emu/misc.c: Likewise.
8616 * grub-core/kern/emu/mm.c: Likewise.
8617 * grub-core/kern/mips/arc/init.c: Likewise.
8618 * grub-core/kern/mips/loongson/init.c: Likewise.
8619 * grub-core/kern/partition.c: Likewise.
8620 * grub-core/lib/i386/halt.c: Likewise.
8621 * grub-core/lib/mips/arc/reboot.c: Likewise.
8622 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8623 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8624 * grub-core/loader/i386/xnu.c: Likewise.
8625 * grub-core/loader/multiboot.c: Likewise.
8626 * grub-core/net/bootp.c: Likewise.
8627 * grub-core/net/net.c: Likewise.
8628 * grub-core/normal/term.c: Likewise.
8629 * grub-core/partmap/bsdlabel.c: Likewise.
8630 * grub-core/parttool/msdospart.c: Likewise.
8631 * grub-core/term/gfxterm.c: Likewise.
8632 * grub-core/term/terminfo.c: Likewise.
8633 * grub-core/video/i386/pc/vbe.c: Likewise.
8634 * util/grub-menulst2cfg.c: Likewise.
8635 * util/grub-mkdevicemap.c: Likewise.
8636 * util/grub-mklayout.c: Likewise.
8637 * util/grub-mkrelpath.c: Likewise.
8638 * util/grub-script-check.c: Likewise.
8639 * util/ieee1275/grub-ofpathname.c: Likewise.
8640 * util/resolve.c: Likewise.
8641
073aa7a9
VS
86422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 Support %1$d syntax.
8645
8646 * tests/printf_unit_test.c: New file.
8647 * Makefile.util.def (printf_test): New test.
8648 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8649
c76b5417
VS
86502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8653 fix.
8654
df067ad1
VS
86552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8658 dprintf.
8659 * grub-core/font/font.c (grub_font_load): Likewise.
8660
5b289bc5
VS
86612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * util/grub-macho2img.c: Add comment concerning gettext.
8664 * grub-core/lib/legacy_parse.c: Likewise.
8665
c1860f87
VS
86662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8669 (grub_xvasprintf): Likewise.
8670
d35d0d37
VS
86712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 Add const keyword to grub_env_get and gettextize week days.
8674
8675 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8676 (grub_read_hook_datetime): Return const char *.
8677 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8678 updated.
8679 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8680 Mark for gettext.
8681 (grub_get_weekday_name): Return const char *. Call gettext.
8682 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8683 char * and len as the argument. All users updated.
8684 (grub_script_argv_split_append): Receive const char *.
8685 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8686 * include/grub/env.h (grub_env_get): Likewise.
8687 (grub_env_read_hook_t): Return const char *.
8688 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8689 (grub_script_argv_split_append): Likewise.
8690
9aed8a71
VS
86912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8694
067fdf00
VS
86952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8698 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8699
a8bd9d39
VS
87002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8703 Fix prototype.
8704
f7ce5baf
VS
87052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 Fix mips compilation.
8708
8709 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8710 normal decoder.
8711 (hashes): Use in embed decoder as well (for sizes).
8712 (dec_stream_header): Fix embed decompressor logic.
8713 (dec_stream_footer): Likewise.
8714
9bb182f3
VS
87152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8718 an error and not a fatal on unrecognised relocation types.
8719
63a9e6f6
VS
87202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8723 Issue error rather than printf on unknown arguments.
8724
4c458569
VS
87252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8728 Make buf a const.
8729
e2d22baf
VS
87302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8733 Fix module name.
8734
53dc8590
VS
87352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8738 leftover debug printf.
8739
6c189294
VS
87402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8743
f7688369
VS
87442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8747 A stylistic fix.
8748
11a775a3
VS
87492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8752
33f784e8
SL
87532011-11-10 Shea Levy <slevy@tieronedesign.com>
8754
8755 Allow all modules to perform serial IO
8756
8757 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8758 * include/grub/serial.h (grub_serial_port_configure): New inline
8759 function.
8760 (grub_serial_port_fetch): Likewise.
8761 (grub_serial_port_put): Likewise.
8762 (grub_serial_port_fini): Likewise.
8763 (grub_serial_find): New proto.
8764
f6276525
VS
87652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Put symlink at the end of the node and fix a potential
8768 memory corruption.
8769
8770 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8771 Make symlink into an array.
8772 (set_rockridge): Set have_symlink and alloc_dirents.
8773 (grub_iso9660_read_symlink): Use new layout.
8774 (grub_iso9660_iterate_dir): Fix memory corruption.
8775 Use new layout.
8776 (grub_iso9660_dir): Set have_symlink.
8777 (grub_iso9660_open): Likewise.
8778
c3591189
VS
87792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Remove local keyword.
8782
8783 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8784 (version_test_gt): Likewise.
8785 (version_find_latest): Likewise.
8786 (gettext_printf): Likewise.
8787 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8788
cb544caa
VS
87892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8792
45bd824d
VS
87932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 Fix ZFS memory and resource leaks.
8796
8797 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8798 All users updated.
8799 Free type on exit.
8800 (fill_vdev_info): New parameter inserted. All users updated.
8801 (check_pool_label): Likewise.
8802 (scan_disk): Likewise.
8803 (scan_devices): Close non-inserted disks.
8804 (fzap_iterate): Free l.
8805 (unmount_device): Free children descripto memory.
8806
ad9a2f44
VS
88072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8810 argument (access out of bounds).
8811
6b68db81
VS
88122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8815 >= 6 drives.
8816
28840fda
VS
88172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8820 Fix declaration.
8821
8a5a3a5b
VS
88222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 Fix several memory leaks.
8825
8826 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8827 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8828 (grub_cpio_dir): Likewise.
8829 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8830 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8831 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8832 (grub_romfs_label): Likewise.
8833 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8834 (squash_unmount): New function.
8835 (grub_squash_dir): Fix memory leak.
8836 (grub_squash_open): Likewise.
8837 (grub_squash_read): Likewise.
8838 (grub_squash_mtime): Likewise.
8839 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8840 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8841 * util/grub-fstest.c (fstest): Likewise.
8842
57b01250
VS
88432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8846 avoid accessing beyond the array.
8847
19e81ba7
VS
88482011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8851
52b656c0
VS
88522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 Several AFFS fixes.
8855
8856 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8857 (GRUB_AFFS_FLAG_FFS): Removed.
8858 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8859 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8860 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8861 (grub_fshelp_node): Make block 32-bit.
8862 Add block_cache and last_block_cache.
8863 (grub_affs_read_block): Fill and use block cache.
8864 (grub_affs_read_file): Removed.
8865 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8866 boot block.
8867 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8868 safety.
8869 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8870 space.
8871 (grub_affs_close): Free block cache.
8872 (grub_affs_read): Use grub_fshelp_read_file directly.
8873
438a746a
VS
88742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8877 with no error set.
8878
49a45021
VS
88792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8882 used variable.
8883 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8884 Likewise.
8885
3ae17eb8
VS
88862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8889
8890 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8891 byteswap when needed.
8892
27610c38
VS
88932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 Fix FreeBSD compilation.
8896
8897 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8898 to avoid circular dependency.
8899 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8900 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8901 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8902
4a19b601
VS
89032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 Fix ZFS crypto error types.
8906
8907 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8908 (grub_gcm_decrypt): Likewise.
8909 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8910 from PBKDF2.
8911
958ee221
VS
89122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 Illumos support.
8915
8916 * Makefile.util.def (10_illumos): New script.
8917 * configure.ac: Set COND_HOST_ILLUMOS.
8918 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8919 Support Illumos calls.
8920 (find_partition_start) [__sun__]: Likewise.
8921 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8922 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8923 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8924 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8925 device.
8926 * util/grub-probe.c (probe) [__sun__]: Do character check.
8927 * util/grub.d/10_illumos.in: New file.
8928
cac14fb6
VS
89292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Support escaped commas in hostdisk.
8932
8933 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8934 (find_grub_drive): Use unescape_cmp.
8935 (make_device_name): Escape commas.
8936
78e08dc3
VS
89372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8940
9f421dd1
VS
89412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8944 variable.
8945
ed64e9e2
VS
89462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 Support trampoline jumps on powerpc.
8949
8950 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8951 __ia64__ path.
8952 (grub_dl_load_segments): Set mod->sz.
8953 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8954 segments.
8955 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8956 (jump): Likewise.
8957 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8958 function.
8959 (trampoline): New struct.
8960 (trampoline_template): New const.
8961 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8962 * include/grub/dl.h (grub_dl): Add sz element.
8963 [__powerpc__]: Follow __ia64__.
8964 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8965 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8966 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8967 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8968
3084ede4
VS
89692011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 ZFS crypto support.
8972
8973 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8974 * grub-core/Makefile.core.def (zfscrypt): New module.
8975 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8976 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8977 it. All users updated.
8978 (grub_zfs_decrypt): New var.
8979 (grub_zfs_load_key): Likewise.
8980 (zio_checksum_functions): Add SHA256+MAC.
8981 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8982 (zio_read): Handle encrypted blocks.
8983 (zap_verify): Remove incorrect check.
8984 (fzap_iterate): Handle non-standard fzap.
8985 (zap_iterate): Likewise.
8986 (zap_iterate_u64): New function.
8987 (dnode_get_fullpath): Load keys.
8988 * grub-core/fs/zfs/zfscrypt.c: New file.
8989 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8990 (grub_crypto_ecb_encrypt): Make input const.
8991 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8992 (grub_crypto_ecb_encrypt): Make input const.
8993 (GRUB_CIPHER_AES): New macro.
8994 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8995 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8996 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8997 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8998 prefix. All users updated.
8999 (grub_zfs_add_key): New proto.
9000 (grub_zfs_decrypt): Likewise.
9001 (grub_zfs_load_key): Likewise.
9002 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9003 * util/grub-fstest.c (options): Add -K option.
9004 (argp_parser): Likewise.
9005
b632b404
VS
90062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 Support zle compression on ZFS.
9009
9010 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9011 (decomp_table): Add zle.
9012 * include/grub/zfs/zio.h (zio_compress): Add zle.
9013
c7ba4f69
VS
90142011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 Support BtrFS embedding.
9017
9018 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9019 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9020 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9021 * util/grub-setup.c (setup): Use fs embedding if available.
9022 Add additional sanity check.
9023
455377d9
VS
90242011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * util/grub-install.in: Fix condition for config_opt.
9027
c2fd16ca
VS
90282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Support third redundancy strip on raidz3.
9031
9032 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9033 Return error on singularity. All users updated.
9034 (read_device): Don't stop on 3rd failure on raidz3.
9035
8622923b
VS
90362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 Support case-insensitive ZFS subvolumes.
9039
9040 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9041 All users updated.
9042 (zap_hash): Likewise.
9043 (name_cmp): New function.
9044 (zap_leaf_array_equal): New parameter case_insensitive.
9045 All users updated.
9046 (zap_leaf_lookup): Likewise.
9047 (fzap_lookup): Likewise.
9048 (zap_lookup): Likewise.
9049 (dnode_get_path): New parameter case_insensitive. Retrieve case
9050 sensitiviness of a volume. All users updated.
9051 (dnode_get_fullpath): New parameter case_insensitive.
9052 All users updated.
9053 (grub_zfs_dir): Set info.case_insensitiveness.
9054
95f2e860
VS
90552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 Support second redundancy strip on raidz(2,3).
9058
9059 * grub-core/fs/zfs/zfs.c (powx): New array.
9060 (powx_inv): Likewise.
9061 (poly): New const.
9062 (xor_out): New function.
9063 (gf_mul): Likewise.
9064 (recovery): Likewise.
9065 (read_device): Use second redundancy strip.
9066
11ee4389
VS
90672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 Use a power of generator representation of GF(256) multiplication group
9070 to save space time and complexity.
9071
9072 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9073 (raid6_table2): Likewise.
9074 (powx): New array.
9075 (powx_inv): Likewise.
9076 (poly): New const.
9077 (grub_raid_block_mul): Replace with ...
9078 (grub_raid_block_mulx): ...this.
9079 (grub_raid6_init_table): Rewritten.
9080 (grub_raid6_recover): Use power of generator representation.
9081
09e2763f
VS
90822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9085 for the right device.
9086
8bec9a28
VS
90872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9090 expected by grub-mkimage and it's more clear since there is no implicit
9091 padding.
9092
dbd3a32e
VS
90932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9096 disk.
9097 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9098
182c872a
PMH
90992011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9100
9101 * util/grub-mkrescue.in: Fix handling xorriso option.
9102
1e51cabd
VS
91032011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9106 NULL.
9107
9cc3581d 91082011-11-03 crocket <crockabiscuit@gmail.com>
9109
9110 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9111
158dc1ea
VS
91122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 XZ CRC64 and SHA256 support.
9115
9116 * Makefile.util.def (libgrubmods): Add crc64.c.
9117 * grub-core/Makefile.core.def (crc64): New module.
9118 * grub-core/lib/crc64.c: New file.
9119 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9120 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9121 Fix the type.
9122 (MAX_HASH_SIZE): New define.
9123 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9124 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9125 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9126 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9127 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9128 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9129 Handle non-crc32 hashes.
9130 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9131 (dec_stream_header): Handle non-crc32 hashes.
9132 (dec_stream_footer): Likewise.
9133 (dec_block_header): Likewise.
9134 (dec_main): Likewise.
9135 (xz_dec_init): Likewise.
9136 (xz_dec_reset): Likewise.
9137 (xz_dec_end): Likewise.
9138 * util/import_gcry.py: Add CRC64 line.
9139
9d9b3d2f
VS
91402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9143 as well.
9144
7d0ac931
VS
91452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 Make reiserfs label retrieval similar to other *_label functions.
9148
9149 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9150 (REISERFS_MAX_LABEL_LENGTH): Removed.
9151 (REISERFS_LABEL_OFFSET): Likewise.
9152 (grub_reiserfs_label): Rewritten.
9153
91542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9157 field.
9158
cf5ba824
VS
91592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9162
17744004
VS
91632011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9166 drive failure on both raidz and raidz2.
9167
aca5aefc
VS
91682011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 Fix RAIDZ(2) for >= 5 devices.
9171
9172 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9173 asize argument. All users updated.
9174
ce8ca56e
VS
91752011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 Fix RAIDZ(2).
9178
9179 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9180 (fill_vdev_info_real): Set ashift.
9181 (read_device): Rewrite RAIDZ part based on reverse engineering.
9182
7c01e783
VS
91832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9186 don't report potentially unavialiable fields in debug output.
9187 (find_path): Fix double-free and memory leak.
9188
ce109e84
VS
91892011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 Read label on UFS1.
9192
9193 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9194 (grub_ufs_fs): Always set .label.
9195
87661123
VS
91962011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Use shifts in UFS.
9199
9200 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9201 (grub_ufs_data): New field log2_blksz.
9202 (grub_ufs_read_file): Use shifts.
9203 (grub_ufs_mount): Check block size and logarithm it.
9204
46bc1dc2
VS
92052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9208 long symlinks.
9209
19ee2987
VS
92102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Handle symlinks and long names on tar and cpio.
9213
9214 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9215 (ATTR_FILE): Likewise.
9216 (ATTR_DIR): Likewise.
9217 (ATTR_LNK): Likewise.
9218 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9219 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9220 L and K entries.
9221 (grub_cpio_mount): Zero-fill data.
9222 (handle_symlink): New function.
46bc1dc2
VS
9223 (grub_cpio_dir): Handle symlinks.
9224 (grub_cpio_open): Likewise.
9225 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 9226
c83a08d8
VS
92272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 Fix iso9660 filename limitations and fix memory leaks.
9230
9231 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9232 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9233
45cdd3ea
VS
92342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 Fix JFS file name length limitations.
9237
9238 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9239 (grub_jfs_diropen): Fix maximum filename length.
9240 (grub_jfs_getent): Fix filename length.
9241 (grub_jfs_lookup_symlink): Fix size checks.
9242
94ef05c2
VS
92432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9246 string.
9247
785ab8c7
VS
92482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9249
eb0b6b45
VS
9250 Leverage BFS implementation to read AFS.
9251
9252 * Makefile.util.def (libgrubmods): Add afs.c.
9253 * grub-core/Makefile.core.def (afs): New module
9254 * grub-core/fs/afs.c: New file.
9255 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9256
92572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 9260
c4a1628f
VS
92612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/fs/bfs.c: Run indent.
9264
5825b379
VS
92652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 BFS implementation based on the specification.
9268
9269 * grub-core/fs/bfs.c: New file.
9270 * Makefile.util.def (libgrubmods): Add bfs.c.
9271 * grub-core/Makefile.core.def (bfs): New module.
9272
42b2a706
VS
92732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/grub-fstest.c (cmd_cp): Clarify error message.
9276 (cmd_cmp): Likewise.
9277
61b99bfc
YB
92782011-10-30 Yves Blusseau <blusseau@zetam.org>
9279
9280 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9281 and befs_be.
9282
faba3d16
VS
92832011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Remove afs and befs because of copyright problem.
9286
9287 * grub-core/fs/afs.c: Removed.
9288 * grub-core/fs/afs_be.c: Removed.
9289 * grub-core/fs/befs.c: Removed.
9290 * grub-core/fs/befs_be.c: Removed.
9291 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9292 * grub-core/Makefile.core.def (afs): Removed.
9293 (afs_be): Likewise.
9294 (befs): Likewise.
9295 (befs_be): Likewise.
9296
c39224b0
VS
92972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Prefer rockridge over Joliet.
9300
9301 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9302 to ...
9303 (set_rockridge): ... here.
9304 (grub_iso9660_mount): Check rockridge on the primary label when
9305 discovering. Ignore Joliet if Rockridge is present.
9306
e551115a
VS
93072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 Use shifts in nilfs2.
9310
9311 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9312 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9313 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9314 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9315 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9316 (grub_nilfs2_entries_per_block): Replaced with ...
9317 (grub_nilfs2_log_entries_per_block_log): ... this.
9318 (grub_nilfs2_blocks_per_group): Replaced with ...
9319 (grub_nilfs2_blocks_per_group_log): ... this.
9320 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9321 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9322 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9323 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9324 (grub_nilfs2_palloc_entry_offset): Replaced ...
9325 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9326 (grub_nilfs2_dat_translate): Use shifts.
9327 (grub_nilfs2_read_inode): Likewise.
9328 (GRUB_MOD_INIT): Ensure that logs are correct.
9329
564dd58c
VS
93302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 Use shifts in minix filesystem.
9333
9334 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9335 (GRUB_MINIX_ZONE2SECT): Likewise.
9336 (grub_minix_data): Replace block_size with log_block_size.
9337 (grub_minix_read_file): Use shifts.
9338 (grub_minix_mount): Check block size and take a logarithm.
9339
ed9ba06d
VS
93402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 Use shifts in squash4.
9343
9344 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9345 (squash_mount): Check block size and take logarithm.
9346 (direct_read): Use shifts.
9347
ad03fe76
VS
93482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 Correct befs block counting logic.
9351
9352 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9353 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9354 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9355 (grub_afs_read_inode): Use block_shift.
9356 (RANGE_SHIFT): New definition.
9357 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9358 unexpected conditions, use shifts and appropriate types.
9359 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9360
6563f63d
VS
93612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/disk/raid.c (scan_devices): Check partition.
9364 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9365
5b1ae25f
VS
93662011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 Support BFS (befs) UUID.
9369
9370 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9371 (grub_afs_small_data_element_header): New struct.
9372 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9373 (grub_afs_read_attribute) [MODE_BFS]: New function.
9374 (grub_afs_iterate_dir): Allocate for complete inode.
9375 (grub_afs_mount): Likewise.
9376 (grub_afs_uuid) [MODE_BFS]: New function.
9377 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9378
f8d82408
VS
93792011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9382 (zfs_unmount): Fix memory leak.
9383
5773fb64
VS
93842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 Support NTFS reparse points.
9387
9388 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9389 (symlink_descriptor): New struct.
9390 (grub_ntfs_read_symlink): New function.
9391 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9392 (grub_ntfs_open): Likewise.
9393
91c3fdde
VS
93942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9397
3be82e10
VS
93982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 fstest xnu_uuid subcommand.
9401
9402 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9403 grub-core/commands/xnu_uuid.c.
9404 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9405 (fstest): Handle xnu_uuid.
9406 (options): Document xnu_uuid.
9407 (argp_parser): Parse xnu_uuid.
9408
8e32442e
VS
94092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9412 -l argument. Add newline at the end if printing.
9413 (GRUB_MOD_INIT): Document -l.
9414
52a05075
VS
94152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9418
1869edb5
VS
94192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 ZFS multi-device and version 33 support.
9422
9423 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9424 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9425 (grub_zfs_data): Add multidev-ice-related fields.
9426 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9427 (dva_get_offset): Make dva const.
9428 (zfs_fetch_nvlist): New function.
9429 (fill_vdev_info_real): Likewise.
9430 (fill_vdev_info): Likewise.
9431 (check_pool_label): Likewise.
9432 (scan_disk): Likewise.
9433 (scan_devices): Likewise.
9434 (read_device): Likewise.
9435 (read_dva): Likewise.
9436 (zio_read_gang): Use read_dva.
9437 (zio_read_data): Likewise.
9438 (zap_leaf_lookup): Add missing endian conversion.
9439 (zap_verify): Add missing endian conversion. All users updated.
9440 (fzap_lookup): Likewise.
9441 (fzap_iterate): Likewise.
9442 (dnode_get_path): Handle SA bonus.
9443 (nvlist_find_value): Make input const. All users updated.
9444 (unmount_device): New function.
9445 (zfs_unmount): Use unmount_device.
9446 (zfs_mount): Use scan_disk.
9447 (zfs_mtime): New function.
9448 (grub_zfs_open): Handle system attributes.
9449 (fill_fs_info): Likewise.
9450 (grub_zfs_dir): Likewise.
9451 (grub_zfs_fs): Add mtime.
9452 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9453 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9454 (SA_MTIME_OFFSET): Likewise.
9455 (SA_SYMLINK_OFFSET): Likewise.
9456 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9457 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9458 (fstest): Support zfsinfo.
9459 (argp_parser): Likewise.
9460
186b4028
VS
94612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9464 error.
9465
94662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9467
9468 ZFS fixes.
9469
9470 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9471 sharing the same block. Iterate over correct number of indices.
9472 (dnode_get_path): Handle symlinks correctly.
9473
c0584900
VS
94742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9477
67e2bd71
VS
94782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Read label on HFS+.
9481
9482 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9483 (grub_hfsplus_btree_search): Fix types.
9484 (grub_hfsplus_label): Implement.
9485
e9cc6b7b
VS
94862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9489
19832ddb
VS
94902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9493
66b40850
VS
94942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 Fix symlink handling on iso9660.
9497
9498 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9499 All users updated.
9500 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9501 (grub_iso9660_read_symlink): Moved most of code ...
9502 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9503
db821363
VS
95042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9507 Use union to avoid breaking strict-aliasing rules.
9508
e1211949
VS
95092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 Support multi-extent iso files.
9512
9513 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9514 Add node.
9515 (grub_fshelp_node): Revamp. All users updated.
9516 (FLAG_*): New enum.
9517 (read_node): New function.
9518 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9519 All users updated.
9520 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9521 (get_node_size): New function.
9522 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9523 entries.
9524 Fix memory leak on . and ..
9525 (grub_iso9660_read): Use read_node.
9526 (grub_iso9660_close): Free node.
9527
d4888031
VS
95282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Fix tar 4G limit and handle paths containing dot.
9531
9532 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9533 (canonicalize): New function.
9534 (grub_cpio_find_file): Use canonicalize. Store offs in
9535 grub_disk_addr_t.
9536 (grub_cpio_dir): Use grub_disk_addr_t.
9537 (grub_cpio_open): Likewise.
9538
9f12e664
VS
95392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9542
9543 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9544 unused flags.
9545 (grub_squash_inode): Add long_file and block_size.
9546 (grub_squash_cache_inode): New struct.
9547 (grub_squash_dirent): Make types into enum.
9548 (SQUASH_TYPE_LONG_REGULAR): New type.
9549 (grub_squash_frag_desc): Add field size.
9550 (SQUASH_BLOCK_FLAGS): New enum.
9551 (grub_squash_data): Use grub_squash_cache_inode.
9552 (grub_fshelp_node): Make ino_chunk 64-bit.
9553 (read_chunk): Minor argument change. All users updated.
9554 (squash_mount): Use correct le_to_cpu.
9555 (grub_squash_open): Handle LONG_REGULAR.
9556 (direct_read): New function.
9557 (grub_squash_read_data): Handle blocks correctly.
9558
9f326fba
VS
95592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9562
f4d9b64b
VS
95632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9566
5bbd28b8
VS
95672011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 Fix 2G limit on ZFS.
9570
9571 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9572 types.
9573 (uberblock_verify): Likewise.
9574 (dmu_read): Likewise.
9575 (grub_zfs_read): Likewise. Remove invalid cast.
9576
68c72069
VS
95772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9580 (grub_jfs_blkno): Fix incorrect shift.
9581 (grub_jfs_read_file): Use more appropriate types.
9582
6e536dc8
VS
95832011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 Support triple indirect on minix2 and minix3.
9586
9587 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9588 Declare triple_indir_zone.
9589 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9590 indirect.
9591
e0864e7a
VS
95922011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 Minix FS fixes.
9595
9596 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9597 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9598 Rename ctime to mtime. All users updated.
9599 (grub_minix_get_file_block): Fix types and double indirect computations.
9600
89481cab
VS
96012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9604 if no label is found.
9605 (grub_fat_iterate_dir): Fix file size type.
9606 (grub_fat_iterate_dir): Likewise.
9607
f646e143
VS
96082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9611 save some space.
9612 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9613 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9614
534d769e
VS
96152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9618
e084ba18
VS
96192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * util/import_gcry.py: Accept space between # and include.
9622
3471ecdf
VS
96232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9626
124df5f6
VS
96272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9630
9631 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9632 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9633 yylex_strncpy.
9634 * grub-core/script/yylex.l: Add fine-grained #pragma.
9635
4defb8d5
VS
96362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9639 New inline function.
9640 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9641 Likewise.
9642 (memset) [GRUB_UTIL]: Likewise.
9643 (memcmp) [GRUB_UTIL]: Likewise.
9644
4e94ae65
VS
96452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9648 inline function rather than a define.
9649
18c575e5
VS
96502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * util/grub-setup.c: Add missing include.
9653
f8bc22a8
VS
96542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * util/ieee1275/grub-ofpathname.c: Add missing include.
9657
3ce69fc9
VS
96582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9661 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9662 Likewise.
9663
d1e293bb
VS
96642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9667 grub_memcmp usage.
9668
7a5c54a4
VS
96692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * util/grub-install.in: Add datarootdir as per automake manual
9672 suggestion.
9673 * util/grub-mknetdir.in: Likewise.
9674
96752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9676
9677 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9678 suggestion.
9679 * util/grub.d/10_kfreebsd.in: Likewise.
9680 * util/grub.d/10_linux.in: Likewise.
9681 * util/grub.d/10_netbsd.in: Likewise.
9682 * util/grub.d/10_windows.in: Likewise.
9683 * util/grub.d/20_linux_xen.in: Likewise.
9684
766f7d08
VS
96852011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 Remove redundant grub_kernel_image_size.
9688
9689 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9690 _edata and _start.
9691 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9692 the small code. It moves it only by few bytes but simplifies the code.
9693 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9694 _start.
9695 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9696 (grub_kernel_image_size): Removed.
9697 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9698 (grub_kernel_image_size): Removed.
9699 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9700 compiled with Apple toolchain.
9701 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9702 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9703 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9704 (grub_total_module_size): Likewise.
9705 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9706 Removed.
9707 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9708 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9709 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9710 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9711 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9712 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9713 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9714 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9715 Removed.
9716 (grub_total_module_size): Removed.
9717 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9718 (image_targets): Likewise.
9719 Set .compressed_size to no field on sparc.
9720 (generate_image): Remove kernel_image_size handling.
9721
fcf1d672
SJ
97222011-10-19 Szymon Janc <szymon@janc.net.pl>
9723
9724 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9725 NULL pointer dereference.
9726
de9c615e
VS
97272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9730 done with a dedicated section.
9731
9732 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9733 Ensure the correct position of boot_path.
9734 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9735 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9736 other fields.
9737 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9738 * include/grub/boot.h: Removed. All references removed.
9739 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9740 Removed.
9741 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9742
e55599dc
VS
97432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9746 name.
9747
36dd20ad
VS
97482011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9751
f8f72eb8
VS
97522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9755 Don't add the bogus brackets.
9756
a374751b
VS
97572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 ExFAT support.
9760
9761 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9762 * grub-core/Makefile.core.def (exfat): New module.
9763 * grub-core/fs/exfat.c: New file.
9764 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9765 (GRUB_FAT_ATTR_*): Make into an enum.
9766 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9767 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9768 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9769 (GRUB_FAT_MAXFILE): Removed.
9770 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9771 (grub_current_fat_bpb_t): New type.
9772 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9773 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9774 (grub_fat_dir_node_t): New type.
9775 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9776 (fat_log2) [MODE_EXFAT]: Removed.
9777 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9778 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9779 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9780 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9781 (grub_fat_label) [MODE_EXFAT]: New function.
9782 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9783 reserved_first_sector to 0.
9784
544c2487
VS
97852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 Move grub_reboot out of the kernel.
9788
9789 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9790 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9791 * grub-core/lib/efi/reboot.c: ... here.
9792 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9793 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9794 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9795 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9796 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9797 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9798 * grub-core/lib/ieee1275/reboot.c: ... here.
9799 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9800 * grub-core/lib/mips/arc/reboot.c: ... here.
9801 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9802 * grub-core/lib/mips/loongson/reboot.c: ...here.
9803 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9804 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9805 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9806 * include/grub/i386/reboot.h: New file.
9807 * include/grub/mips/loongson/ec.h: Fix includes.
9808 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9809 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9810 * grub-core/lib/i386/reboot.c: New file.
9811
a97501d2
VS
98122011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 Make grub_prefix into module to fix the arbitrary limit and save
9815 some space.
9816
9817 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9818 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9819 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9820 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9821 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9822 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9823 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9824 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9825 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9826 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9827 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9828 * include/grub/ia64/efi/kernel.h: Removed.
9829 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9830 (grub_prefix): Removed.
9831 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9832 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9833 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9834 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9835 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9836 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9837 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9838 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9839 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9840 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9841 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9842 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9843 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9844 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9845 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9846 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9847 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9848 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9849 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9850 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9851 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9852 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9853 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9854 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9855 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9856 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9857 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9858 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9859 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9860 from module.
9861 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9862 prefix_end.
9863 (image_targets): Likewise.
9864 (generate_image): Put prefix as a module.
9865
39705fad
VS
98662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 Replace grub_module_iterate with FOR_MODULES.
9869
9870 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9871 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9872 (grub_efi_modules_addr): ...this.
9873 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9874 (grub_efi_init): Set grub_modbase.
9875 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9876 (grub_modbase): New variable.
9877 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9878 (grub_modbase): New variable.
9879 (grub_machine_init): Set grub_modbase.
9880 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9881 (grub_modbase): New variable.
9882 (grub_machine_init): Set grub_modbase.
9883 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9884 (grub_modbase): New variable.
9885 (grub_machine_init): Set grub_modbase.
9886 * grub-core/kern/main.c (grub_module_iterate): Remove.
9887 (grub_modules_get_end): Use grub_modbase.
9888 (grub_load_modules): Use FOR_MODULES.
9889 (grub_load_config): Likewise.
9890 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9891 (grub_modbase): New variable.
9892 (grub_machine_init): Set grub_modbase.
9893 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9894 (grub_modbase): New variable.
9895 (grub_machine_init): Set grub_modbase.
9896 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9897 Removed.
9898 (grub_modbase): New variable.
9899 (grub_machine_init): Set grub_modbase.
9900 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9901 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9902 (grub_module_iterate): Likewise.
9903 (grub_modbase): New variable declaration.
9904 (FOR_MODULES): New macro.
9905
2afb7f6c
VS
99062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9909 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9910
366e34fa
VS
99112011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 Fix few obvious type discrepancies.
9914
9915 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9916 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9917 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9918 variable.
9919 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9920 and connected types.
9921 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9922 offset.
9923 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9924 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9925 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9926 and connected types.
9927
177b960e
VS
99282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 Fix python 3.x incompatibilities.
9931
9932 * gentpl.py: Put brackets around print strings.
9933 * util/import_gcry.py: Open explicitly as utf-8.
9934 Use in instead of has_key.
9935
3b619ae1
VS
99362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9939 (GRUB_XFS_INO_AGBITS): Make into inline function.
9940 (GRUB_XFS_INO_INOINAG): Likewise.
9941 (GRUB_XFS_INO_AG): Likewise.
9942 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9943 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9944 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9945 (GRUB_XFS_EXTENT_SIZE): Likewise.
9946 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9947 (GRUB_XFS_NEXT_DIRENT): Likewise.
9948 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9949 (grub_xfs_read_file): Fix offset type.
9950
8bcebcb8
RM
99512011-10-15 Robert Millan <rmh@gnu.org>
9952
9953 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9954
0017e5ef
RM
99552011-10-15 Robert Millan <rmh@gnu.org>
9956
9957 Fix build problem on FreeBSD and GNU/kFreeBSD.
9958
9959 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9960
d8919552
VS
99612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9964
9965 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9966 types.
9967 (grub_hfsplus_btree_recoffset): Likewise.
9968 (grub_hfsplus_btree_recptr): Likewise.
9969 (grub_hfsplus_find_block): Likewise.
9970 (grub_hfsplus_btree_search): Likewise.
9971 (grub_hfsplus_read_block): Likewise.
9972 (grub_hfsplus_read_file): Likewise.
9973 (grub_hfsplus_mount): Likewise.
9974 (grub_hfsplus_btree_iterate_node): Likewise.
9975 (grub_hfsplus_btree_search): Likewise.
9976 (grub_hfsplus_iterate_dir): Likewise.
9977 (grub_hfsplus_read): A small code simplification.
9978
c81296b6
VS
99792011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/kern/emu/hostdisk.c
9982 (convert_system_partition_to_system_disk): Don't assume that children
9983 of mapper nodes are mapper nodes.
9984
0eb8ffb1
VS
99852011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9988 * include/grub/misc.h (grub_isxdigit): New function.
9989 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9990 switched to grub_isxdigit.
9991 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9992 number starting with a letter.
9993
a98f4a08
RM
99942011-10-09 Robert Millan <rmh@gnu.org>
9995
9996 LVM support for FreeBSD and GNU/kFreeBSD.
9997
9998 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9999 GNU/kFreeBSD.
10000 (LVM_DEV_MAPPER_STRING): Move from here ...
10001 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10002 * util/getroot.c: Include `<grub/util/lvm.h>'.
10003 (grub_util_get_dev_abstraction): Enable
10004 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10005 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10006 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10007 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10008 support it.
10009 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10010 GNU/kFreeBSD.
10011 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10012 when LVM abstraction is required for ${GRUB_DEVICE}.
10013
050e8e90
SJ
100142011-10-06 Szymon Janc <szymon@janc.net.pl>
10015
10016 Add support for LZO compression in GRUB:
10017 - import of minilzo library,
10018 - LZO decompression for btrfs,
10019 - lzop files decompression.
10020
10021 * grub-core/io/lzopio.c: New file.
10022 * grub-core/lib/adler32.c: Likewise.
10023 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10024 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10025 * grub-core/lib/minilzo/minilzo.c: Likewise.
10026 * grub-core/lib/minilzo/minilzo.h: Likewise.
10027 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10028 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10029 grub-core/lib/minilzo/minilzo.c to common.
10030 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10031 cflags in cppflags.
10032 * grub-core/Makefile.core.def (btrfs): Likewise.
10033 * grub-core/Makefile.core.def (lzopio): New module.
10034 (adler32): Likewise.
10035 * grub-core/fs/btrfs.c: Include minilzo.h.
10036 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10037 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10038 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10039 (grub_btrfs_lzo_decompress): New function.
10040 (grub_btrfs_extent_read): Add support for LZO compression type.
10041 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10042 (GRUB_USHRT_MAX): Likewise.
10043 (GRUB_UINT_MAX): Likewise.
10044 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10045 (UINT_MAX): Likewise.
10046 (CHAR_BIT): Likewise.
10047 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10048 grub-core/lib/posix_wrap/limits.h
10049 (UCHAR_MAX): Likewise.
10050 * include/grub/file.h (grub_file_filter_id): New compression filter
10051 GRUB_FILE_FILTER_LZOPIO.
10052 * include/grub/file.h (grub_file_filter_id): Set
10053 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10054 * include/grub/types.h (grub_get_unaligned16): New function.
10055 (grub_get_unaligned32): Likewise.
10056 (grub_get_unaligned64): Likewise.
10057 * util/import_gcry.py (cryptolist): Add adler32.
10058
0eb8ffb1
VS
100592011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10062 in perspective decreases the complexity of build system and fixes
10063 compilation right now.
10064
ce79cc99 100652011-10-01 Ales Nesrsta <starous@volny.cz>
10066
10067 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10068 (fixed problem related to using UHCI with coreboot).
10069
8667a314
BC
100702011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10071
10072 * gentpl.py: Use Autogen macros so that the output template file
10073 (Makefile.tpl) size is reduced.
10074
fc5efcc0
MK
100752011-09-29 Mads Kiilerich <mads@kiilerich.com>
10076
10077 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10078 extra_dist.
10079
d1ab689d
ML
100802011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10081
10082 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10083 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10084
c05de032
ML
100852011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10086
10087 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10088 _fullpath.
10089
cca7ccd8
ML
100902011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10091
10092 Remove extra declaration of sleep for mingw32.
10093
10094 * util/misc.c (sleep) [__MINGW32__]: Removed.
10095 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10096
e0b0dc83
GS
100972011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10098
10099 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10100 type and packname.
10101 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10102 Resurrected.
10103 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10104 (grub_netbsd_btinfo_bootwedge): New struct.
10105 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10106 New function.
10107 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10108
91a1a164
TH
101092011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10110
10111 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10112 loader.
10113
2ded951e
AB
101142011-09-28 Andreas Born <futur.andy@googlemail.com>
10115
10116 Fix incorrect identifiers in bash-completion.
10117
10118 * util/bash-completion.d/grub-completion.bash.in
10119 (_grub_mkpasswd-pbkdf2): Rename to ...
10120 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10121 (_grub_script-check): Rename to ...
10122 (_grub_script_check): ... this. All users updated.
10123
69915030
VS
101242011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10127 Return 0 if disk isn't biosdisk.
10128
20fd15f9
GS
101292011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10130
10131 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10132 on NetBSD.
10133 * Makefile.util.def (grub-fstest): Likewise.
10134
1a7d7db9
GS
101352011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10136
10137 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10138 Get sector size from disk label.
10139
2221ab6c
CW
101402011-09-05 Colin Watson <cjwatson@ubuntu.com>
10141
10142 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10143 */README* as well as README*.
10144 Reported by: Axel Beckert.
10145
ca51c4a0
VS
101462011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10149 case of less than 256 MiB of RAM.
10150
ab80f326
VS
101512011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * grub-core/commands/wildcard.c (make_regex): Handle @.
10154
4155e697
VS
101552011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10158
ab178c08
SJ
101592011-08-21 Szymon Janc <szymon@janc.net.pl>
10160
10161 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10162 AC_LANG_CONFTEST macros.
10163
7dc3c686
SJ
101642011-08-20 Szymon Janc <szymon@janc.net.pl>
10165
10166 Add grub-fstest option to uncompress data for commands.
10167
10168 * util/grub-fstest.c (uncompress): New var.
10169 (options): New option -u.
10170
fe8d4a7b
SJ
101712011-08-20 Szymon Janc <szymon@janc.net.pl>
10172
10173 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10174 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10175
a5219af1
SJ
101762011-08-20 Szymon Janc <szymon@janc.net.pl>
10177
10178 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10179 file type was not recognized correctly (not gzip or corrupted).
10180
f87abff5
VS
101812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10184 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10185
d94497ea
VS
101862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10189 loongson.
10190 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10191 video_radeon_fuloong2e.
10192 * grub-core/video/radeon_fuloong2e.c: New file.
10193 * include/grub/video.h (grub_video_id_t): Add new ID
10194 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10195
0d1fd011
VS
101962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10199 define.
10200 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10201 that PRID matches the detected subplatform and reset the subplatform
10202 if it doesn't.
10203
84beb0ee
VS
102042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10207
1227c133
VS
102082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 Fix PCI iterating on functions >= 4.
10211
10212 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10213 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10214 Removed.
10215 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10216 (grub_pci_read): Fix bitmask.
10217 (grub_pci_read_word): Likewise.
10218 (grub_pci_read_byte): Likewise.
10219 (grub_pci_write): Likewise.
10220 (grub_pci_write_word): Likewise.
10221 (grub_pci_write_byte): Likewise.
10222
9594c689
VS
102232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10226 can still be specified in TARGET_CFLAGS)
10227
14a2562c
VS
102282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10231
10232 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10233 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10234 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10235 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10236 (FULOONG): Rename to ...
10237 (FULOONG2F): ... this. All users updated.
10238 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10239 (machtype_fuloong2f_str): ... this.
10240 (machtype_fuloong2e_str): New string.
10241 Check for machtype_fuloong2e_str.
10242 * grub-core/loader/mips/linux.c (loongson_machtypes)
10243 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10244 * grub-core/term/serial.c (loongson_defserial)
10245 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10246 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10247 loongson_defserial.
10248 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10249 Rename to ...
10250 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10251 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10252 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10253 to IMAGE_FULOONG2F_FLASH. All users updated.
10254 (image_targets): Rename images.
10255 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10256
b526cbb6
SJ
102572011-08-19 Szymon Janc <szymon@janc.net.pl>
10258
10259 Make enable of disk cache statistics code configurable.
10260
10261 * configure.ac: --enable-cache-stats added.
10262 * config.h.in (DISK_CACHE_STATS): New define.
10263 * grub-core/Makefile.core.def (cacheinfo): New command.
10264 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10265 * grub-core/commands/cacheinfo.c: New file.
10266 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10267 moved to cacheinfo.c.
10268 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10269 debug code.
10270 * include/grub/disk.h: Likewise.
10271
fb739ccd
SJ
102722011-08-19 Szymon Janc <szymon@janc.net.pl>
10273
10274 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10275 * grub-core/Makefile.am: Likewise.
10276
2bba8cfd
VS
102772011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10280 non-zero pull.
10281
43526629
VS
102822011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10285 All users updated.
10286 (grub_jfs_lookup_symlink): Use correct starting inode.
10287
5c144cc8
VS
102882011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * util/grub-setup.c (main): Add missing gcry initialisation.
10291
b1257f65
VS
102922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 Don't accept text modes on EFI when booting Linux.
10295
10296 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10297 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10298
828bc390
ML
102992011-08-15 Mario Limonciello <mario_limonciello@dell.com>
103002011-08-15 Colin Watson <cjwatson@ubuntu.com>
10301
10302 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10303 use of "/path/.." as in grub-install for EFI as well as handling
10304 symlinks correctly.
10305 Fixes Debian bug #637768.
10306
5f60ccac
CW
103072011-08-15 Colin Watson <cjwatson@ubuntu.com>
10308
10309 * util/grub-probe.c: Remove duplicate #include.
10310
6dc212f9
RM
103112011-08-10 Robert Millan <rmh@gnu.org>
10312
10313 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10314
10315 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10316 function.
10317 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10318 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10319
66816d85
RM
103202011-08-03 Robert Millan <rmh@gnu.org>
10321
10322 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10323 la_array as packed.
10324 Reported by: Zachary Bedell
10325
20168fca
CW
103262011-07-26 Colin Watson <cjwatson@ubuntu.com>
10327
10328 * configure.ac: The Loongson port requires grub-mkfont due to its
10329 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10330 be built.
10331
303b6246
CW
103322011-07-26 Colin Watson <cjwatson@ubuntu.com>
10333
10334 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10335 processing arguments (otherwise help2man fails when GRUB has not yet
10336 been installed).
10337
6795300e
VS
103382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10339
41aa28ea
VS
10340 New script grub-mkstandalone.
10341
10342 * Makefile.util.def (grub-mkstandalone): New script.
10343 * docs/man/grub-mkstandalone.h2m: New file.
10344 * util/grub-mkstandalone.in: Likewise.
10345
103462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 Support ATA disks with 4K sectors.
6795300e
VS
10349
10350 * include/grub/ata.h (grub_ata): New member log_sector_size.
10351 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10352 (grub_ata_identify): Read sector size.
10353 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10354
92227597
VS
103552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * util/grub-install.in: Don't use uhci outside of x86.
10358
c77069f5
VS
103592011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * util/grub-mkrescue.in: Add missing quotes.
10362
103632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
10364
10365 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10366 dereference.
10367
583168a2
VS
103682011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10371
6be1c01f
VS
103722011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * include/grub/video.h: add missing EXPORT_FUND on
10375 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10376
a1167439
VS
103772011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * include/grub/mips/kernel.h: Fix define conflict.
10380
bf66054f
VS
103812011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10384 all four ways.
10385
8fc4fa45
CW
103862011-07-21 Colin Watson <cjwatson@ubuntu.com>
10387
10388 Preferred resolution detection for VBE.
10389
10390 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10391 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10392 the Flat Panel extension, in line with the X.org VESA driver.
10393 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10394 New function.
10395 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10396 (grub_vbe_bios_read_edid): Likewise.
10397 (grub_vbe_get_preferred_mode): Likewise.
10398 (grub_video_vbe_setup): When the mode is "auto", try to get the
10399 preferred mode from VBE, and use the largest mode that is no larger
10400 than the preferred mode (some BIOSes expose a preferred mode that is
10401 not in their mode list!). If this fails, fall back to 640x480 as a
10402 safe conservative choice.
10403 (grub_video_vbe_get_edid): New function.
10404 (grub_video_vbe_adapter): Add get_edid.
10405 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10406 (struct grub_video_adapter): Add get_edid.
10407 (grub_video_edid_checksum): Add prototype.
10408 (grub_video_edid_preferred_mode): Likewise.
10409 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10410 structure.
10411
10412 * grub-core/commands/videoinfo.c (print_edid): New function.
10413 (grub_cmd_videoinfo): Print EDID if available.
10414
10415 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10416 is more appropriate on a wider range of platforms than 640x480.
10417 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10418 documentation.
10419
ca5572a9
VS
104202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10423
e4bcf625
VS
104242011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * po/POTFILES.in: Regenerate.
10427
c4edd548
VS
104282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10431 incorrect memory usage.
10432
16a2bab0
VS
104332011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * util/grub-install.in: Source grub-mkconfig_lib.
10436
2e418de6
VS
104372011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 Remove getroot.c from core on emu platform.
10440
10441 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10442 kern/emu/raid.c.
10443 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10444 useless.
10445 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10446 * util/getroot.c (get_win32_path): ... here.
10447 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10448 * util/getroot.c (fini_libzfs): ... here.
10449 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10450 * util/getroot.c (grub_get_libzfs_handle): ... here.
10451 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10452 Moved from here...
10453 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10454 * grub-core/kern/emu/misc.c
10455 (grub_make_system_path_relative_to_its_root): Moved from here...
10456 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10457 * grub-core/kern/emu/getroot.c: Moved from here ...
10458 * util/getroot.c: ... here. All users updated.
10459 * grub-core/kern/emu/raid.c: Moved from here ...
10460 * util/raid.c: ... here. All users updated.
10461
def9832a
VS
104622011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 * po/POTFILES.in: Regenerate.
10465
cd8fe79a
VS
104662011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 Fix compilation on GNU/Linux.
10469
10470 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10471 Disable geli.
10472 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10473 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10474 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10475
a251b719
VS
104762011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
104772011-07-07 Michael Gorven <michael@gorven.za.net>
104782011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10479
10480 LUKS and GELI support.
10481
10482 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10483 grub-core/disk/luks.c, grub-core/disk/geli.c,
10484 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10485 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10486 grub-core/lib/arg.c.
10487 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10488 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10489 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10490 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10491 (grub-bin2h): Add libgcry.a.
10492 (grub-mkimage): Likewise.
10493 (grub-mkrelpath): Likewise.
10494 (grub-script-check): Likewise.
10495 (grub-editenv): Likewise.
10496 (grub-mkpasswd-pbkdf2): Likewise.
10497 (grub-pe2elf): Likewise.
10498 (grub-fstest): Likewise.
10499 (grub-mkfont): Likewise.
10500 (grub-mkdevicemap): Likewise.
10501 (grub-probe): Likewise.
10502 (grub-ofpath): Likewise.
10503 (grub-mklayout): Likewise.
10504 (example_unit_test): Likewise.
10505 (grub-menulst2cfg): Likewise.
10506 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10507 * grub-core/Makefile.core.def (cryptodisk): New module.
10508 (luks): Likewise.
10509 (geli): Likewise.
10510 * grub-core/disk/AFSplitter.c: New file.
10511 * grub-core/disk/cryptodisk.c: Likewise.
10512 * grub-core/disk/geli.c: Likewise.
10513 * grub-core/disk/luks.c: Likewise.
10514 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10515 grub_util_is_lvm.
10516 (grub_util_get_dm_abstraction): New function.
10517 (grub_util_follow_gpart_up): Likewise.
10518 (grub_util_get_geom_abstraction): Likewise.
10519 (grub_util_get_dev_abstraction): Use new functions.
10520 (grub_util_pull_device): Pull GELI and LUKS.
10521 (grub_util_get_grub_dev): Handle LUKS and GELI.
10522 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10523 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10524 (follow_geom_up): Removed.
10525 (grub_util_fd_seek): New function.
10526 (open_device): Use grub_util_fd_seek.
10527 (nread): Rename to ..
10528 (grub_util_fd_read): ... this. All users updated.
10529 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10530 (grub_crypto_cbc_decrypt): Likewise.
10531 (grub_crypto_hmac_write): Likewise.
10532 (grub_crypto_hmac_buffer): Likewise.
10533 (grub_password_get): Extend to util.
10534 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10535 New member modname.
10536 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10537 * include/grub/cryptodisk.h: New file.
10538 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10539 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10540 LUKS and GELI.
10541 (grub_util_follow_gpart_up): New proto.
10542 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10543 (grub_util_fd_read): Likewise.
10544 (grub_cryptodisk_cheat_mount): Likewise.
10545 (grub_util_cryptodisk_print_uuid): Likewise.
10546 (grub_util_get_fd_sectors): Likewise.
10547 * util/grub-fstest.c (mount_crypt): New var.
10548 (fstest): Mount crypto if requested.
10549 (options): New option -C.
10550 (argp_parser): Parse -C.
10551 (main): Init and fini gcry.
10552 * util/grub-install.in: Support cryptodisk install.
10553 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10554 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10555 cryptodisk.
10556 (prepare_grub_to_access_device): Likewise.
10557 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10558 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10559 (probe_cryptodisk_uuid): New function.
10560 (probe_abstraction): Likewise.
10561 (probe): Use new functions.
10562 * util/import_gcry.py: Create Makefile.utilgcry.def.
10563 Add modname member.
10564
9bfdcbbc
VS
105652011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 Lazy device scanning.
10568
10569 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10570 (grub-setup): Remove util/raid.c.
10571 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10572 * grub-core/disk/lvm.c (scan_depth): New variable.
10573 (grub_lvm_iterate): Rescan if necessary.
10574 (find_lv): New function based on grub_lvm_open.
10575 (grub_lvm_open): Use find_lv. Rescan on error.
10576 (is_node_readable): New function.
10577 (is_lv_readable): Likewise.
10578 (grub_lvm_scan_device): Skip already found disks.
10579 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10580 Stop if searched device is found and readable.
10581 * grub-core/disk/raid.c (inscnt): New variable.
10582 (scan_depth): Likewise.
10583 (scan_devices): New function based on grub_raid_register. Abort if
10584 looked for device is found.
10585 (grub_raid_iterate): Rescan if needed.
10586 (find_array): NEw function based on -grub_raid_open.
10587 (grub_raid_open): Use find_array and rescan.
10588 (insert_array): Set became_readable_at.
10589 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10590 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10591 New function.
10592 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10593 (grub_util_pull_device): New function.
10594 (grub_util_get_grub_dev): Call grub_util_pull_device.
10595 * util/raid.c: Moved to ..
10596 * grub-core/kern/emu/raid.c: ... here.
10597 (grub_util_raid_getmembers): New parameter "bootable".
10598 All users updated. Support 1.x.
10599 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10600 All users updated.
10601 * include/grub/disk.h (grub_disk_pull_t): New enum.
10602 (grub_disk_dev): Change iterate prototype.
10603 All users updated.
10604 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10605 New proto.
10606 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10607 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10608 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10609 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10610 All users updated.
10611 * include/grub/util/raid.h: Removed.
10612
1c358e59
VS
106132011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * po/POTFILES.in: Regenerate.
10616
abee94ed
VS
106172011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 Unify sparc init with other ieee1275.
10620
10621 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10622 instead of kern/sparc64/ieee1275/init.c.
10623 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10624 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10625 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10626 grub/machine/kernel.h.
10627 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10628 (grub_claim_heap) [__sparc__]: Use sparc version.
10629 (grub_machine_init): Moved args parsing to
10630 (grub_parse_cmdline): ...this.
10631 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10632 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10633 New definition.
10634 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10635
10636 Move BOOTP to separate file.
10637
10638 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10639 * grub-core/net/net.c: Move all BOOTP functions to
10640 * grub-core/net/bootp.c: ... here.
10641
10642 Use frame interface on PXE.
10643
10644 * grub-core/Makefile.core.def (pxecmd): Removed.
10645 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10646 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10647 * grub-core/i386/pc/pxe.c: Moved from here ...
10648 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10649 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10650 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10651
10652 EFI network support.
10653
10654 * grub-core/Makefile.core.def (efinet): New module.
10655 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10656 here...
10657 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10658 All users updated.
10659 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10660 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10661 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10662 * grub-core/net/drivers/efi/efinet.c: New file.
10663 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10664 (grub_efi_net_config): New extern var.
10665
10666 Various cleanups and bugfixes.
10667
10668 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10669 error.
10670 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10671 disk declared as partition.
10672 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10673 leak on failure.
10674 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10675 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10676 (grub_debug_zalloc): Likewise.
10677 (grub_debug_realloc): Likewise.
10678 (grub_debug_memalign): Likewise.
10679 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10680 Check that target is IPv4.
10681 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10682 local-mac-address as fallback.
10683 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10684 memory leak.
10685 * grub-core/net/ip.c (ipchksum): Rename to ...
10686 (grub_net_ip_chksum): ... this. All users updated.
10687 (grub_net_recv_ip_packets): Special handling for DHCP.
10688 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10689
10690 Unify prefix handling
10691
10692 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10693 (grub_machine_get_bootlocation): ... this.
10694 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10695 (grub_machine_get_bootlocation): ... this.
10696 (grub_prefix): New variable.
10697 (prefix): Removed.
10698 (root_dev): New variable.
10699 (dir): Likewise.
10700 (main): Use new variables.
10701 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10702 Revamped into ...
10703 (grub_machine_get_bootlocation): ... this.
10704 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10705 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10706 (grub_machine_get_bootlocation): ... this.
10707 (grub_machine_set_prefix): Removed.
10708 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10709 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10710 Revamped into ...
10711 (grub_machine_get_bootlocation): ... this.
10712 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10713 (grub_set_prefix_and_root): ... this. All users updated.
10714 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10715 Revamped into ...
10716 (grub_machine_get_bootlocation): ... this.
10717 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10718 (grub_machine_get_bootlocation): New proto.
10719 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10720
10721 Less intrusive and more reliable seek on network implementation.
10722
10723 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10724 (grub_file_seek): Don't call grub_file_net_seek.
10725 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10726 (grub_net_fs_read_real): .. this.
10727 (grub_net_seek_real): Use net->offset.
10728 (grub_net_fs_read): Seek if necessary.
10729
10730 Unify IEEE1275 netwotk config with the other platforms.
10731
10732 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10733 New variable.
10734 (grub_machine_get_bootlocation): Support network.
10735 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10736 Support type and device parsing.
10737 (grub_ieee1275_get_device_type): New function.
10738 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10739 into ...
10740 (grub_ieee1275_net_config_real): ... this.
10741 (grub_ofnet_probecards): Removed.
10742 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10743 * include/grub/ieee1275/ofnet.h: Removed.
10744 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10745 extern var.
10746 (grub_ieee1275_get_device_type): New function.
10747
10748 Unify network device closing across platforms and make more robust.
10749
10750 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10751 grub_grubnet_fini.
10752 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10753 already.
10754 * grub-core/net/net.c (grub_net_network_level_interface_register):
10755 Update num_ifaces.
10756 (grub_net_card_unregister): Close all interfaces.
10757 (receive_packets): Don't poll if no iterfaces are registered.
10758 Open if necessary.
10759 (grub_net_fini_hw): New function.
10760 (grub_net_restore_hw): Likewise.
10761 (fini_hnd): New variable.
10762 (GRUB_MOD_INIT): Register preboot hook.
10763 (GRUB_MOD_FINI): Run and unregister preboot hook.
10764
10765 Poll network cards when idle.
10766
10767 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10768 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10769 * grub-core/net/net.c (receive_packets): Save last poll time.
10770 (grub_net_poll_cards_idle_real): New function.
10771 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10772 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10773 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10774
10775 Rename ofnet interfaces.
10776
10777 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10778 (grub_ofnet_findcards): Use ofnet_%s names.
10779
10780 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10781
10782 Cleanup socket opening.
10783
10784 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10785 (grub_net_fs_close): Likewise.
10786 (grub_net_fs_read_real): Use eof member.
10787 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10788 (+grub_net_udp_close): New inline function.
10789
10790 * include/grub/net/tftp.h: Moved to the top of ...
10791 * grub-core/net/tftp.c: ... here.
10792 * include/grub/net/ip.h: Moved mostly to the top of ...
10793 * grub-core/net/ip.c: ... here.
10794 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10795 * grub-core/net/ethernet.c: ... here.
10796
10797 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10798
10799 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10800 FS name.
10801
10802 * include/grub/net/ip.h (ipv4_ini): Removed.
10803 (ipv4_fini): Likewise.
10804
10805 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10806 (grub_net_send_ip_packets): Likewise.
10807
cf1337aa
VS
108082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10811 grub_read_cmos prototype.
10812
93c06ff9
VS
108132011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 VGA text support in qemu-mips
10816
10817 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10818 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10819 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10820 text.
10821 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10822 * grub-core/kern/vga_init.c: ... this.
10823 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10824 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10825 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10826 Adjust.
10827 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10828 GRUB_MACHINE_PCI_IO_BASE.
10829
748ccabe
VS
108302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 MIPS qemu flash support.
10833
10834 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10835 magic.
10836 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10837 (grub_machine_init): Probe memory if its size isn't known.
10838 * util/grub-mkimage.c (image_targets): Add flash targets.
10839 (generate_image): Handle flash targets.
10840
d7345994
VS
108412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 MIPS qemu at_keyboard support.
10844
10845 * gentpl.py (videoinkernel): Add qemu-mips.
10846 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10847 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10848 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10849 modules.
10850 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10851 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10852 * grub-core/term/serial.c (grub_serial_register)
10853 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10854
a07a81b3
VS
108552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 CMOS support on sparc.
10858
10859 * gentpl.py (cmos): Add powerpc and sparc.
10860 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10861 powerpc and sparc.
10862 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10863 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10864 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10865 grub_set_datetime_cmos.
10866 * grub-core/lib/ieee1275/cmos.c: New file.
10867 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10868 (find_rtc): Set no_ieee1275_rtc on error.
10869 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10870 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10871 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10872 fail. Move value to argument. All users updated
10873 (grub_cmos_write): Likewise.
10874 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10875 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10876 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10877 grub_get_datetime_cmos and grub_set_datetime_cmos.
10878
77546584
GS
108792011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10880
10881 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10882 sourcing grub-mkconfig_lib.
10883 * util/update-grub_lib.in: Likewise.
10884 * util/grub.d/00_header.in: Likewise.
10885 * util/grub.d/10_hurd.in: Likewise.
10886 * util/grub.d/10_kfreebsd.in: Likewise.
10887 * util/grub.d/10_linux.in: Likewise.
10888 * util/grub.d/10_netbsd.in: Likewise.
10889 * util/grub.d/10_windows.in: Likewise.
10890 * util/grub.d/20_linux_xen.in: Likewise.
10891 * util/grub.d/30_os-prober.in: Likewise.
10892
54894791
CW
108932011-06-28 Colin Watson <cjwatson@ubuntu.com>
10894
10895 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10896 default_bg_color rather than black.
10897 (grub_gfxterm_fullscreen): Likewise.
10898 (grub_gfxterm_background_color_cmd): Save new background color in
10899 default_bg_color.
10900
8d5d8444
VS
109012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10904
5afeb5bd
VS
109052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10908 mismerge.
10909
ba7df45e
VS
109102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Chainloading on coreboot support.
10913
10914 * grub-core/Makefile.core.def (chain): Add coreboot.
10915 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10916
d0b526b2
VS
109172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10920 if it happens.
10921
5ff1d945
VS
109222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 Implement time command.
10925
10926 * grub-core/Makefile.core.def (time): New module.
10927 * grub-core/commands/time.c: New file.
10928 * grub-core/script/parser.y: Remove "time" keyword.
10929 * grub-core/script/yylex.l: Likewise.
10930
5ebaad7e
VS
109312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10934
bdea3798
VS
109352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10938 when handling leftovers.
10939
b28c5655
VS
109402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10943 so that help2man doesn't fail.
10944
b6f945dc
VS
109452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10948 type in pointers on sparc64.
10949 (get_card_packet): Likewise.
10950
f9b75e8a
CW
109512011-06-27 Colin Watson <cjwatson@ubuntu.com>
10952
10953 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10954 with `*'.
10955 (grub_cmd_videoinfo): Fetch current video mode.
10956
1e3d9b86
VS
109572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10960 because of underlying system restrictions.
10961
efff4b1c
VS
109622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10965 necessary.
10966
9fc9ce37
VS
109672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 Coreboot video support.
10970
10971 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10972 (vbe): Likewise.
10973 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10974 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10975 here ...
10976 * grub-core/kern/i386/int.S: ... here.
10977 * grub-core/video/i386/pc/vbe.c: Updated includes.
10978 * grub-core/video/i386/pc/vga.c: Likewise.
10979 * include/grub/i386/coreboot/memory.h
10980 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10981 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10982 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10983 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10984 Disable interrupts.
10985 * include/grub/i386/pc/vga.h: Removed. All users updated.
10986
41bec7fe
VS
109872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10990 definitions for dprintf.
10991 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10992
ca80309d
VS
109932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10996 prototype.
10997 (get_card_packet): Likewise.
10998
9e322ce8
YB
109992011-06-26 Yves Blusseau <blusseau@zetam.org>
11000
11001 Display the path of the file when file is not found
11002
11003 * grub-core/fs/fat.c: Display the filename when file is not found.
11004 * grub-core/fs/fshelp.c: Likewise.
11005 * grub-core/fs/hfs.c: Likewise.
11006 * grub-core/fs/jfs.c: Likewise.
11007 * grub-core/fs/minix.c: Likewise.
11008 * grub-core/fs/ufs.c: Likewise.
11009 * grub-core/fs/btrfs.c: Likewise.
11010 * grub-core/commands/i386/pc/play.c: Likewise.
11011
cbf597af
SJ
110122011-06-26 Szymon Janc <szymon@janc.net.pl>
11013
11014 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11015 pointer checks before calling grub_free().
11016 * grub-core/commands/wildcard.c (match_devices): Likewise.
11017 * grub-core/commands/wildcard.c (match_files): Likewise.
11018 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11019 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11020 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11021 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11022 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11023 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11024 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11025 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11026 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11027
6295b32f
P
110282011-06-25 Patrick <p55@mailinator.com>
11029
11030 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11031
77c0840b
VS
110322011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11035 (grub_pxe_send): Likewise.
11036 (GRUB_MOD_INIT): Fix types.
11037
40ea05de
SJ
110382011-06-24 Szymon Janc <szymon@janc.net.pl>
11039
11040 * grub-core/io/xzio.c: Fix code style issues
11041
90162423
MRA
110422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
110432011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
11044
11045 Network infrastructure.
11046 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11047
11048 * include/grub/net/arp.h: New file.
90162423
MRA
11049 * include/grub/net/device.h: Likewise.
11050 * include/grub/net/ethernet.h: Likewise.
11051 * include/grub/net/ip.h: Likewise.
11052 * include/grub/net/netbuff.h: Likewise.
11053 * include/grub/net/tftp.h: Likewise.
11054 * include/grub/net/udp.h: Likewise.
11055 * include/grub/ieee1275/ofnet.h: Likewise.
11056 * include/grub/emu/export.h: Likewise.
11057 * include/grub/net.h: Likewise.
11058 * grub-core/net/arp.c: Likewise.
11059 * grub-core/net/ethernet.c: Likewise.
11060 * grub-core/net/ip.c: Likewise.
11061 * grub-core/net/udp.c: Likewise.
11062 * grub-core/net/tftp.c: Likewise.
11063 * grub-core/net/netbuff.c: Likewise.
11064 * grub-core/net/net.c: Likewise.
11065 * grub-core/net/drivers/emu/emunet.c: Likewise.
11066 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11067 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11068 export.h.
11069 * grub-core/Makefile.core.def (net): New module.
11070 (tftp): Likewise.
11071 (ofnet): Likewise.
11072 (emunet): Likewise.
11073 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11074 network protocols.
11075 * grub-core/kern/device.c (grub_net_open) : New variable.
11076 (grub_device_open): Handle network device.
11077 (grub_device_close): Likewise.
11078 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11079 (grub_grubnet_fini): Likewise.
11080 (grub_file_seek): Seek in network device.
11081 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11082 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11083 network root.
11084 (grub_machine_fini): Call grub_grubnet_fini.
11085 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11086 network.
11087 (grub_ieee1275_get_aliasdevname): New function.
11088 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11089 Add unofficial Solaris network info.
11090 (grub_multiboot_make_mbi): Likewise.
11091 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11092 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11093 * include/grub/device.h (grub_fs): Removed.
11094 * include/grub/err.h (grub_err_t): Add network-related values.
11095 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11096 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11097 (grub_ieee1275_get_aliasdevname): New proto.
11098 * include/grub/net.h: Rewritten.
423a1849 11099
031f22a0
VS
111002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11103 names.
11104
4388ca72
VS
111052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11108 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11109 it truncates the output.
11110 Reported by: Ximin Luo.
11111
98e2f506
VS
111122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11115
2a5e94d8
VS
111162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11119 partmap before abstraction.
11120
535c1910
AK
111212011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11122
11123 * util/grub-mkconfig_lib.in: Add missing quotes.
11124
bc09e1a2
VS
111252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11128 old method if mountinfo would return /dev/root and /dev/root doesn't
11129 exist.
11130
290766fb
VS
111312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 ZFS zlib support
11134
11135 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11136 (decomp_table): Add zlib entries.
11137 (zio_read): USe 8 bits for compression function rather than 3.
11138 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11139
111402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * grub-core/disk/ahci.c: Add missing license statements.
11143 * grub-core/fs/romfs.c: Likewise.
11144 * grub-core/lib/ia64/setjmp.S: Likewise.
11145 * grub-core/loader/i386/pc/freedos.c: Likewise.
11146 * grub-core/loader/ia64/efi/linux.c: Likewise.
11147 * grub-core/video/colors.c: Likewise.
11148 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11149
5ab3f48a
VS
111502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 AHCI support.
11153
11154 * grub-core/Makefile.core.def (ata_pthru): Removed.
11155 (ahci): New module.
11156 (pata): Likewise.
11157 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11158 on unload.
11159 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11160 readwrite.
11161 (grub_hdparm_do_check_powermode_cmd): Likewise.
11162 (grub_hdparm_do_smart_cmd): Likewise.
11163 (grub_hdparm_set_val_cmd): Likewise.
11164 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11165 * grub-core/disk/ahci.c: New file.
11166 * grub-core/disk/ata.c: Factor out the low-level part into ...
11167 * grub-core/disk/pata.c: ... here.
11168 * grub-core/disk/ata_pthru.c: Contents moved to ...
11169 * grub-core/disk/pata.c: ... here.
11170 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11171 (grub_scsi_iterate): Use grub_scsi_names.
11172 (grub_scsi_open): Likewise.
11173 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11174 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11175 (grub_ata_regs_t): New struct.
11176 (grub_disk_ata_pass_through_parms): Likewise.
11177 (grub_ata_device): Renamed to ...
11178 (grub_ata): ... this.
11179 (grub_ata_dev): New struct.
11180 Removed all low-level inline functions.
11181 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11182 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11183 iterate hooks and open. All users updated.
11184 * util/grub-install.in: Handle AHCI disk module.
11185
c31dc5f5
SJ
111862011-06-23 Szymon Janc <szymon@janc.net.pl>
11187
11188 Add support for DRI and RSTn markers in JPEG files.
11189
11190 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11191 (JPEG_MARKER_RST0): Likewise.
11192 (JPEG_MARKER_RST1): Likewise.
11193 (JPEG_MARKER_RST2): Likewise.
11194 (JPEG_MARKER_RST3): Likewise.
11195 (JPEG_MARKER_RST4): Likewise.
11196 (JPEG_MARKER_RST5): Likewise.
11197 (JPEG_MARKER_RST6): Likewise.
11198 (JPEG_MARKER_RST7): Likewise.
11199 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11200 (grub_jpeg_decode_dri): New function.
11201 (grub_jpeg_decode_sos): Move image data related part into
11202 grub_jpeg_decode_data function.
11203 (grub_jpeg_decode_data): New function.
11204 (grub_jpeg_reset): New function.
11205 (grub_jpeg_decode_jpeg): Handle new markers.
11206
fe12fd5b
VS
112072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/ieee1275/ofpath.c (check_sas): Close fd.
11210 (main): Free of_path.
11211 Reported by: David Volgyes <dvolgyes>.
11212
03147f46
VS
112132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11216 Reported by: David Volgyes <dvolgyes>.
11217
cad3237f
VS
112182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11221 file after stat.
11222 Reported by: David Volgyes <dvolgyes>.
11223
13548d26
VS
112242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11227
11228 Reported by: David Volgyes <dvolgyes>.
11229
e061a1b5
VS
112302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11233 Prevent memory leak.
11234
1abe47dc
VS
112352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11238 (main): Close file.
e061a1b5 11239 Reported by: David Volgyes <dvolgyes>.
1abe47dc 11240
fbc62666
VS
112412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11244 to continue if allocation is failed.
11245
11246 Reported by: David Volgyes <dvolgyes>.
11247
e98c83e9
DV
112482011-06-23 David Volgyes <dvolgyes>
11249
11250 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11251 dereference.
11252
a199a8cd
VS
112532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 Fix spurious warning.
11256
11257 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11258 (acorn_partition_map_find): Use .bin member.
11259
e2d1dba0
VS
112602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11263 /dev/root as a valid device.
11264
8a5d6919
JM
112652011-06-23 Jim Meyering <meyering@redhat.com>
11266
e2d1dba0
VS
11267 Avoid NULL deref in grub_device_open.
11268
8a5d6919
JM
11269 * grub-core/kern/device.c (grub_device_open): Don't dereference
11270 a NULL pointer upon failed grub_env_get.
11271
f7db6f4a
VS
112722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Support non-512B sectors and agglomerate reads.
11275
11276 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11277 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11278 (disk_io_guid): Removed.
11279 (make_devices): Locate solely by BlockIO.
11280 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11281 (grub_efidisk_read): Use read_blocks.
11282 (grub_efidisk_write): Use write_blocks.
11283 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11284 log_sector_size.
11285 (get_safe_sectors): Handle non-512B sectors.
11286 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11287 sectors.
11288 (grub_biosdisk_write): Handle non-512B sectors.
11289 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11290 (grub_scsi_read): Remove special non-512B block handling (now handled
11291 one level up).
11292 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11293 and do sanity checks.
11294 (grub_disk_adjust_range): Handle non-512B sectors.
11295 (transform_sector): New function.
11296 (grub_disk_read_small): Likewise.
11297 (grub_disk_read): Rewritten.
11298 (grub_disk_write): Handle non-512B sectors.
11299 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11300 log_sector_size.
11301 (open_device): Use log_sector_size.
11302 (grub_util_biosdisk_read): Likewise.
11303 (grub_util_biosdisk_write): Likewise.
11304 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11305 non-512B sectors.
11306 (pc_partition_map_embed): Likewise.
11307 * include/grub/disk.h (grub_disk): New field log_sector_size.
11308 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11309 (GRUB_DISK_CACHE_BITS): Increased to 6.
11310 * util/grub-fstest.c (fstest): New command testload.
11311 (argp_parser): Likewise.
11312
881ac815
RM
113132011-06-16 Robert Millan <rmh@gnu.org>
11314
11315 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11316 `ata' driver on kernel of FreeBSD 9.
11317
11318 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11319 (get_ataraid_disk_name): New functions.
11320 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11321 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11322 get_ataraid_disk_name() and get_ada_disk_name().
11323
1e9aef7d
CW
113242011-06-13 Colin Watson <cjwatson@ubuntu.com>
11325
11326 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11327 input format.
11328
351c7c8a
CW
113292011-05-29 Colin Watson <cjwatson@ubuntu.com>
11330
11331 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11332 `ftp.gnu.org' for `alpha.gnu.org'.
11333
6b4e6430
CW
113342011-05-27 Colin Watson <cjwatson@ubuntu.com>
11335
11336 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11337 partitions under /dev/disk/by-id/.
11338
c64db050
CW
113392011-05-27 Colin Watson <cjwatson@ubuntu.com>
11340
11341 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11342 after ten consecutive open failures. Scanning all the way up to
11343 10000 is excessive and can cause serious performance problems in
11344 some configurations.
11345 Fixes Ubuntu bug #787461.
11346
245f4aba
VS
113472011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11350 opening new one.
11351
f767c929
VS
113522011-05-21 Colin Watson <cjwatson@ubuntu.com>
113532011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 Don't stat devices unless we have to.
11356
11357 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11358 dir == /dev/mapper.
11359 (grub_guess_root_device): Use already known os_dev if possible.
11360 * grub-core/kern/emu/hostdisk.c
11361 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11362 if device is known to be a dm one.
11363
f35fa3a6
CW
113642011-05-20 Colin Watson <cjwatson@ubuntu.com>
11365
11366 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11367 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11368 Reported by: Pawel Tecza.
11369
9a79fcf2
VS
113702011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11373 (lsefisystab): Likewise.
11374 (lssal): Likewise.
11375 (lsefimmap): Likewise.
11376 (hdparm): Enable on qemu-mips.
11377 (setjmp): Add ia64 nodist.
11378 (serial): Simplify tags.
11379
63e3eea9
CW
113802011-05-18 Colin Watson <cjwatson@ubuntu.com>
11381
11382 * Makefile.util.def (grub-ofpathname): Install manual page.
11383
09728256
CW
113842011-05-18 Colin Watson <cjwatson@ubuntu.com>
11385
11386 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11387
8b63a142
CW
113882011-05-18 Colin Watson <cjwatson@ubuntu.com>
11389
11390 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11391
e775d8ed
VS
113922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11395 into dprintf.
11396
bf947d36
VS
113972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 Use full 64-bit division.
11400
11401 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11402 (grub_divmod64): ... this.
11403 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11404 version.
11405
b84f26c5
CW
114062011-05-18 Colin Watson <cjwatson@ubuntu.com>
11407
11408 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11409 `source'.
11410
5626056f
CW
114112011-05-18 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11414 to avoid accidents when debugging with 'sh -x'.
11415 * grub-core/gensyminfo.sh.in: Likewise.
11416 * tests/example_scripted_test.in: Likewise.
11417 * tests/grub_cmd_regexp.in: Likewise.
11418 * tests/grub_script_blanklines.in: Likewise.
11419 * tests/grub_script_dollar.in: Likewise.
11420 * tests/grub_script_expansion.in: Likewise.
11421 * tests/grub_script_final_semicolon.in: Likewise.
11422 * tests/partmap_test.in: Likewise.
11423 * tests/util/grub-shell-tester.in: Likewise.
11424 * tests/util/grub-shell.in: Likewise.
11425
e2965f4a
CW
114262011-05-18 Colin Watson <cjwatson@ubuntu.com>
11427
11428 Move gfxmenu color handling to video, so that gfxterm can use it
11429 too.
11430
11431 * grub-core/gfxmenu/named_colors.c: Move to ...
11432 * grub-core/video/colors.c: ... here. Rename
11433 grub_gui_get_named_color to grub_video_get_named_color.
11434 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11435 * grub-core/video/colors.c (my_isxdigit): ... here.
11436 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11437 Move to ...
11438 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11439 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11440 to ...
11441 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11442
11443 * include/grub/gui.h (grub_gui_color_t): Move to ...
11444 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11445 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11446 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11447 * include/grub/gui.h (grub_gui_map_color): Move to ...
11448 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11449 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11450 to ...
11451 * include/grub/video.h (grub_video_get_named_color): ... here.
11452 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11453 * include/grub/video.h (grub_video_parse_color): ... here.
11454
11455 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11456 video/colors.c.
11457 (gfxmenu): Remove gfxmenu/named_colors.c.
11458 (video) [videomodules]: Add video/colors.c.
11459
11460 Add a background_color command.
11461
11462 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11463 function.
11464 (GRUB_MOD_INIT): Register background_color command.
11465 (GRUB_MOD_FINI): Unregister background_color command.
11466 (redraw_screen_rect): Allow blend/replace of text layer to be
11467 controlled independently from whether there is a background bitmap.
11468 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11469 changing bitmap.
11470
1e4b4390
VS
114712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11472
26618ff0
VS
11473 Patch BPB in ntldr and chainloader --bpb.
11474
1e4b4390
VS
11475 * grub-core/fs/fat.c: Include grub/fat.h.
11476 (grub_fat_bpb): Moved to ...
11477 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11478 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11479 grub/ntfs.h.
11480 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11481 Moved from here...
11482 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11483 here.
11484 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11485 New function.
11486 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11487 (GRUB_MOD_INIT): Show --bpb.
11488 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11489 * grub-core/normal/main.c (features): New variable.
11490 (GRUB_MOD_INIT): Set feature_* variables.
11491 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11492 proto.
11493 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11494
cf02731e
VS
114952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11498 for cleanness.
11499
e3a1073f
VS
115002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 FreeDOS direct loading support.
11503
11504 * docs/grub.texi (Supported OS): Add FreeDOS.
11505 * grub-core/Makefile.core.def (freedos): New module.
11506 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11507 variable.
11508 (grub_relocator16_boot): Handle %ebx.
11509 * grub-core/lib/i386/relocator16.S: Likewise.
11510 * grub-core/loader/i386/pc/freedos.c: New file.
11511
05caa461
VS
115122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Long Linux command line support.
11515
11516 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11517 (maximal_cmdline_size): New variable.
11518 (allocate_pages): Use maximal_cmdline_size.
11519 (grub_cmd_linux): Set and use maximal_cmdline_size.
11520 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11521 (allocate_pages): Use maximal_cmdline_size.
11522 (grub_cmd_linux): Set and use maximal_cmdline_size.
11523 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11524 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11525 and cmdline_size.
11526
a2491e23
VS
115272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
115282011-05-18 Colin Watson <cjwatson@ubuntu.com>
11529
11530 Improve devmapper support
11531
11532 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11533 (grub_util_is_lvm): New function.
11534 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11535 than lvm if not dmraid.
11536 Handle mapped md nodes.
11537 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11538 (grub_util_device_is_mapped): ... this. Make always available. All users
11539 updated.
11540 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11541 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11542 dmraid nodes.
11543 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11544
6ad6223e
VS
115452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11548
11549 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11550 * grub-core/modinfo.sh.in: New file.
11551 * grub-core/Makefile.core.def (modinfo.sh): New script.
11552 * util/grub-mknetdir.in: Use modinfo.sh.
11553 * util/grub-mkrescue.in: Likewise.
11554
543a8f6e
VS
115552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11558 Fix potential usage of Elf32 instead of Elf64 when compiling on
11559 32-bit architecture. Add endianness macros while on it.
11560
4959e111
VS
115612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 Use mipsel- rather than mips- in directories involving mipsel ports to
11564 allow both endiannesses coexist.
11565
11566 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11567 mips. All conditions adjusted.
11568 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11569 variable.
11570 * util/grub-install.in: Adjust conditions to take renaming into account.
11571 * util/grub-mkimage.c (image_targets): Likewise. New target
11572 mips-qemu_mips-elf for bigendian mips.
11573
35341bbc
VS
115742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 Avoid unnecessary copying on MIPS.
11577
11578 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11579 early if src == dest.
11580 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11581 compression is none.
11582
b772baed
VS
115832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 Reduce memory footprint on SGI by putting modules before the kernel
11586 as opposed to after.
11587
11588 * grub-core/Makefile.core.def (kernel): Increase linking address.
11589 (none_decompress): Likewise.
11590 (xz_decompress): Likewise.
11591 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11592 address.
11593 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11594 layout change.
11595 (grub_arch_modules_addr): New function.
11596 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11597 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11598 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11599 here.
11600 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11601 (grub_total_modules_size): ... this. Make global.
11602 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11603 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11604 New definition.
11605 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11606 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11607 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11608 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11609 * util/grub-mkimage.c (image_target_desc): New flag
11610 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11611 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11612 (generate_image): Handle images with modules before kernel.
11613
566a1917
VS
116142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 Prevent potential loss of memory map by overwrite on qemu-mips.
11617
11618 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11619 Save ram size in $s4.
11620 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11621 All users changed to grub_arch_memsize.
11622 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11623 Loongson.
11624 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11625 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11626 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11627 external variable.
11628
5d420cd9
CW
116292011-05-17 Colin Watson <cjwatson@ubuntu.com>
11630
11631 * .bzrignore: Remove grub-dumpbios.
11632
d064b830
CW
116332011-05-17 Colin Watson <cjwatson@ubuntu.com>
11634
11635 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11636 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11637 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11638 existing options which append).
11639 * docs/grub.texi (Simple configuration): Document new options.
11640 Reported by: Ian Jackson. Fixes Debian bug #617538.
11641
3ca2b466
CW
116422011-05-17 Colin Watson <cjwatson@ubuntu.com>
11643
11644 * util/grub-fstest.c (cmd_cat): New function.
11645 (fstest): Handle CMD_CAT.
11646 (options): Add cat.
11647 (argp_parser): Handle cat.
11648
24c9143a
CW
116492011-05-17 Colin Watson <cjwatson@ubuntu.com>
11650
11651 * Makefile.util.def (grub-bin2h): Don't install.
11652 * docs/man/grub-bin2h.h2m: Remove.
11653
90f7ac19
VS
116542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11657 place.
11658
8d4a5178
VS
116592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 Reenable qemu-mips port.
11662
11663 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11664 Fix small arc bug while on it.
11665 * gentpl.py: Handle qemu_mips.
11666 * grub-core/Makefile.am: Likewise.
11667 * grub-core/Makefile.core.def: Likewise.
11668 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11669 inappropriate includes.
11670 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11671 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11672 * grub-core/kern/main.c (grub_modules_get_end)
11673 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11674 * grub-core/kern/mips/qemu-mips: Moved to ..
11675 * grub-core/kern/mips/qemu_mips: ... this.
11676 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11677 (grub_machine_init): Call terminfo_init and serial_init.
11678 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11679 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11680 New variable.
11681 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11682 parameter passing.
11683 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11684 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11685 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11686 * include/grub/mips/qemu_mips/cmos.h: New file.
11687 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11688 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11689 Removed.
11690 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11691 Use correct mips-style address.
11692 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11693 (GRUB_TICKS_PER_SECOND): Removed.
11694 (grub_get_rtc): Likewise.
11695 (grub_cpu_idle): Likewise.
11696 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11697 New definition.
11698 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11699 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11700 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11701 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11702 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11703 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11704 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11705 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11706
400b9371
VS
117072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 SGI ARCS port.
11710
11711 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11712 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11713 platforms.
11714 * configure.ac: New target mips-arc.
11715 * gentpl.py: Likewise.
11716 * grub-core/Makefile.am: Likewise.
11717 * grub-core/Makefile.core.def: Likewise.
11718 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11719 (none_decompress): Likewise.
11720 (lsdev): New module.
11721 (datetime): Use lib/arc/datetime.c on ARC.
11722 (part_dvh): New module.
11723 * grub-core/commands/arc/lsdev.c: New file.
11724 * grub-core/disk/arc/arcdisk.c: Likewise.
11725 * grub-core/kern/mips/arc/init.c: Likewise.
11726 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11727 aligned addresses.
11728 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11729 support.
11730 (grub_arch_dl_relocate_symbols): Likewise.
11731 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11732 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11733 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11734 platforms.
11735 * grub-core/lib/arc/datetime.c: New file.
11736 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11737 pci.h on non-loongson.
11738 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11739 (grub_linux_boot): Set unused registers to 0.
11740 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11741 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11742 * grub-core/mmap/mips/uppermem.c: ...here.
11743 * grub-core/partmap/dvh.c: New file.
11744 * grub-core/term/arc/console.c: Likewise.
11745 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11746 (grub_terminfo_set_current): Add terminal "arc".
11747 (grub_terminfo_readkey): Support ARC sequences.
11748 * include/grub/arc/arc.h: New file.
11749 * include/grub/arc/console.h: Likewise.
11750 * include/grub/disk.h (grub_disk_dev_id): Add
11751 GRUB_DISK_DEVICE_ARCDISK_ID.
11752 * include/grub/mips/arc/kernel.h: New file.
11753 * include/grub/mips/arc/memory.h: Likewise.
11754 * include/grub/mips/arc/time.h: Likewise.
11755 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11756 * include/grub/mips/kernel.h (grub_halt): ... here.
11757 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11758 here...
11759 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11760 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11761 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11762 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11763 proto.
11764 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11765 from here ...
11766 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11767 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11768 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11769 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11770 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11771 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11772 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11773 (grub_phys_addr_t): Moved from here ...
11774 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11775 (grub_vtop): Moved from here ...
11776 * include/grub/mips/memory.h (grub_vtop): ... here.
11777 (grub_map_memory): Moved from here ...
11778 * include/grub/mips/memory.h (grub_map_memory): ... here.
11779 (grub_unmap_memory): Moved from here ...
11780 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11781 (grub_machine_mmap_iterate): Moved from here ...
11782 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11783 (grub_mmap_get_lower): Moved from here ...
11784 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11785 (grub_mmap_get_upper): Moved from here ...
11786 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11787 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11788 here ...
11789 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11790 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11791 here ...
11792 * include/grub/mips/time.h (grub_get_rtc): ... here.
11793 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11794 here ...
11795 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11796 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11797 here ...
11798 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11799 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11800 definition.
11801 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11802 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11803 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11804 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11805 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11806 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11807 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11808 (GRUB_MACHINE_LINK_ADDR): Likewise.
11809 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11810 to 6.
11811 * util/grub-install.in: Run dvhtool on ARC.
11812 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11813 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11814
c8ecc840
VS
118152011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11818 blocks.
11819
153a4b55
VS
118202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11823 after enabling port.
11824
ff44d107
VS
118252011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 Skip incorrect USB devices.
11828
11829 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11830 configcnt == 0.
11831 * include/grub/usb.h (grub_usb_err_t): New enum value
11832 GRUB_USB_ERR_BADDEVICE.
11833
638dbe4f
VS
118342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 Fuloong video init support.
11837
11838 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11839 well.
11840 (grub_vga_read_arx): New function.
11841 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11842 definition.
11843 (framebuffer): New members io, mmioptr and mmiobase.
11844 (read_sis_cmd): New function.
11845 (write_sis_cmd): Likewise.
11846 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11847 rather than 640x400.
11848 * grub-core/video/sis315_init.c: New file.
11849
c3fc520c
VS
118502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11853 non-loongson.
11854 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11855 to grub_dl_register_symbol.
11856
67b1e5c9
VS
118572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 Fix compilation errors.
11860
11861 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11862 potentially unused.
11863 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11864 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11865 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11866 to loongson machines.
11867
b756f75f
VS
118682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 Several FS mtime support.
11871
11872 * grub-core/fs/affs.c (grub_affs_time): New struct.
11873 (grub_affs_file): New field mtime.
11874 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11875 type. Removed 'size'. New field 'di'. All users updated.
11876 (grub_affs_mount): Simplify checsum checking.
11877 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11878 (grub_affs_dir): Handle mtime.
11879 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11880 (grub_cpio_dir): Likewise.
11881 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11882 (grub_hfs_filerec): New field mtime.
11883 (grub_hfs_dir): Handle mtime.
11884 (grub_hfs_mtime): New function.
11885 (grub_hfs_fs): Register grub_hfs_mtime.
11886 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11887 (grub_iso9660_dir): New field mtime.
11888 (grub_fshelp_node): New field dirent.
11889 (iso9660_to_unixtime): New function.
11890 (iso9660_to_unixtime2): Likewise.
11891 (grub_iso9660_read_symlink): Use node->dirent.
11892 (grub_iso9660_iterate_dir): Likewise.
11893 (grub_iso9660_dir): Set mtime.
11894 (grub_iso9660_mtime): New function.
11895 (grub_iso9660_fs): Register grub_iso9660_mtime.
11896 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11897 (grub_jfs_inode): New fields atime, ctime and mtime.
11898 (grub_jfs_dir): Set mtime.
11899 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11900 * grub-core/fs/ntfs.c (list_file): Set mtime.
11901 (grub_ntfs_dir): Likewise.
11902 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11903 (grub_reiserfs_iterate_dir): Set mtime.
11904 (grub_reiserfs_dir): Likewise.
11905 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11906 (grub_fshelp_node): Likewise.
11907 (grub_sfs_iterate_dir): Set mtime.
11908 (grub_sfs_dir): Likewise.
11909 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11910 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11911 (grub_xfs_inode): New fields atime, mtime, ctime.
11912 (grub_xfs_dir): Set mtime.
11913 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11914 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11915 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11916
11917 Support UDF symlinks.
11918
11919 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11920 (grub_ufs_read_symlink): New function. All users updated.
11921
11922 Check amiga partmap checksum.
11923
11924 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11925 (grub_amiga_partition): Likewise.
11926 (amiga_partition_map_checksum): New function.
11927 (amiga_partition_map_iterate): Check checksum.
11928
5470225d
VS
119292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 ROMFS support.
11932
11933 * Makefile.util.def (libgrubmods.a): Add romfs.
11934 * grub-core/Makefile.core.def (romfs): New module.
11935 * grub-core/fs/romfs.c: New file.
11936
d4680a35
VS
119372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 Squashfs v4 support.
11940
11941 * Makefile.util.def (libgrubmods.a): Add squash4.
11942 * grub-core/Makefile.core.def (squash4): New module.
11943 * grub-core/fs/squash4.c: New file.
11944 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11945 disk_input_start, disk_input.
11946 (get_byte): Handle disk_input.
11947 (grub_zlib_disk_read): New function.
11948 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11949
bcb18e74
FZ
119502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
119512011-05-15 Feiran Zheng <famcool@gmail.com>
11952
11953 * Makefile.util.def (libgrubmods.a): Add minix3.
11954 * grub-core/Makefile.core.def (minix3): New module.
11955 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11956 (GRUB_MINIX_BSIZE): Removed.
11957 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11958 (grub_minix_ino_t): New type.
11959 (grub_minix_le_to_cpu_ino): New macro.
11960 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11961 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11962 (grub_minix_data): New field block_size.
11963 (grub_minix_read_file): Handle 64-bit correctly.
11964 * grub-core/fs/minix3.c: New file.
11965
32297d5f
TG
119662011-05-15 Tristan Gingold <gingold@free.fr>
119672011-05-15 Robert Millan <rmh.grub@aybabtu.com>
119682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11969
11970 IA64 support.
11971
11972 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11973 * configure.ac: Add ia64-efi target.
11974 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11975 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11976 * gentpl.py: Add ia64_efi platform.
11977 Rename x86_efi to efi and Add ia64-efi. All users updated.
11978 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11979 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11980 Remove kern/generic/rtc_get_time_ms.c on EFI.
11981 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11982 kern/ia64/dl_helper.c on ia64-efi.
11983 Add kern/emu/cache.c on emu.
11984 (linux): Use on loader/ia64/efi/linux.c on ia64.
11985 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11986 whether symbol is a function.
11987 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11988 (grub_symbol): New field 'isfunc'.
11989 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11990 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11991 (grub_dl_load_segments): Place all sections into the same region.
11992 [__ia64__]: Create trampolines and got.
11993 [GRUB_MACHINE_EMU]: Call mprotect.
11994 (grub_dl_resolve_symbols): Resolve symbol type as well.
11995 [__ia64__]: Create function descriptors.
11996 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11997 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11998 (grub_get_rtc): New function.
11999 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12000 * grub-core/kern/emu/cache.S: Renamed to ...
12001 * grub-core/kern/emu/cache_s.S: ... this.
12002 [__ia64__]: Add a nop.
12003 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12004 [__ia64__]: New function.
12005 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12006 * grub-core/kern/ia64/dl.c: New file.
12007 * grub-core/kern/ia64/dl_helper.c: Likewise.
12008 * grub-core/kern/ia64/efi/init.c: New file.
12009 * grub-core/kern/ia64/efi/startup.S: Likewise.
12010 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12011 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12012 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12013 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12014 * grub-core/loader/ia64/efi/linux.c: New file.
12015 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12016 (GRUB_MOD_DEP): Likewise.
12017 (grub_dl) [__ia64__]: New fields got and tramp.
12018 (grub_dl): New field 'base'.
12019 (grub_dl_register_symbol): New argument isfunc. All users updated.
12020 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12021 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12022 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12023 (grub_ia64_dl_get_tramp_got_size): New proto.
12024 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12025 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12026 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12027 * include/grub/efi/api.h: Skip call wrappers on ia64.
12028 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12029 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12030 * include/grub/elf.h (ELF_ST_INFO): New definition.
12031 * include/grub/ia64/efi/kernel.h: New file.
12032 * include/grub/ia64/efi/memory.h: Likewise.
12033 * include/grub/ia64/efi/time.h: Likewise.
12034 * include/grub/ia64/kernel.h: Likewise.
12035 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12036 * include/grub/ia64/time.h: New file.
12037 * include/grub/ia64/types.h: Likewise.
12038 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12039 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12040 New protos.
12041 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12042 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12043 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12044 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12045 All users updated.
12046 (EFI64_HEADER_SIZE): New definition. All users updated.
12047 (image_targets): Add ia64-efi.
12048 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12049 jumpers_addr. All users updated.
12050 Create function descriptors.
12051 (count_funcs): New function.
12052 (unaligned_uint32): New struct.
12053 (MASK20): New definition.
12054 (MASK19): Likewise.
12055 (MASKF21): Likewise.
12056 (add_value_to_slot_20b): New function.
12057 (add_value_to_slot_21_real): Likewise.
12058 (add_value_to_slot_21): Likewise.
12059 (ia64_kernel_trampoline): New struct.
12060 (nopm): New variable.
12061 (jump): Likewise.
12062 (make_trampoline): New function.
12063 (relocate_addresses): Handle ia64.
12064 (make_reloc_section): Likewise.
12065 (load_image): Likewise.
12066
983b414d
VS
120672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12070 warning. Move variables before code while on it.
12071
5d063cdc
VS
120722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 Fuloong support.
12075
12076 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12077 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12078 * grub-core/boot/mips/loongson/fuloong.S: New file.
12079 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12080 Explicitly init CS5536.
12081 [FULOONG]: Don't use serial until CS5536 is available.
12082 Set GPIO based on dumps.
12083 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12084 [FULOONG]: Handle GPIO and memory controller differences.
12085 Parse machine type in $a2.
12086 * grub-core/boot/mips/startup_raw.S: Determine and save the
12087 architecture.
12088 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12089 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12090 init on architecture type.
12091 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12092 SIS315E. Don't init at_keyboard on fuloong.
12093 (grub_halt): Support Fuloong.
12094 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12095 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12096 (loongson_machtypes): New array.
12097 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12098 type.
12099 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12100 config. All users updated. Handle CS5536 serial.
12101 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12102 default port on machine type. Register serial as inactive.
12103 * grub-core/video/sis315pro.c: New file.
12104 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12105 definition.
12106 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12107 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12108 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12109 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12110 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12111 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12112 to ...
12113 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12114 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12115 definition.
12116 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12117 (grub_arch_machine): New extern var.
12118 * include/grub/mips/loongson/serial.h
12119 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12120 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12121 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12122 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12123 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12124 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12125 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12126 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12127 * include/grub/term.h (grub_term_register_input_inactive): New inline
12128 function.
12129 (grub_term_register_output_inactive): Likewise.
12130 * include/grub/video.h (grub_video_driver_id): New value
12131 GRUB_VIDEO_DRIVER_SIS315PRO.
12132 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12133 New field "names". All users updated.
12134 New field value IMAGE_FULOONG_FLASH.
12135 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12136
6ada82d1
JU
121372011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12138
12139 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12140 and add some clarification.
12141
90c571a4
VS
121422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12145 platforms if kernel is compressed.
12146
de04eecf
VS
121472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12150 unused modules since currently referrence counter isn't reliable and
12151 there isn't much memory to recover there anyway.
12152
57688121
VS
121532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12156 rather than resetting it to allow modules to reference themselves
12157 in init.
12158
3d2c7e35
VS
121592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12162 counter on dependencies since grub_dl_unref already handles this.
12163
b25db218
VS
121642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12167 on error if not already done.
12168
25a45338
VS
121692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 Fix few potential memory misusage.
12172
12173 * grub-core/font/font.c (load_font_index): Don't free char_index to
12174 avoid double free.
b25db218
VS
12175 (grub_font_load): Zero-fill font at alloc for safety.
12176 Close file on error.
12177 (free_font): Free bmp_idx.
25a45338 12178
0cac83df
VS
121792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * docs/grub.texi (Installation): Fix several outdated claims.
12182
2217a143
VS
121832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12184
12185 Handle module_license on windows.
12186
12187 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12188 sections shifted.
12189 (insert_string): Make argument const char * instead of char *.
12190 (write_section_data): Handle long section names.
12191 Handle module_license.
12192
d4de6b01
VS
121932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12196 handle class-free menuentries.
12197 (grub_normal_add_menu_entry): Add a check to be sure.
12198
4c2a3b43
VS
121992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12202 PgUp and PgDown.
12203
85c6210f
VS
122042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * configure.ac: Bump version to 1.99.
12207
36084912
VS
122082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 Give ATA device a bit more time on first try in order to allow disks
12211 to spin up.
12212
12213 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12214 if dev->present is 1. Reset dev->present on failure.
12215 (grub_ata_device_initialize): Set dev->present to 1.
12216 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12217 (grub_ata_device): New member 'present'.
12218
bda0e219
VS
122192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * util/grub-mkimage.c (generate_image): Update hash.
12222
19e1c41b
VS
122232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 Flush caches on DMA memory.
12226
12227 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12228 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12229 (grub_dma_free): Likewise.
12230 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12231
91bbcc0c
VS
122322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12235 to avoid asm treating ld and sd as macros.
12236
60ddfad3
VS
122372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12240 decompressor.
12241
a298aa04
VS
122422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12245 grub_decompress_core since later would fail if grub_decompress_core
12246 is too far.
12247
9b44feca
VS
122482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12249
12250 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12251 R_MIPS_JALR since it's used by newer compiler.
12252
56dbe7b4
VS
122532011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12256
52856af2
VS
122572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12260 file_path to 0 for surety.
12261 (grub_chainloader_boot): Set exit_data to NULL.
12262 Unset the loader once done.
12263 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12264
9c9bfc6d
VS
122652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12268 unknown key into a dprintf.
12269
dd94a3df
VS
122702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12273 on first non-existant partition.
12274
fa68d99c
VS
122752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12278 openning fails.
12279 Reported by: Mark Korenberg.
12280
157effb7
VS
122812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12284 overflow.
12285
ea75312f
VS
122862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12289 before closing to ensure that it will be readable by grub-setup.
12290
072b5d31
VS
122912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12294 (devpath_1): Use MAKE_PIWG_PATH.
12295 (devpath_2): Likewise.
12296 (devpath_3): Likewise.
12297 (devpath_4): Likewise.
12298 (devpath_5): Likewise.
12299 (devpath_6): Likewise.
12300
12301 The appleldr.mod was checked that to be binary identical to previous
12302 version.
12303
7fae0051
Z
123042011-05-05 Zach <mikezackles>
12305
12306 Support 2010 Macbooks.
12307
12308 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12309 (devs): Add devpath_6.
12310
7c515bee
VS
123112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12314 /dev/random. /dev/urandom is good enough for our purposes (salting).
12315
ed660bd8
VS
123162011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12319
ee5614b7
VS
123202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12323 hexadecimal.
12324
664889a6
VS
123252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12328 and not 0 on failure.
12329
bd405bbc
CW
123302011-05-03 Colin Watson <cjwatson@ubuntu.com>
12331
12332 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12333 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12334 disk; otherwise grub_fs_probe will not fall back to the next
12335 filesystem.
12336 (grub_pxefs_open): Likewise, for consistency.
12337 Reported and tested by: Ezekiel Grave.
12338
4ebff753
CW
123392011-05-03 Colin Watson <cjwatson@ubuntu.com>
12340
12341 * tests/partmap_test.in: Don't hardcode path to parted.
12342 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12343
8f942553
CW
123442011-05-01 Colin Watson <cjwatson@ubuntu.com>
12345
12346 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12347 of `ls' to find out which devices are available.
12348
3c62402d
VS
123492011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12352 than source address for efi mmap buffer.
12353
723f63f2
VS
123542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12357 wrong action on non-detecting the magic.
12358
68797f92
VS
123592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12362 already supplied by another part of the module (fixes compilation on
12363 FreeBSD).
12364
6be8715d
VS
123652011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12368 match the one used by mdadm.
12369
e91dba5b
CW
123702011-04-21 Colin Watson <cjwatson@ubuntu.com>
12371
12372 * po/README: Add instructions for creating po/LINGUAS.
12373
c85140b3
CW
123742011-04-21 Colin Watson <cjwatson@ubuntu.com>
12375
12376 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12377 #551428.
12378
12379 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12380 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12381 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12382 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12383 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12384 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12385 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12386 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12387 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12388 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12389 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12390 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12391 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12392 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12393 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12394 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12395 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12396 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12397 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12398 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12399 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12400 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12401
92051871
CW
124022011-04-21 Colin Watson <cjwatson@ubuntu.com>
12403
12404 * grub-core/kern/emu/getroot.c
12405 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12406 test that was incorrectly reintroduced in r3214.
12407 Reported by: Ian Dall. Fixes Savannah bug #33133.
12408
b13f79a4
CW
124092011-04-21 Colin Watson <cjwatson@ubuntu.com>
12410
12411 Fix stack pointer handling in 16-bit relocator.
12412
12413 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12414 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12415 Fixes Ubuntu bug #683904.
12416
9b710a88
VS
124172011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * configure.ac: Bump version to 1.99~rc2.
12420
d97e7b59
VS
124212011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12424 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12425 * grub-core/lib/x86_64/setjmp.S: Likewise.
12426 * grub-core/lib/mips/setjmp.S: Likewise.
12427 * grub-core/lib/powerpc/setjmp.S: Likewise.
12428 * grub-core/lib/sparc64/setjmp.S: Likewise.
12429
0624551c
VS
124302011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12433 * grub-core/lib/efi/datetime.c: Likewise.
12434
e8f28d4c
VS
124352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12438 New function.
12439 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12440 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12441 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12442
bba79a15
VS
124432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12446 bitmap.
12447 (grub_gfxterm_term_init): Likewise.
12448
abc474ef
VS
124492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Take into account the decorations the computing menu entry width.
12452
12453 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12454 (grub_gfxmenu_create_box): Register get_border_width.
12455 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12456 if available.
12457 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12458 get_border_width.
12459
e74b3947
EP
124602011-04-18 Endres Puschner <code@e7p.de>
12461
12462 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12463 Don't skip first class.
12464
34faa595
VS
124652011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12468 chunks.
12469 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12470
93a777e3
VS
124712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Complete 64-bit division support.
12474
12475 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12476 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12477 * include/grub/misc.h (grub_divmod64): Rename to ...
12478 (grub_divmod64_full): ... this.
12479 (grub_divmod64): New inline function.
12480
a5102d94
VS
124812011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12484
f3fb7b36
VS
124852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12488 performing the necessary test.
12489
9ac718b0
VS
124902011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12493 (kfreebsd.elf): Likewise.
12494 (pc-chainloader.elf): Likewise.
12495 (ntldr.elf): Likewise.
12496
50d2cc5a
VS
124972011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 Identify RAID by its UUID rather than (guessed) name.
12500
12501 * grub-core/disk/raid.c (ascii2hex): New function.
12502 (grub_raid_open): Accept mduuid/%s specification.
12503 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12504 (get_mdadm_uuid): ... this.
12505 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12506
e03f7bea
VS
125072011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12510 to negative size.
12511
e74c3112
CW
125122011-04-13 Colin Watson <cjwatson@ubuntu.com>
12513
12514 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12515 btrfs subvolume.
12516 * util/grub.d/20_linux_xen.in: Likewise.
12517
78fa584f
CW
125182011-04-13 Colin Watson <cjwatson@ubuntu.com>
12519
12520 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12521 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12522
12523 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12524 Build a list of relevant visible mounts using the mnt_id and
12525 parent_mnt_id fields, and then scan that list at the end.
12526
9d5f8162
CW
125272011-04-12 Colin Watson <cjwatson@ubuntu.com>
12528
12529 * docs/grub.texi (normal): New section.
12530 (normal_exit): New section.
12531 (Embedded configuration): Add reference to normal.
12532 (GRUB only offers a rescue shell): Likewise.
12533 * docs/grub-dev.texi (Error Handling): Fix typo.
12534
09a9d66f
CW
125352011-04-12 Colin Watson <cjwatson@ubuntu.com>
12536
12537 * NEWS: Drop obsolete entry about probe-only btrfs support.
12538
0c676933
CW
125392011-04-12 Colin Watson <cjwatson@ubuntu.com>
12540
12541 * util/import_gcry.py: Fix typo.
12542
ec9f5e0d
VS
125432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * NEWS: Add btrfs support.
12546
fe6b2cba
VS
125472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
125482011-04-11 Colin Watson <cjwatson@ubuntu.com>
12549
12550 BtrFS support. Written by me (Vladimir) with important bugfixes and
12551 even more important testing by Colin.
12552
12553 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12554 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12555 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12556 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12557 mem_input_off and mem_input. All users updated to accept in-RAM input.
12558 (gzio_seek): New function.
12559 (test_zlib_header): Likewise.
12560 (grub_gzio_read): Likewise.
12561 (grub_zlib_decompress): Likewise.
12562 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12563 Accept partial and non-virtual mounts.
12564 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12565 avoid receiving /dev/dm-X as device.
12566 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12567 Handle bind and partial mounts.
12568 * grub-core/lib/crc.c: New file.
12569 * include/grub/deflate.h: Likewise.
12570 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12571 proto.
12572 * include/grub/lib/crc.h: New file.
12573
e745cf0c
VS
125742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 Implement automatic module license checking according to new GNU
12577 guidelines.
12578
12579 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12580 (grub_dl_load_core): Use grub_dl_check_license.
12581 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12582 (GRUB_MOD_LICENSE): Likewise.
12583 (GRUB_MOD_DUAL_LICENSE): Likewise.
12584 All modules updated.
12585
2a9bc016
CW
125862011-04-11 Colin Watson <cjwatson@ubuntu.com>
12587
12588 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12589 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12590 loaders.
12591 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12592
8a3bc88e
VS
125932011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12596
af869a4a
VS
125972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12600 failed.
12601
9ee8d94f
VS
126022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12605 parenthesis in the middle of the filename.
12606
b01abe3e
VS
126072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12610 rather than trying to put initrd way too high.
12611 Reported by: Ryan Lortie <desrt@desrt.ca>
12612
335bda1e
VS
126132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12616 improperly removed string.
12617
5ca1a64d
VS
126182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12621 is_disk.
12622 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12623 (open_device) Likewise.
12624 (grub_util_biosdisk_close): Likewise.
d8ce9995 12625 Reported by: Mark Korenberg.
5ca1a64d 12626
cbac5b1e
AK
126272011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12628
12629 * util/grub-mkconfig_lib.in: Add missing quotes.
12630
088cdb65
CW
126312011-04-10 Colin Watson <cjwatson@ubuntu.com>
12632
12633 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12634 is NULL.
12635
8b8a81fa
VS
126362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 Dynamically count the number of lines for the lower banner.
12639
12640 * grub-core/normal/menu_entry.c (per_term_screen): New member
12641 num_entries.
12642 (print_down): Use num_entries.
12643 (update_screen): Likewise.
12644 (grub_menu_entry_run): Set num_entries.
12645 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12646 num_entries.
12647 (grub_print_message_indented): Move real part to ...
12648 (grub_print_message_indented_real): ... here. Additional argument
12649 dry_run.
12650 (draw_border): Additional argument num_entries.
12651 (print_message): Additional argument dry_run.
12652 (print_entries): Receive menu viewer data.
12653 (grub_menu_init_page): New argment num_entries.
12654 (menu_text_set_chosen_entry): Use num_entries.
12655 (grub_menu_try_text): Likewise.
12656 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12657 All users updated.
12658 (grub_ucs4_count_lines): New function.
12659 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12660 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12661 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12662 (grub_term_border_height): Likewise.
12663 (grub_term_num_entries): Likewise.
12664
277f955b
VS
126652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12668 Remove now unused string.
12669
536ce85a
CW
126702011-04-09 Colin Watson <cjwatson@ubuntu.com>
12671
12672 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12673 build system.
12674 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12675
12676 (Comment): Fix typo.
12677 (Getting started): General copy-editing.
12678 (Typical Development Experience): Likewise.
12679 (Error Handling): Likewise.
12680 (Video API): Likewise.
12681
2cf09e32
CW
126822011-04-09 Colin Watson <cjwatson@ubuntu.com>
12683
12684 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12685 throughout.
12686
1ec652f4
VS
126872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12690 directory.
12691
2c583728
CW
126922011-04-08 Colin Watson <cjwatson@ubuntu.com>
12693
12694 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12695 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12696 "development".
12697
d7a565e9
VS
126982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12701 grub_strcpy since the lines aren't necessarily 0-terminated.
12702
7c2e4909
VS
127032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12706 root on legacy.
12707
34c09785
VS
127082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12711 (GRUB_MOD_INIT): DEVICE isn't optional.
12712
6a6f8058
VS
127132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12716 word on new line if it's too long anyway. Fixes a hang.
12717
2e335e90
VS
127182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12721 const.
12722 * util/grub-setup.c (main): Reuse md device name if available.
12723 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12724 not GRUB name as argument.
12725 Based on patch by: Florian Wagner <fwagner>.
12726
10a7a867
VS
127272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12730 Place mbi on low memory for better compatibility.
12731
7a3d6cd9
VS
127322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12735
18dd6b47
VS
127362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
127372011-04-08 Colin Watson <cjwatson@ubuntu.com>
12738
12739 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12740 * conf/Makefile.common: Likewise.
18dd6b47 12741
3c0e3f14
VS
127422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12743
f7148863
VS
12744 * grub-core/normal/menu.c: Add missing include.
12745
127462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12749
6d1fa41f
MZ
127502011-04-08 Martin Zuther <mzuther@mzuther.de>
12751
12752 * util/grub-mkconfig.in: Ignore emacsen backup.
12753
478182a8
VS
127542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12757 on open.
12758 (grub_util_biosdisk_close): Likewise.
12759
72a89a54
VS
127602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12763 const attribute and use grub_isdigit.
12764
b5ebecfa
A
127652011-04-06 Andrey <dev_null@ukr.net>
12766
12767 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12768 gcc warning.
12769
7755f66e
VS
127702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12773 useful grub_dprintf's.
12774
461121ff
VS
127752011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12778
2a961775
VS
127792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12782
adf594cc
VS
127832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 Output errors if theme loading failed.
12786
12787 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12788 grub_gfxterm_fullscreen on error paths to ...
12789 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12790 theme loading error.
12791
665900a3
VS
127922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12795 space for older compilers.
12796 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12797
a562b479
VS
127982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12801 and report them as not RAID members since they are useless for GRUB.
12802 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12803
850e9373
VS
128042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 Increase LVM implementation robustness in order not to crash on
12807 configurations like pvmove. Previously code assumed that in some places
12808 only lvs or only pvs are used whereas it seems that they are used
12809 interchangeably.
12810
12811 * grub-core/disk/lvm.c (read_node): New function.
12812 (read_lv): Use read_node.
12813 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12814 Match volumes only at the end when all lvs are found. Take both
12815 pvs (first) and lvs (second) into account.
12816 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12817 mirror_* into node_*. All users updated.
12818 (grub_lvm_stripe): Merge this ...
12819 (grub_lvm_mirror): ... and this ...
12820 (grub_lvm_node): ... into this. All users updated.
12821
6f332153
VS
128222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12825 of function to allow further scanning for LVMs.
12826
829ea451
VS
128272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12830 on failed seek as it breaks open fd reusage.
12831
09ceb9a5
VS
128322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * util/grub-install.in: Add a recommendation to use --recheck before
12835 reporting bugs.
12836
67e11623
VS
128372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12840 are obtained.
12841
caee5efd
VS
128422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 GRUB developper manual based on existing Internals section and
12845 contributions by the various authors with active copyright assignment.
12846
12847 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12848 * docs/font_char_metrics.png: New file.
12849 * docs/font_char_metrics.txt: Likewise.
12850 * docs/grub-dev.texi: Likewise.
12851 * docs/grub.texi (Internals): Move from here ...
12852 * docs/grub-dev.texi: ... here.
12853
2cccc747
CW
128542011-04-01 Colin Watson <cjwatson@ubuntu.com>
12855
12856 Store the loopback device as data on loopback grub_disk structures,
12857 rather than the file it points to. This fixes use of freed memory
12858 if an existing loopback device is replaced.
12859
12860 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12861 disk->data, not dev->file.
12862 (grub_loopback_read): Adjust file assignment to match.
12863 Fixes Ubuntu bug #742967.
12864
186ae367
CW
128652011-04-01 Colin Watson <cjwatson@ubuntu.com>
12866
12867 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12868 when replacing an existing device.
12869
cfed2ad0
VS
128702011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12873 memory corruptions.
12874
12875 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12876 unsigned.
12877 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12878 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12879 (grub_jfs_read_inode): Likewise.
12880 (grub_jfs_opendir): Likewise. Remove now useless casts.
12881 (grub_jfs_getent): Likewise.
12882 Make ino a grub_uint32_t rather than int.
12883 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12884 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12885 division and module with bit operations.
12886 (grub_jfs_find_file): Make ino a grub_uint32_t.
12887 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12888
05d2ed32
CW
128892011-04-01 Colin Watson <cjwatson@ubuntu.com>
12890
12891 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12892 warning. (This was in fact always initialised before use, but GCC
12893 wasn't smart enough to prove that.)
12894 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12895
91dc6073
VS
128962011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12899 stack alignment.
12900 (efi_wrap_1): Likewise.
12901 (efi_wrap_2): Likewise.
12902 (efi_wrap_3): Likewise.
12903 (efi_wrap_4): Likewise.
12904 (efi_wrap_5): Likewise.
12905 (efi_wrap_6): Likewise.
12906 (efi_wrap_10): Likewise.
12907 Based on information by: Red Hat/Peter Jones.
12908
a8afc1d1
CW
129092011-03-31 Colin Watson <cjwatson@ubuntu.com>
12910
12911 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12912 set-but-not-used variable.
12913
a826cc7d
CW
129142011-03-31 Colin Watson <cjwatson@ubuntu.com>
12915
12916 * docs/grub.texi (Simple configuration): Be more explicit about
12917 GRUB_DEFAULT, and add an example.
12918 Reported by: Leslie Rhorer.
12919
875b67ba
CW
129202011-03-30 Colin Watson <cjwatson@ubuntu.com>
12921
12922 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12923 shell".
12924
fd7cd914
AS
129252011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12926
12927 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12928 * util/grub.d/20_linux_xen.in: Likewise.
12929
090b1b6a
VS
129302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * util/grub.d/10_linux.in: Try alternative config filenames where
12933 we parse config file.
12934 * util/grub.d/20_linux_xen.in: Likewise.
12935
baad885c
AS
129362011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12937
12938 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12939 * util/grub.d/20_linux_xen.in: Likewise.
12940
241e41f5
VS
129412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * grub-core/disk/raid.c (insert_array): Add few potentially
12944 useful grub_util_info.
12945 (grub_raid_register): Likewise.
12946
56445fb2
VS
129472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12950 Preserve partition number in mdadm code path.
12951
c871b1c6
VS
129522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12955 few potentially useful grub_util_info.
12956
5e631b4f
CW
129572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12960
2d5d0333
CW
129612011-03-30 Colin Watson <cjwatson@ubuntu.com>
12962
12963 * docs/grub.texi (default): Use @example rather than nested
12964 itemized lists to avoid breaking gendocs.
12965
3d7ed04e
CW
129662011-03-30 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * docs/grub.texi (Future): Update.
12969
abf04200 129702011-03-30 Colin Watson <cjwatson@ubuntu.com>
12971
12972 * docs/grub.texi (Environment): New chapter.
12973 (Changes from GRUB Legacy): Link to "Environment block" section for
12974 details of limitations.
12975 (Simple configuration): Likewise. Link to documentation of gfxmode
12976 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12977 respectively.
12978 (Shell-like scripting): Note that normal variables are stored in the
12979 environment.
12980 (gettext): Link to documentation of lang and locale_dir.
12981 (list_env): New section.
12982 (load_env): New section.
12983 (save_env): New section.
12984
12985 (Reporting bugs): Fix typo.
12986
e1ad0edd
VS
129872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12990 the example.
12991
5d803174
VS
129922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/term/at_keyboard.c (set_scancodes)
12995 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12996
2a2da1d0
CW
129972011-03-30 Colin Watson <cjwatson@ubuntu.com>
12998
12999 * docs/grub.texi (Menu-specific commands): Remove some semantics
13000 that were true in GRUB Legacy but not in GRUB 2.
13001 (submenu): New section.
13002 (false): New section.
13003 (read): New section.
13004 (true): New section.
13005
a7527639
CW
130062011-03-30 Colin Watson <cjwatson@ubuntu.com>
13007
13008 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13009
130102011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
13011
13012 * docs/grub.texi (Simple configuration): Explain some of the
13013 current limitations of grub-mkconfig.
8a748df2 13014 Reported by: Leslie Rhorer.
e30af029 13015
fc858482
VS
130162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 Old macs search for boot.efi rather than for bootia32.efi.
13019
13020 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13021 * util/grub-mkrescue.in: Likewise.
13022 Suggested by: Peter Jones.
13023
e1eb511d
VS
130242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13027
70e75364
VS
130282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13031 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13032 (grub_lvm_mirror): New struct.
13033 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13034 (grub_lvm_iterate): Iterate only visible volumes.
13035 (grub_lvm_read): Factor out to ..
13036 (read_lv): ... this. Support mirrors.
13037 (grub_lvm_read): New wrapper function.
13038 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13039 stripped or mirrored.
13040
fc18f6a3
VS
130412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13044
5c650f4c
CW
130452011-03-29 Colin Watson <cjwatson@ubuntu.com>
13046
13047 * docs/grub.texi (loopback): New section.
13048
61d7156b
CW
130492011-03-29 Colin Watson <cjwatson@ubuntu.com>
13050
13051 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13052 removed -p option.
13053
994b8264
CW
130542011-03-29 Colin Watson <cjwatson@ubuntu.com>
13055
13056 * docs/grub.texi (BIOS installation): New section, partly based on
13057 previous text in other sections.
13058 (Installing GRUB using grub-install): Replace BIOS discussion with a
13059 cross-reference.
13060 (Images): Likewise.
13061
9e4d19e0
VS
130622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13065 [HAVE_DIOCGDINFO]: Add safety checks.
13066
a307c0b2
VS
130672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13070 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13071
b4db4f39
CW
130722011-03-29 Colin Watson <cjwatson@ubuntu.com>
13073
13074 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13075 real_sb->size is zero (e.g. RAID-0), get the disk size from
13076 real_sb->data_size instead.
13077 Fixes Ubuntu bug #743136.
13078
35e5f84c
VS
130792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13082 printf clauses for printing size and start.
13083
d2e29d81
VS
130842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13087 Reported and tested by: Timothy Nikkel.
13088
ed5587af
VS
130892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13092 (dirty_region_add_real): ... this.
13093 (dirty_region_add): Don't discard margin refresh when performing
13094 scheduled repaint.
13095
a1dc717c
VS
130962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * grub-core/lib/relocator.c (allocate_regstart)
13099 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13100 terminals are capabple of malloc-free operation.
13101 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13102 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13103
9f3677d3
VS
131042011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13105
13106 * util/grub-setup.c: Copy the partition table zone if floppy support
13107 is disabled, even if no partition table is found.
13108
13109 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13110 during POST if an invalid partition table is contained in the PBR
13111 of the active partition when GRUB is installed to a partition.
13112
24148725
CW
131132011-03-28 Colin Watson <cjwatson@debian.org>
13114
13115 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13116 comment.
13117
f329eda7
CW
131182011-03-28 Colin Watson <cjwatson@debian.org>
13119
13120 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13121 to be specific about what kind of RAID device we're scanning for.
13122
c482ad98
SG
131232011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13124
13125 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13126 return freed string.
13127
5ee04984
VS
131282011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13131
f4727da9
VS
131322011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 Use libgeom on FreeBSD to detect partitions.
13135
13136 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13137 (grub-mkrelpath): Likewise.
13138 (grub-script-check): Likewise.
13139 (grub-editenv): Likewise.
13140 (grub-mkpasswd-pbkdf2): Likewise.
13141 (grub-fstest): Likewise.
13142 (grub-mkfont): Likewise.
13143 (grub-mkdevicemap): Likewise.
13144 (grub-probe): Likewise.
13145 (grub-setup): Likewise.
13146 (grub-ofpathname): Likewise.
13147 (grub-mklayout): Likewise.
13148 (example_unit_test): Likewise.
13149 (grub-menulst2cfg): Likewise.
13150 * grub-core/Makefile.core.def (grub-emu): Likewise.
13151 (grub-emu-lite): Likewise.
13152 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13153 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13154 define HAVE_DIOCGDINFO.
13155 (follow_geom_up) [FreeBSD]: New function.
13156 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13157 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13158 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13159 unconditionally of HAVE_DIOCGDINFO.
13160
82fe6c75
VS
131612011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 Fix FreeBSD compilation problem.
13164
13165 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13166 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13167
4c6c9431
CW
131682011-03-24 Colin Watson <cjwatson@ubuntu.com>
13169
13170 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13171 Switch back to page zero before loading a kernel, since some kernel
13172 drivers expect that.
13173 Thanks to: Felix Kuehling.
13174
c7064d94
VS
131752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13178 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13179 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13180
3f71cded
VS
131812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13184 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13185
ef6de21a
VS
131862011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13189 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13190 malloc is disabled.
13191
8bc66a2c
VS
131922011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13195 for modules headers when counting the needed allocation size.
13196
5657722c
VS
131972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13198
13199 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13200 if no ASCII character is found to prevent crash.
13201
41a85f55
AK
132022011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13203
13204 * grub-core/video/bitmap.c (match_extension): Ignore case.
13205
59e1e5f1
VS
132062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13209
bd4d051a
VS
132102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/script/parser.y: Declare "time" as valid argument.
13213
bae7fcc1
PJ
132142011-03-23 Peter Jones <pjones@redhat.com>
13215
13216 Fix incorrect assert failure reporting.
13217
13218 * grub-core/tests/example_functional_test.c (example_test): Add
13219 a failure comment.
13220 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13221 (failure_start): ...this. Check that malloc succeeded.
13222 Don't call xvasprintf. Return failure struct.
13223 (failure_append_vtext): New function.
13224 (failure_append_text): Likewise.
13225 (add_failure): Likewise.
13226 (grub_test_assert_helper): Likewise.
13227 * include/grub/test.h (grub_test_assert_helper): New declaration.
13228 (grub_test_assert): Macro rewritten.
13229
537dc9be
VS
132302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13233
fa3e01bf
VS
132342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13237
b1d28404
VS
132382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13241 into GRUB-style one.
13242
2e3e2e09
VS
132432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13246 error and not grub_errno.
13247 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13248
ed57e557
VS
132492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13252 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13253
d1611f01
VS
132542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * grub-core/efiemu/i386/pc/cfgtables.c
13257 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13258 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13259 (grub_xnu_unlock): Likewise.
13260 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13261
7d4e39d6
VS
132622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13265 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13266 * grub-core/commands/hashsum.c (aliases): Likewise.
13267 * grub-core/commands/setpci.c (pci_registers): Likewise.
13268 * grub-core/disk/usbms.c (attach_hook): Likewise.
13269 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13270 (zio_checksum_table): Likewise.
13271 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13272 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13273 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13274 * grub-core/lib/relocator.c (leftovers): Likewise.
13275 (extra_blocks): Likewise.
13276 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13277 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13278 (modules_last): Likewise.
13279 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13280 (devices): Likewise.
13281 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13282 (modules_last): Likewise.
13283 * grub-core/normal/auth.c (users): Likewise.
13284 * grub-core/normal/context.c (initial_menu): Likewise.
13285 (current_menu): Likewise.
13286 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13287 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13288 (grub_serial_terminfo_input_template): Likewise.
13289 (grub_serial_terminfo_output_template): Likewise.
13290 (grub_serial_terminfo_input): Likewise.
13291 (grub_serial_terminfo_output): Likewise.
13292 (registered): Likewise.
13293 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13294
40fc4659
VS
132952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13298 grub_video_mode_type_t.
13299 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13300 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13301 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13302
2da48d28
VS
133032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * util/grub-install.in: Correct the x86-64 name as x86_64.
13306
9b43bf39
CW
133072011-03-11 Colin Watson <cjwatson@ubuntu.com>
13308
13309 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13310 initial chunk read from the kernel always includes GRUB's multiboot
13311 header, which is now outside the first sector.
13312
be1a7ce0
CW
133132011-03-09 Colin Watson <cjwatson@ubuntu.com>
13314
13315 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13316 cached mmap_size, so that this works correctly when called multiple
13317 times.
13318 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13319
83a3c48d
CW
133202011-03-09 Colin Watson <cjwatson@ubuntu.com>
13321
13322 * docs/grub.texi (Simple configuration): Tidy up formatting.
13323
57d75699
SJ
133242011-03-07 Szymon Janc <szymon@janc.net.pl>
13325
13326 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13327 Set-but-not-used variable removed.
13328
028501a0
VS
133292011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 Workaround yet another IEEE1275 bug.
13332
13333 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13334 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13335 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13336 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13337 is set.
13338 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13339 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13340
d998657d
VS
133412011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13344 error.
13345
fee7cdd4
CW
133462011-02-11 Colin Watson <cjwatson@ubuntu.com>
13347
13348 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13349 empty, since in that case we can only generate either nothing or a
13350 syntactically invalid configuration file.
13351 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13352
97286eb5
CW
133532011-02-09 Colin Watson <cjwatson@ubuntu.com>
13354
13355 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13356 (Making a GRUB bootable CD-ROM): Likewise.
13357 (Invoking grub-mkrescue): New section.
13358 Reported by: Yann Dirson. Fixes Debian bug #612585.
13359
22b28eb3
CW
133602011-02-09 Colin Watson <cjwatson@ubuntu.com>
13361
13362 * util/grub-install.in: Remove unnecessary brackets from tr
13363 arguments.
13364 * util/grub.d/10_hurd.in: Likewise.
13365 * util/grub.d/10_kfreebsd.in: Likewise.
13366 * util/grub.d/10_linux.in: Likewise.
13367 * util/grub.d/20_linux_xen.in: Likewise.
13368 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13369
7e735e43
CW
133702011-02-08 Colin Watson <cjwatson@ubuntu.com>
13371
13372 * include/grub/file.h (not_easly_seekable): Rename to ...
13373 (not_easily_seekable): ... this. Update all users.
13374
800f1881
CW
133752011-01-28 Colin Watson <cjwatson@ubuntu.com>
13376
13377 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13378 grub-mkrescue.
13379
3281d3d6
VS
133802011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 * util/grub-mkimage.c (generate_image): Refuse to create the images
13383 bigger than the actual flash (512K) in Loongson machines. 512K is also
13384 the biggest chip supported by them.
13385
3533413c
VS
133862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13387
13388 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13389
73ae4f4f
VS
133902011-01-22 Anthony DeRobertis <anthony@derobert.net>
13391
13392 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13393 super_offset field.
13394
37f4f608
VS
133952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * util/grub-install.in: Ignore install device on platforms
13398 where it doesn't make sense. Always use UUIDs except on pc, efi and
13399 sparc64.
13400 Reported by: Daniel Kahn Gillmor.
13401
03a4ccb5
VS
134022011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13403
13404 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13405
ffc8f4d8
VS
134062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13409 (iterate_real): Don't rely on partition being non-NULL.
13410
80f23be7
VS
134112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13414 supported platforms. Put a compile time assert for this rather than
13415 generate a warning with 32-bit shift.
13416
5d4f4dd5
VS
134172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13420 logical expression more readable.
13421
e489601a
VS
134222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13425 even if some elements have a name.
13426 Reported by: Alexander GQ Gerasiov.
13427
96e0a6ea
CW
134282011-01-22 Colin Watson <cjwatson@ubuntu.com>
13429
13430 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13431 path unreadable if `grub-probe -t abstraction' fails, for example if
13432 memberlist fails on an LVM volume group.
13433 Reported by: Darius Jahandarie.
13434
81431e2b
CW
134352011-01-22 Colin Watson <cjwatson@ubuntu.com>
13436
13437 * docs/grub.texi (Simple configuration): Document
13438 GRUB_PRELOAD_MODULES.
13439
5e79d66a
CW
134402011-01-17 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * .bzrignore: Remove nonexistent grub-pbkdf2.
13443
646ada34
VS
134442011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * configure.ac: Bump version to 1.99~rc1.
13447
04360337
VS
134482011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13451 for safety.
13452
46c9db88
VS
134532011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13456 module.
13457
134582011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13459
13460 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13461
4fbf1852
VS
134622011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13465 diskdevid.
13466
f1632d4d
VS
134672011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 Fix compilation on cygwin.
13470
13471 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13472 -R .drectve on cygwin.
13473 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13474 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13475 (COND_CYGWIN): New condition.
13476 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13477 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13478 not @TARGET_OBJ2ELF@.
13479 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13480 type to determine whether aux is to be used.
13481
0b5e127b
VS
134822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13485 realpath'ed device string.
13486 Handle floppy (somewhat).
13487 Issue error in unknown case rather than garbage.
13488 Reported by: Axel Beckert.
13489
173b71e9
VS
134902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * util/grub.d/00_header.in (load_video): Handle the case when no video
13493 drivers available.
13494 Thanks to: Axel Beckert.
13495
f8f479db
VS
134962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13499 variable. Fixes problem on big endian platforms.
13500
8fc0a245
VS
135012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13504 It doesn't work well there.
13505
b8494fbe
VS
135062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13509 warning.
13510 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13511 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13512 counter.
13513
b44a558c
VS
135142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 Use alias->path rather than buggy "canon".
13517
13518 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13519 (ofdisk_hash_add): New argument curcan. All users updated.
13520
51fa856c
CW
135212011-01-11 Colin Watson <cjwatson@ubuntu.com>
13522
13523 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13524
9da068a5
VS
135252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13528 loadmask before doing any calculations. Use correct type for offset.
13529 (grub_linux_load64): Likewise.
13530
86205c94
CW
135312011-01-11 Colin Watson <cjwatson@ubuntu.com>
13532
13533 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13534 with NULL.
13535 (console_grub_equivalences_unshift): Likewise.
13536 Reported by: Daniel Dehennin.
13537
4531a206
VS
135382011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13541 (set_env_limn_ro): Likewise.
13542 (GRUB_MOD_INIT): Likewise.
13543 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13544 ARRAY_SIZE while on it.
13545 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13546 * grub-core/normal/context.c (grub_env_export): Move from here ...
13547 * grub-core/kern/env.c (grub_env_export): ... here.
13548 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13549 prefix.
13550 * grub-core/kern/main.c (grub_main): Export root and prefix.
13551 * include/grub/env.h (grub_env_export): Export.
13552 Reported by: Seth Goldberg.
13553
45146057
VS
135542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13557 Take into account space used by ELF sections and multiboot palette.
13558 Reported by: Grégoire Sutre.
13559
f093110b
VS
135602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * BUGS: New file.
13563
3395fe52
VS
135642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 Pass more appropriate video id to Linux.
13567
13568 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13569 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13570 fill have_vga.
13571 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13572 shift params->lfb_size.
13573 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13574
c2fa6cbb
VS
135752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13578
b3ff6ff0
VS
135792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13582 separator and pass bootpath/devid even if only one of them is available.
13583 Reported by: Seth Goldberg.
13584
ae67942e
VS
135852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13588 implementations bug on them.
13589
13590 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13591 memory.
13592 (filter_memory_map): Likewise.
13593
d570097a
VS
135942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13597 Reported by: nebuchadnezzar.
13598
a508e776
VS
135992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13602 Reported by: nebuchadnezzar.
13603
dcb883b1
VS
136042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 Submenu default support.
13607
13608 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13609 auto_boot. All users updated.
13610 Declared static.
13611 Handle chosen and default with submenus.
13612 (grub_menu_execute_with_fallback): Declared static.
13613 Don't notify failure if autobooted. Upper level does it.
13614 (menuentry_eq): New function.
13615 (get_entry_number): Use menuentry_eq.
13616 (show_menu): New parameter "autobooted". All users updated.
13617 (grub_show_menu): Likewise.
13618 * include/grub/normal.h (grub_show_menu): Likewise.
13619 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13620 (grub_menu_execute_with_fallback): Likewise.
13621
6fef99b4
VS
136222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * util/grub-mklayout.c (usage): Update help text.
13625
47a77af5
VS
136262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13629
ce6bb3ee
VS
136302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * util/grub-menulst2cfg.c (main): Trim the line.
13633
db87be2a
VS
136342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13637 (grub_machine_init): Don't check amount of low memory as reportedly
13638 INT 12h can be broken and if low memory is too low we wouldn't have
13639 gotten into grub_machine_init anyway.
13640
c49849cc
VS
136412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13644 (grub_machine_mmap_iterate): Take low memory into account
13645
b1969b30
VS
136462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13649 badfs.
13650 Reported by: TiCPU.
13651
cf0eaf13
VS
136522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13655 members errors.
13656
1f060f39
GS
136572011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13658
13659 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13660 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13661
a21e5672
GS
136622011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13663
13664 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13665 openbsd and netbsd types being in part_bsd module.
13666
c88172fa
VS
136672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13670 (_FILE_OFFSET_BITS): Likewise.
13671 Reported by: Seth Goldberg.
13672
53798c4b
GS
136732011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13674
13675 * configure.ac: Check for libdevmapper header.
13676
e7121b69
VS
136772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13680 avoid aliasing.
13681 (fzap_lookup): Likewise.
13682 (dnode_get): Likewise.
13683 (make_mdn): Likewise.
13684 (zfs_mount): Likewise.
13685 (fzap_iterate): Use temporary pointer to avoid aliasing.
13686 (grub_zfs_read): Likewise.
13687 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13688 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13689 pointers to avoid aliasing.
13690 (grub_cmd_xnu_kernel64): Likewise.
13691 (grub_xnu_load_driver): Likewise.
13692
fc836af9
VS
136932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13696 aliasing warning.
13697 (grub_cmd_terminal_output): Likewise.
13698 Reported and tested by: Grégoire Sutre.
13699
f9f37648
VS
137002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13703 warning.
13704 Reported and tested by: Grégoire Sutre.
13705
ec1dfd63
VS
137062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 * configure.ac: Do CPU substitution even if it's specified explicitly.
13709 Reported and tested by: Alain Greppin.
13710
9462775a
VS
137112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13714 Reported and tested by: Alain Greppin.
13715
0fd48e35
VS
137162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 Satisfy some bison versions need for inttypes.h.
13719
13720 * grub-core/lib/posix_wrap/inttypes.h: New file.
13721 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13722 (int16_t): Likewise.
13723 (int32_t): Likewise.
13724 (int64_t): Likewise.
13725 Reported and tested by: Alain Greppin.
13726
43f1bc83
VS
137272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13730 Silence spurious warning.
13731 Reported and tested by: Alain Greppin.
13732
64d1f041
SJ
137332011-01-07 Szymon Janc <szymon@janc.net.pl>
13734
13735 * docs/grub.texi (Support automatic decompression): Update with xz
13736 decompression support.
13737
25953e10
SJ
137382011-01-07 Szymon Janc <szymon@janc.net.pl>
13739
13740 Improve loaders' kernel command line handling.
13741
13742 * grub-core/lib/cmdline.c: New file.
13743 * include/grub/lib/cmdline.h: Likewise.
13744 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13745 grub_create_loader_cmdline to create kernel command line.
13746 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13747 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13748 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13749 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13750 (linux): Add lib/cmdline.c on common.
13751
e72d259f
VS
137522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13755 inopos might be unaligned.
13756
c0cf26da
VS
137572011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13760 endian transformations.
13761 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13762 Based on report by: Doug Nazar.
13763
0ca09e6c
DN
137642011-01-07 Doug Nazar <nazard.michi@gmail.com>
13765
13766 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13767 array->members[i].start_sector.
13768 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13769
014b6806
VS
137702011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13773 Reported and tested by: Grégoire Sutre.
13774
415502c2
CW
137752011-01-06 Colin Watson <cjwatson@ubuntu.com>
13776
13777 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13778 avoid causing test failures by clearing the screen.
13779
71b6a2b7
CW
137802011-01-06 Colin Watson <cjwatson@ubuntu.com>
13781
13782 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13783 Fix prefix check to handle the case where dir ends with a slash
13784 (most significantly, "/" itself).
13785 Reported by: Michael Vogt.
13786
b3f8d28a
VS
137872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 Run terminfo_cls on initing terminfo output to clear the screen and
13790 move the cursor to (0,0).
13791
13792 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13793 Call grub_terminfo_output_init.
13794 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13795 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13796 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13797
4c3e4f37
VS
137982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13801 only when needed.
13802
488f71f1
VS
138032011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13806 CTRL.
13807
18a38098
VS
138082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 The E820 type 5 is BADRAM, not EXEC_CODE.
13811
13812 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13813 (GRUB_E820_BADRAM): New define.
13814 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13815 into reserved. Propagate BADRAM.
13816 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13817 (GRUB_E820_BADRAM): New define.
13818
9eae2084
VS
138192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13822 Ignore the memory post-4G.
13823 (grub_relocator_firmware_alloc_region): Additional debug statement.
13824
ebc71d28
VS
138252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13828 names.
13829 Reported by: David Pravec.
13830
446fa400
VS
138312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13834 BIOSes.
13835
a0159f37
VS
138362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13839 Prevent overflow.
13840 (grub_reed_solomon_recover): Likewise.
13841
e5146ca1
VS
138422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13845
138462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13847
13848 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13849 variable.
13850
5b1bdf12
CW
138512011-01-04 Colin Watson <cjwatson@ubuntu.com>
13852
13853 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13854 descriptions of extract_legacy_entries_source and
13855 extract_legacy_entries_configfile.
13856 Reported by: Seung Soo, Ha.
13857
99d925aa
CW
138582011-01-03 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13861 on devices that do not implement function 0.
13862
4af0504b
DV
138632011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13864
13865 * grub-core/fs/hfsplus.c: Make parent unsigned.
13866 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13867 overflows.
13868 (grub_hfsplus_cmp_extkey): Likewise
13869
469ee10a
VS
138702011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 * util/grub-install.in: Correctly use bootloader_id and not
13873 GRUB_DISTRIBUTOR on efibootmgr line.
13874
323a8e9c
VS
138752011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13878
1b394975
IC
138792010-12-31 Ian Campbell <ijc@hellion.org.uk>
13880
13881 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13882 Xen and reorder menu item wording to make it clearer that this entry
13883 will launch Xen. Print separate messages when loading Xen and
13884 Linux.
13885
275bff5f
VS
138862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13889 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13890 loop in case of incorrect amiga partmap.
13891
307806cb
VS
138922010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13895 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13896 Reported by:EHeM.
13897
b12b923e
VS
138982010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13901 spurious warning.
13902 Reported by: crocket
13903
14b48a19
VS
139042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13907 Preload EFIemu.
13908 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13909
693db2df
VS
139102010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13913 is loaded
13914 (grub_cmd_xnu_kextdir): Likewise.
13915 (grub_cmd_xnu_splash): Likewise.
13916
c7638645
VS
139172010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 Avoid using Reed-Solomon with 0 redundancy.
13920
13921 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13922 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13923 or 0 redundancy.
13924 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13925 (grub_reed_solomon_recover): Likewise.
13926
25dd4780
VS
139272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 Don't use disk subsystem in freebsd_boot.
13930
13931 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13932 (freebsd_biosdev): Likewise.
13933 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13934 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13935
0b2db943
VS
139362010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 Handling of files of unknown size is currently limited. They can't be
13939 used e.g. for initrd or modules. Moreover gzip handling of not
13940 easily seekable files is buggy. Disable unknown file size for now. May
13941 be inefficient but works.
13942
13943 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13944 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13945
5c408d0f
MP
139462010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13947
13948 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13949 floppy probe.
13950
190a011a
JD
139512010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13952
13953 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13954
022d01b8
SL
139552010-12-25 Shea Levy <shlevy>
13956
13957 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13958
c4855fdc
VS
139592010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13962 Windows Server 2008.
13963 Reported by: Devin Giddings.
13964
0354b867
VS
139652010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13968 writing an error message because of async power management.
13969 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13970 (grub_reboot): Likewise.
13971
ab66c69f
JU
139722010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13973
13974 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13975 keep unit tests from failing when they shouldn't.
13976
1426ef35
CW
139772010-12-21 Colin Watson <cjwatson@ubuntu.com>
13978
13979 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13980 previous patch increased the size of the RS code by 20 bytes (at
13981 least with gcc-4.4), so increase this by 20 bytes to match.
13982 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13983
20641b6b
CW
139842010-12-21 Colin Watson <cjwatson@ubuntu.com>
13985
13986 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13987 scratch area. Make sure to initialise chosen in standalone mode as
13988 well as non-standalone.
13989 Reported by: Robert Hooker and Andy Whitcroft.
13990 Tested by: Andy Whitcroft.
13991
d060ad60
CW
139922010-12-21 Colin Watson <cjwatson@ubuntu.com>
13993
13994 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13995 constructing a new unescaped string and passing it to grub_xputs in
13996 one go, rather than passing characters to grub_printf one at a time.
13997
b889cfad
CW
139982010-12-21 Colin Watson <cjwatson@ubuntu.com>
13999
14000 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14001 initialising utf16.
14002
4e01b6c8
CW
140032010-12-21 Colin Watson <cjwatson@ubuntu.com>
14004
14005 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14006 comment. Add an extra layer of quotation, requiring the output of
14007 this function to be used in a printf format string.
14008 (gettext_printf): New function.
14009 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14010 Extract translatable strings from here-documents and use a temporary
14011 variable instead, so that xgettext can find them.
14012 * util/grub.d/10_kfreebsd.in: Likewise.
14013 * util/grub.d/10_linux.in: Likewise.
14014 * util/grub.d/20_linux_xen.in: Likewise.
14015
14016 * po/grub.d.sed: New file.
14017 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14018 arguments. Set c-format flags on all strings extracted from
14019 util/grub.d/ (xgettext refuses to include these itself for strings
14020 it extracted from a shell file, but these really are c-format).
14021
5318fe98
VS
140222010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14025 Avoid next pointing to nowhere.
14026
6c85b743
VS
140272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14030 rather than assuming than rootblock is exactly in the middle.
14031 (grub_affs_label): Likewise.
14032
a2a08a35
VS
140332010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14036 reserved_first_sector to 0.
14037 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14038 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14039 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14040
7059d1ec
VS
140412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 Fix handling of UTF-16 UDF labels.
14044
14045 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14046 (read_string): .. here.
14047 (grub_udf_label): Use read_string.
14048
30aff4cb
BC
140492010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14050
14051 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14052 editor under argument scope.
14053 Reported by: Jordan Uggla
14054
5cf86f4b
VS
140552010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14058
32570200
CW
140592010-12-18 Colin Watson <cjwatson@ubuntu.com>
14060
14061 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14062 line, and other keys scroll an entire page (previous handling was
14063 for \r and \n to scroll a page and other keys to scroll two lines).
14064
e1dffcf2
VS
140652010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14068 Set ptrdest to correct get_physical_target_address rather than
14069 incorrect get_virtual_current_address.
14070
b04298cf 140712010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14072
14073 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14074 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14075
5367ecd3
CW
140762010-12-10 Colin Watson <cjwatson@ubuntu.com>
14077
14078 * .bzrignore: Ignore grub-core/rs_decoder.S.
14079
1fb430f8
CW
140802010-12-10 Colin Watson <cjwatson@ubuntu.com>
14081
14082 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14083 .mo/.mo.gz opening sequence to ...
14084 (grub_mofile_open_lang): ... here.
14085 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14086 * util/grub.d/00_header.in (grub_lang): Include country part of
14087 locale.
14088 Reported by: Mario Limonciello.
14089
a94a6671
RM
140902010-12-09 Robert Millan <rmh@gnu.org>
14091
14092 * NEWS: Document addition of ZFS support.
14093
24b7938b
CW
140942010-12-04 Colin Watson <cjwatson@ubuntu.com>
14095
14096 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14097 rather than `/ 2', as the latter requires -Wa,--divide which would
14098 require bumping our minimum binutils version.
14099
bddc3ef6
BC
141002010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14101
14102 * util/grub-script-check.c (main): Print script line number on
14103 error.
14104
bf78d5b2
RM
141052010-12-01 Robert Millan <rmh@gnu.org>
14106
14107 * grub-core/fs/zfs/zfs.c: New file.
14108 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14109 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14110 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14111 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14112
14113 * include/grub/zfs/dmu.h: Likewise.
14114 * include/grub/zfs/dmu_objset.h: Likewise.
14115 * include/grub/zfs/dnode.h: Likewise.
14116 * include/grub/zfs/dsl_dataset.h: Likewise.
14117 * include/grub/zfs/dsl_dir.h: Likewise.
14118 * include/grub/zfs/sa_impl.h: Likewise.
14119 * include/grub/zfs/spa.h: Likewise.
14120 * include/grub/zfs/uberblock_impl.h: Likewise.
14121 * include/grub/zfs/vdev_impl.h: Likewise.
14122 * include/grub/zfs/zap_impl.h: Likewise.
14123 * include/grub/zfs/zap_leaf.h: Likewise.
14124 * include/grub/zfs/zfs.h: Likewise.
14125 * include/grub/zfs/zfs_acl.h: Likewise.
14126 * include/grub/zfs/zfs_znode.h: Likewise.
14127 * include/grub/zfs/zil.h: Likewise.
14128 * include/grub/zfs/zio.h: Likewise.
14129 * include/grub/zfs/zio_checksum.h: Likewise.
14130
14131 * Makefile.util.def: Build ZFS into libgrubmods.
14132 * grub-core/Makefile.core.def: Build zfs.mod.
14133
3f0f3831
SJ
141342010-11-30 Szymon Janc <szymon@janc.net.pl>
14135
14136 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14137 variable.
14138 * grub-core/commands/wildcard.c (match_files): Likewise.
14139
3a4253b2
RM
141402010-11-30 Robert Millan <rmh@gnu.org>
14141
14142 * grub-core/loader/i386/bsd.c
14143 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14144 whether kernel is loaded using grub_loader_is_loaded(), rather
14145 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14146 certain error conditions.
14147
8c317b27
RM
141482010-11-30 Robert Millan <rmh@gnu.org>
14149
c5c9cd3e
RM
14150 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14151 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 14152
49d3ab46
VS
141532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 Avoid using tricks for initialising endian variables.
14156
14157 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14158 Make const.
14159 (GRUB_MOD_INIT): Don't byte-swap.
14160 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14161 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14162 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14163 (grub_swap_bytes32_compile_time): Likewise.
14164 (grub_cpu_to_le32_compile_time): Likewise.
14165 (grub_cpu_to_le16_compile_time): Likewise.
14166
f420a804
VS
141672010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * util/grub-setup.c (setup): Stop recommending --force. People who
14170 understand the dangers of blocklists are able to find this option
14171 anyway and the ones who don't shouldn't use it anyway.
14172
4e7db17b
RM
141732010-11-26 Robert Millan <rmh@gnu.org>
14174
14175 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14176 Update all users.
14177
9be57a0d
CW
141782010-11-26 Colin Watson <cjwatson@ubuntu.com>
14179
14180 Fix LVM-on-RAID probing.
14181
14182 * util/grub-probe.c (probe): Remember which disk was detected as
14183 RAID (perhaps an LVM physical volume). Use that disk's raidname
14184 rather than that of the top-level disk.
14185
2c7859b3 141862010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 14187
d7647bb6
BC
14188 Fix cmdline argument quotes for setparams command of menuentry
14189 definitions.
7e623b0d
BC
14190
14191 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14192 quotes for arguments.
f866fe80 14193 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 14194 grub_strchrsub function instead.
f866fe80 14195
7955bea0 14196 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 14197
74f72a64
CW
141982010-11-24 Colin Watson <cjwatson@ubuntu.com>
14199
14200 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14201 effort by skipping "." and ".." entries up-front.
14202 Suggested by: Michael Lazarev.
14203
5a407278
CW
142042010-11-24 Colin Watson <cjwatson@ubuntu.com>
14205
14206 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14207 ldflags to ldadd, to fix link line ordering.
14208 (none_decompress): Likewise.
14209
3030d8ec
CW
142102010-11-24 Colin Watson <cjwatson@ubuntu.com>
14211
14212 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14213 platforms.
14214 (grub-emu-lite): Remove kern/emu/cache.S.
14215
b7fbac12
CW
142162010-11-23 Colin Watson <cjwatson@ubuntu.com>
14217
14218 * util/deviceiter.c (compare_devices): If the by-id link for a
14219 device couldn't be resolved, fall back to sorting by the by-id link
14220 rather than segfaulting.
14221 Reported and tested by: Daniel Mierswa.
14222
5225f328
CW
142232010-11-23 Colin Watson <cjwatson@ubuntu.com>
14224
14225 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14226 ldflags, to fix link line ordering.
14227
038b3ce8
CW
142282010-11-23 Colin Watson <cjwatson@ubuntu.com>
14229
14230 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14231 linkers are picky about this.
14232
bf16e98e
CW
142332010-11-23 Colin Watson <cjwatson@ubuntu.com>
14234
14235 * grub-core/Makefile.am (command.lst): Adjust sed expression
14236 ordering so that extended and priority commands aren't treated as
14237 ordinary commands.
14238
7242bab6
CW
142392010-11-23 Colin Watson <cjwatson@ubuntu.com>
14240
14241 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14242 Remove byte-swapping function calls, which are not valid in
14243 structure initialisers.
14244 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14245 non-const.
14246 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14247 grub_gpt_partition_type_bios_boot.
14248
14e8b279
CW
142492010-11-22 Colin Watson <cjwatson@ubuntu.com>
14250
14251 Fix test program build on GNU/kFreeBSD.
14252
14253 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14254 $(LIBNVPAIR)' library dependencies.
14255
e6f63338 142562010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
14257
14258 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14259
cf8ffc38
CW
142602010-11-22 Colin Watson <cjwatson@ubuntu.com>
14261
14262 * util/grub-install.in: Remove excessive quoting that broke
14263 installations to RAID devices.
14264
7f8b0fd7
VS
142652010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14268 bootloader version instead of 0.
14269
dfd240b1
VS
142702010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14273 warning.
14274
7b61e609
VS
142752010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14278 retrieve the metadat sector if size isn't known.
14279 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14280
9dfe92d0
RM
142812010-11-18 Robert Millan <rmh@gnu.org>
14282
14283 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14284 with grub_memcmp().
14285
41cc919e
VS
142862010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14289 arrow.
14290 Reported by: Jordan Uggla.
14291
1afcc914
VS
142922010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 Make better UTF compliant.
14295
14296 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14297 sequences as incorrect.
14298 (grub_is_valid_utf8): Likewise.
14299 (grub_utf8_to_ucs4): Likewise.
14300 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14301 (grub_ucs4_to_utf8_alloc): Likewise.
14302 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14303
f1808884
VS
143042010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 Make legacy_source behave like source.
14307
14308 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14309 grub_show_menu.
14310 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14311
24ec575b
CW
143122010-11-16 Colin Watson <cjwatson@debian.org>
14313
14314 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14315 (-Wunused implies -Wunused-parameter, but not vice versa).
14316
72b7c7aa
CW
143172010-11-16 Colin Watson <cjwatson@ubuntu.com>
14318
14319 * configure.ac: Make error messages less confusing by testing for
14320 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14321 accepted, but produces a diagnostic if something else is wrong).
14322
e98937aa
VS
143232010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14326 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14327 (now unused).
14328 (grub_keyboard_controller_init)
14329 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14330 read the initial state since controller isn't inited yet.
14331
f6bbabc3
VS
143322010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14335 allocate_regbeg may need to create new chunk header.
14336
22e7dbb2
VS
143372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 Fix quoting in legacy parser.
14340
14341 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14342 single quotes.
14343 (grub_legacy_parse): Likewise.
14344 Reported by: Jordan Uggla.
14345 Tested by: Jordan Uggla.
14346
03f80960
VS
143472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 Don't add -lgcc on i386 and x86_64.
14350
14351 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14352 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14353 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14354
779dc15b
VS
143552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * configure.ac: Add -Wno-trampolines when supported.
14358
d20a3b37
MV
143592010-11-14 Modestas Vainius <modax@debian.org>
14360
14361 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14362 fakeraid.
14363
e5360933
GC
143642010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14365
14366 Add generic logical block size support for UDF.
14367
14368 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14369 (GRUB_UDF_BLKSZ): Removed.
14370 (struct grub_udf_data): New field "lbshift" to hold the logical block
14371 size of the file system in log2 format. All users updated.
14372 (sblocklist): Change type to unsigned.
14373 (grub_udf_mount): Change type of "sblklist" to unsigned.
14374 Move AVDP search before VRS recognition, because the latter requires
14375 knowledge of the logical block size, which is detected during the
14376 former.
14377 Detect and validate logical block size during AVDP search, adding
14378 support for block sizes 512, 1024 and 4096.
14379 Make VRS recognition independent of block size.
14380
cb0229c5
GC
143812010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14382
14383 Properly handle deleted files on UDF.
14384
14385 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14386 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14387 set.
14388
406858a8
GC
143892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14390
14391 Support reading files larger than 2 GiB.
14392
14393 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14394 "offset" to grub_off_t.
14395 (grub_udf_read_file): Likewise for parameter "pos".
14396
130da6a7
VS
143972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14400 unavailable.
14401 (Simple configuration): Refer to Changes from GRUB Legacy about
14402 save_env availability.
14403
65e93f6b
VS
144042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * util/grub-install.in: Ignore empty partition table detection
14407 instead of trying to include part_ module.
14408
1fd08bf1
VS
144092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14412 LVM on RAID support.
14413
de1a024f
VS
144142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 Properly define WORDS_BIGENDIAN in wrapped environments.
14417
14418 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14419 definition.
14420 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14421
14422 Reported by: Manoel Rebelo Abranches.
14423 Tested by: Manoel Rebelo Abranches.
14424
bc5dd0b9
VS
144252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * util/grub-mkconfig.in: Fix quoting.
14428
58c184be
VS
144292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 Support big ext2 files.
14432
14433 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14434 (grub_ext2_read_block): Support triple indirect blocks.
14435 (grub_ext2_read_file): Use 64-bit types and read size_high.
14436 (grub_ext2_open): Read size_high.
14437 Reported by: Ximin Luo.
14438 Tested by: Manoel Rebelo Abranches.
14439
5f0c02b3
VS
144402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * util/grub-install.in: Handle filenames containing spaces.
14443 Reported by: Jordan Uggla.
14444 Tested by: Jordan Uggla.
14445
4417aae6
VS
144462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 * util/grub-mkconfig.in (grub_script_check): New variable.
14449 Use grub_script_check instead of grub-script-check.
14450 Reported by: Barry Jackson.
14451
7625a68e
VS
144522010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * docs/grub.texi (menu): Correct the order.
14455 Reported by: D. Hugh Redelmeier.
14456
10001ac5
VS
144572010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14460 jump.
14461
9c4cf53b
MRA
144622010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14463
10001ac5
VS
14464 * include/grub/elfload.h (grub_elf32_size): New parameter.
14465 All users updated.
9c4cf53b
MRA
14466 Return maximum segments alignment.
14467 (grub_elf64_size): Likewise.
14468 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14469 Return maximum segments alignment.
14470 (grub_elf64_size): Likewise.
14471 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14472 (grub_linux_claimmap_iterate): New function. Uses the
14473 "available" property in the "memory" node for memory allocation
14474 for kernel in the PowerPC loader.
9c4cf53b
MRA
14475 (grub_linux_load32): Correctly find linux entry point offset.
14476 (grub_linux_load64): Likewise.
14477
d2bf06bf
RM
144782010-11-07 Robert Millan <rmh@gnu.org>
14479
14480 On mips-yeeloong, build with -march=loongson2f when this flag is
14481 available (GCC >= 4.4).
14482 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14483 `-march=mips3'.
14484 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14485 or otherwise add -march=mips3.
14486
898c99a2
BC
144872010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14488
87220a68
BC
14489 Suppress shell expansion on echo '*' and echo "*" like cases.
14490 Reported by: Jordan Uggla.
898c99a2
BC
14491
14492 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14493 string arguments before shell expansion.
14494 * tests/grub_cmd_echo.in: New testcases.
14495
4f9b406a
RM
144962010-11-07 Robert Millan <rmh@gnu.org>
14497
14498 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14499 transition.
14500
80c6d25e
VS
145012010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * grub-core/kern/emu/hostdisk.c
14504 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14505
4a1a0153
VS
145062010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14509 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14510 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14511
34706ddc
VS
145122010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14515
6972dea9
VS
145162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * util/grub-install.in: Replace useless recomendation to pass
14519 --modules with a recomendation to report a bug.
14520
9c693bd6
VS
145212010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 Properly register serial terminfo.
14524 Reported by: Jordan Uggla
14525
14526 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14527 const.
14528 (grub_serial_terminfo_output_template): Likewise.
14529 (grub_cmd_serial): Register "serial" with terminfo.
14530 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14531 grub_serial_terminfo_output.
14532
6c9e4c0c
RM
145332010-11-05 Robert Millan <rmh@gnu.org>
14534
14535 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14536 needed).
14537
b9b3839f
RM
145382010-11-05 Robert Millan <rmh@gnu.org>
14539
14540 On Yeeloong, pass machine type information to Linux.
14541
14542 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14543 (LOONGSON_MACHTYPE): New macro, set to
14544 "machtype=lemote-yeeloong-2f-8.9inches".
14545 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14546 additional argument to Linux.
14547
1a3aaff4
RM
145482010-11-04 Robert Millan <rmh@gnu.org>
14549
14550 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14551 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14552 (its SATA disks are detected as slaveless IDE master drives on
14553 kFreeBSD).
14554 Reported by Carsten Aulbert.
14555
a75f4f62
CW
145562010-11-02 Colin Watson <cjwatson@ubuntu.com>
14557
14558 * util/bin2h.c (main): Fix spelling error in generated output.
14559
33b4b0c6
GS
145602010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14561
14562 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14563
2b36fbf4
VS
145642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14567 vga= option is supplied.
14568
74aaf558
VS
145692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14572 * util/grub.d/10_kfreebsd.in: Likewise.
14573 * util/grub.d/10_linux.in: Likewise.
14574 * util/grub.d/20_linux_xen.in: Likewise.
14575
6428dec3
VS
145762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14579 argument as an argument to no-argument option.
14580
f8729d98
VS
145812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * util/grub.d/10_linux.in: Add missing load_video with explicit
14584 GRUB_GFXPAYLOAD_LINUX.
14585
89d68fa6
VS
145862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14589
3a1197cd
VS
145902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14593 elements with invlid index.
14594 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14595 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14596 members.
14597 * include/grub/raid.h (grub_raid_member): New struct.
14598 (grub_raid_array): Transform devices and start_sector into usage of
14599 grub_raid_member. All users updated
14600 (allocated_devs): New member.
14601
71574288
VS
146022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14605 is modified
14606
8d40ec65
BC
146072010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14608
14609 NetBSD build fix for getline function conflict from gnulib.
14610
14611 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14612 components that depend on gnulib headers.
14613 (libgrubmods.a): Renamed from earlier libgrub.a.
14614 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14615
95b9257e
VS
146162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14619 install rather than creating a broken install.
14620
26c53dc6
VS
146212010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * util/grub-setup.c (argp): Remove misleading example of installing to
14624 a partition.
14625
4171b3c5
VS
146262010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * util/grub-setup.c (setup): Clarify the error message.
14629
18568d18
VS
146302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14631
14632 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14633
4f6a2e21
VS
146342010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * grub-core/kern/emu/misc.c
14637 (grub_make_system_path_relative_to_its_root)
14638 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14639
146402010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14641
14642 * grub-core/kern/emu/misc.c
14643 (grub_make_system_path_relative_to_its_root): Revert r2882.
14644
e138c458
VS
146452010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14648 useless field head. All users updated.
14649 (free_subchunk): Correct handling of IN_REGION subchunk.
14650
0cbcdf0e
CW
146512010-10-22 Colin Watson <cjwatson@ubuntu.com>
14652
14653 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14654 (Supported kernels): Likewise.
14655
b65ea155
GS
146562010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14657
14658 Make mktemp invocations portable.
14659
14660 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14661 exit if mktemp fails.
14662 * tests/grub_script_blockarg.in: Likewise.
14663 * tests/partmap_test.in: Likewise.
14664 * tests/util/grub-shell-tester.in: Likewise.
14665 * tests/util/grub-shell.in: Likewise.
14666 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14667 * Makefile.am: Likewise, and chain shell commands with `&&'
14668 instead of ';'.
14669 * util/grub-mkrescue.in: Use the same explicit template as above, and
14670 exit if mktemp fails.
14671
05f43cdd
BC
146722010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14673
14674 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14675 Linux kernel, reported by Dennis Schridde.
14676
800e6a9b
SJ
146772010-10-17 Szymon Janc <szymon@janc.net.pl>
14678
14679 * grub-core/normal/auth.c (grub_auth_check_authentication):
14680 Set-but-not-used variable removed.
14681
d82df574
VS
146822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14685 32-bit linux protocol.
14686
7bced458
VS
146872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14690 cursor shape for sanity.
14691
5b027690
VS
146922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 * docs/grub.texi (Installation): Document buggy BIOS install.
14695
ba5f65cf
VS
146962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * docs/grub.texi (Installation): Indent.
14699
fdf2ec9c
VS
147002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 * util/grub-setup.c (setup): New parameter allow_floppy.
14703 (arguments): New member allow_floppy.
14704 (argp_parser): Handle --allow-floppy.
14705 (main): Pass allow_floppy.
14706 * util/grub-install.in: New option --allow-floppy passed though to
14707 grub-setup.
14708
861dfd4c
VS
147092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * util/grub-install.in: Handle partitionless disks.
14712
f77a8c24
VS
147132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * util/grub-setup.c (setup): Don't clean blocklists before readability
14716 verfification.
14717
27d9ee32
VS
147182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * docs/grub.texi (Installation): Document embedding zone. Remove
14721 obsolete grub-install example.
14722
6bdda8f8
SJ
147232010-10-16 Szymon Janc <szymon@janc.net.pl>
14724
14725 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14726 Set-but-not-used variable ifdef'ed.
14727 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14728 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14729 variable removed.
14730 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14731 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14732 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14733 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14734 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14735 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14736 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14737 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14738 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14739 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14740 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14741 Likewise.
14742
e19b016b
VS
147432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14746 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14747 enum value.
14748
6c8d3002
VS
147492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14752 synonym to _S5_. Needed for some DSDTs.
14753
c32b51c9
VS
147542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 Userspace ACPI parser debugging.
14757
14758 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14759 headers and add relevant defines. Don't include standard headers.
14760 (main) [GRUB_DSDT_TEST]: New function.
14761 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14762 Don't declare functions.
14763
fbfbeb39
VS
147642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 Remove dead grub_efi_mm_fini.
14767
14768 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14769 (ALLOCATED_PAGES_SIZE): Likewise.
14770 (MAX_ALLOCATED_PAGES): Likewise.
14771 (allocated_pages): Likewise.
14772 (grub_efi_allocate_pages): Don't record allocated pages.
14773 (grub_efi_free_pages): Likewise.
14774 (grub_efi_mm_init): Likewise.
14775 (grub_efi_mm_fini): Removed.
14776
65f7ed7c
VS
147772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14780 (grub_efi_mm_init): Take into account the memory map size increase.
14781
24977b44
VS
147822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14785 (serial_hw_put): Wait based on real time rather than port reads. Don't
14786 roken ports.
14787 * include/grub/serial.h (grub_serial_port): New field broken.
14788
1eb01cd2
RM
147892010-10-16 Robert Millan <rmh@gnu.org>
14790
14791 * grub-core/kern/emu/misc.c
14792 (grub_make_system_path_relative_to_its_root): Fix premature return
14793 when processing non-root ZFS filesystems.
5f8b440b 14794 Reported by Sergio Talens-Oliag.
1eb01cd2 14795
2d5fed60
RM
147962010-10-15 Robert Millan <rmh@gnu.org>
14797
14798 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14799 guarantee compressed ones are processed first.
14800
d0f4c1ea
VS
148012010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14804 grub_efiemu_autocore.
14805
d87c681f
VS
148062010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14809 rather than 0x1b.
14810 (grub_console_getkey): Use correct jae opcode rather than ja.
14811
219b3564
RM
148122010-10-12 Robert Millan <rmh@gnu.org>
14813
14814 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14815 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14816 variable. All references updated.
14817
14818 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14819
20c6bb7e
VS
148202010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Correctly distinguish mdraid flavours.
14823
14824 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14825 (insert_array): New argument raid.
14826 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14827 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14828 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14829
74baff84
VS
148302010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14831
14832 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14833 handling of special keys.
14834
3ef068df 148352010-10-02 Aleš Nesrsta <starous@volny.cz>
14836
c7980ad9
VS
14837 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14838 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14839
a9455194 148402010-10-02 Aleš Nesrsta <starous@volny.cz>
14841
c7980ad9
VS
14842 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14843 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14844 users updated.
a9455194 14845 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14846 Use right endpoint when querying descriptor.
a9455194 14847
441cfe65
VS
148482010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 Clear out 0x80 color bit on EFI.
14851 Tested by: decoder
14852 Reported by: decoder and meta tech.
14853
14854 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14855 (grub_console_setcolorstate): Clear out 0x80 bit.
14856 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14857 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14858 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14859
bf26bcc4
VS
148602010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14863 Set to "auto".
14864
6e3c515d
VS
148652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14868 mo_file after freeing.
14869
e6d983ba
VS
148702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14873
74ccb5b5
VS
148742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14877 flags.
14878
17821956
VS
148792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14882 usage.
14883
ee74fa48
VS
148842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14887
14888 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14889 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14890 and terminfo.h when needed.
14891 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14892 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14893 (terminfo): Enable only on terminfokernel.
14894 (extcmd): Likewise.
14895 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14896 * include/grub/lib/arg.h: Likewise.
14897 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14898 incorrect usage of ->.
14899
aa438e68
VS
149002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14903 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14904
57994012
VS
149052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 Fix coreboot compilation.
14908
14909 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14910 Take VBE info into account even if only text is supported.
14911 (fill_vbe_info): Take into account the case when only VGA text
14912 is supported.
14913 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14914 on coreboot, multiboot and qemu.
14915
2a406611
VS
149162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14919 debug messages.
14920 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14921
d33613fc
VS
149222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14925 parameters.
14926
44a1b432
VS
149272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14930 if they were BSD-style.
14931
edde54e6
VS
149322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * grub-core/boot/i386/pc/lnxboot.S: Replace
14935 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14936 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14937
b65830fa
VS
149382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 Write embedding zone using Reed-Solomon.
14941
14942 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14943 * grub-core/Makefile.am (rs_decoder.S): New target.
14944 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14945 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14946 (multiboot): Move to RS part.
14947 (post_reed_solomon): New label.
14948 (grub_boot_drive): Move to non-RS part since it's modified in memory
14949 on boot.
14950 Include rs_decoder.S.
14951 * grub-core/lib/reed_solomon.c: New file.
14952 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14953 New definition.
14954 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14955 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14956 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14957 * include/grub/partition.h (grub_partition_map): Change prototype of
14958 embed to allow returning additional sectors.
14959 * include/grub/reed_solomon.h: New file.
14960 * util/grub-setup.c (setup): Handle Reed-Solomon.
14961
0b4b227f
CW
149622010-09-28 Colin Watson <cjwatson@ubuntu.com>
14963
14964 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14965 i386 and x86-64 definedness tests.
14966
f772623b
YB
149672010-09-27 Yves Blusseau <blusseau@zetam.org>
14968
14969 Fix generation of kernel_syms.lst
14970
14971 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14972 ASM_PREFIX
14973
8e57a6ca
RM
149742010-09-26 Robert Millan <rmh@gnu.org>
14975
14976 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14977
14978 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14979 the pool is an array of devices, iterate through it and return the
14980 first device that passes a stat() test (instead of blindly returning
14981 the first one).
14982
f9130836
RM
149832010-09-26 Robert Millan <rmh@gnu.org>
14984
14985 Build fixes for GNU/kFreeBSD.
14986
14987 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14988 to programs that require ZFS conversion.
14989 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14990 kernels that don't have FLOPPY_MAJOR.
14991
96510faf
BC
149922010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14993
14994 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14995
449333eb
BC
149962010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14997
14998 Fix grub-emu build.
14999
15000 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15001 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15002 mdraid09 and mdraid1x.
15003
e1fd1939
CW
150042010-09-24 Colin Watson <cjwatson@ubuntu.com>
15005
15006 Re-enable grub-extras.
15007
15008 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15009 avoid confusing Automake. Run autogen only twice, once for the top
15010 level and once for grub-core. Add Makefile.util.def and
15011 Makefile.core.def from extra modules to the appropriate autogen
15012 invocations. If Makefile.common exists in an extra module, include
15013 it in both Makefile.util.am and grub-core/Makefile.core.am;
15014 similarly, include any Makefile.util.common file in Makefile.util.am
15015 and any Makefile.core.common file in grub-core/Makefile.core.am.
15016 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15017 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15018 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15019 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15020
15021 * gentpl.py (gvar_add): Turn GVARS into a set.
15022 (global_variable_initializers): Sort global variables on output.
15023 (vars_init): New function.
15024 (first_time): Likewise.
15025 (library): Ensure that non-global variable initialisations are
15026 emitted before the first time we emit code for a library block.
15027 Append to variables rather than setting them. Only emit
15028 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15029 each conditional path.
15030 (program): installdir() emits an Autogen macro, so must be passed to
15031 var_add rather than gvar_add.
15032 (data): Likewise.
15033 (script): Likewise.
15034 (rules): New function, centralising handling for different target
15035 types. Set up Guile association lists for first_time and vars_init,
15036 and send most output to a diversion so that variable initialisations
15037 can be emitted first.
15038 (module_rules): Use new rules function.
15039 (kernel_rules): Likewise.
15040 (image_rules): Likewise.
15041 (library_rules): Likewise.
15042 (program_rules): Likewise.
15043 (script_rules): Likewise.
15044 (data_rules): Likewise.
15045
15046 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15047
15048 * .bzrignore: Add contrib and grub-core/contrib. Remove
15049 grub-core/Makefile.gcry.am.
15050
1d12cf29
YB
150512010-09-24 Yves Blusseau <blusseau@zetam.org>
15052
15053 * grub-core/lib/LzFind.c: Add missing include.
15054 * grub-core/lib/LzmaEnc.c: Likewise.
15055 * grub-core/script/lexer.c: Likewise.
15056 * grub-core/script/yylex.l: Likewise.
15057 * util/grub-macho2img.c: Likewise.
15058 * util/grub-menulst2cfg.c: Likewise.
15059 * util/grub-mklayout.c: Likewise.
15060 * util/grub-mkpasswd-pbkdf2.c
15061 * util/grub-mkrelpath.c: Likewise.
15062 * util/resolve.c: Likewise.
15063
dd363028
BC
150642010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15065
15066 * Makefile.util.def (example_unit_test): Add
15067 grub-core/gnulib/libgnu.a.
15068
f5a109e2
GS
150692010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15070
15071 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15072
6d0fa83c
VS
150732010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 Support xz compression on yeeloong.
15076
15077 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15078 * configure.ac: Check for LZMA.
15079 * grub-core/Makefile.core.def (xz_decompress): New target.
15080 (none_decompress): Likewise.
15081 * grub-core/boot/decompressor/minilib.c: New file.
15082 * grub-core/boot/decompressor/none.c: Likewise.
15083 * grub-core/boot/decompressor/xz.c: Likewise.
15084 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15085 * grub-core/kern/mips/cache_flush.S: Likewise.
15086 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15087 * grub-core/kern/mips/startup.S: Move first stage to ...
15088 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15089 nomacro.
15090 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15091 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15092 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15093 Allocate statically.
15094 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15095 Allocate statically or use scratch. Don't check CRC32.
15096 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15097 Allocate statically. Don't check CRC32.
15098 * include/grub/decompressor.h: New file.
15099 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15100 Removed.
15101 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15102 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15103 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15104 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15105 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15106 * util/grub-mkimage.c (grub_compression_t): New type.
15107 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15108 (image_target_desc): New field default_compression.
15109 (image_targets): Adjust yeeloong targets.
15110 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15111 (compress_kernel): New parameter comp.
15112 (generate_image): Likewise. Handle new compression case.
15113 (options): New option --compression
15114 (help): Likewise.
15115 (main): Handle new option.
15116
1b655af6
GS
151172010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15118
15119 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15120
8f03f0b5
CW
151212010-09-22 Colin Watson <cjwatson@ubuntu.com>
15122
15123 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15124 typo in __i386__ conditional.
15125
7835dfd3
VS
151262010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15129 include.
15130
e255597e
VS
151312010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15132
6d0fa83c 15133 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
15134
15135 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15136 new tags as supported.
15137 (acpiv2_size): New function.
15138 (grub_multiboot_get_mbi_size): Take new tags into account.
15139 (grub_multiboot_make_mbi): Add new tags.
15140 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 15141
6cc14051 151422010-09-21 Aleš Nesrsta <starous@volny.cz>
15143
15144 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15145 Added missing configuration of USB device.
15146
df7769d8
CW
151472010-09-21 Colin Watson <cjwatson@ubuntu.com>
15148
15149 * grub-core/normal/menu_entry.c (run): Make sure we always return
15150 a value.
15151
b031012d
CW
151522010-09-21 Colin Watson <cjwatson@ubuntu.com>
15153
15154 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15155 NumberOfPages is UINT64 according to the UEFI specification, not
15156 UINTN. Fix printf format.
15157
174de8f3
CW
151582010-09-21 Colin Watson <cjwatson@ubuntu.com>
15159
15160 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15161 `err' to grub_usb_err_t.
15162 Reported and tested by: KESHAV P.R.
15163
d7dbe923
CW
151642010-09-21 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15167 tpart non-const, so that we can assign to it. (Since this is a
15168 typedef, the constness refers to the pointer rather than what it
15169 points to.)
15170
8d5e2af3
CW
151712010-09-21 Colin Watson <cjwatson@ubuntu.com>
15172
15173 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15174 $(top_srcdir)/grub-core/gnulib as well as
15175 $(top_builddir)/grub-core/gnulib.
15176 Reported by: KESHAV P.R.
15177
5c527783
CW
151782010-09-21 Colin Watson <cjwatson@ubuntu.com>
15179
15180 * util/grub-install.in: Fix the bootloader ID option to be
15181 consistently --bootloader-id, not --bootloader_id.
15182 Reported by: KESHAV P.R.
15183
d309a16e
CW
151842010-09-21 Colin Watson <cjwatson@ubuntu.com>
15185
15186 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15187 check hash checksum." consistently translatable.
15188
b830cd16
YB
151892010-09-21 Yves Blusseau <blusseau@zetam.org>
15190
15191 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15192 $(top_builddir).
15193
c4fe27a8
CW
151942010-09-21 Colin Watson <cjwatson@ubuntu.com>
15195
15196 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15197 (GRUB_MOD_INIT): Register sha1sum command.
15198 (GRUB_MOD_FINI): Unregister sha1sum command.
15199
a4c1d277
YB
152002010-09-21 Yves Blusseau <blusseau@zetam.org>
15201
15202 Keep boot and grub directory names in sync with utils scripts
15203
15204 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15205 * config.h.in: Add previous macros.
15206 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15207 * util/grub-install.in: Use $bootdir and $grubdir variables.
15208
4eff79d2
CW
152092010-09-21 Colin Watson <cjwatson@ubuntu.com>
15210
15211 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15212 convert partition names to disk names if the new `convert' parameter
15213 is set.
15214 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15215 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15216 disk in its own right. This can happen with Xen disk images.
15217
934d7e44
YB
152182010-09-21 Yves Blusseau <blusseau@zetam.org>
15219
15220 * util/grub-editenv.c: Update strings to avoid warnings when generating
15221 grub.pot file.
15222 * util/grub-setup.c: Likewise.
934d7e44 15223
df3367cc
VS
152242010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * configure.ac: Change version to 1.99~beta0.
15227
77a94e98
VS
152282010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15231 Add BADRAM.
15232 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15233 Likewise.
15234 * include/multiboot.h: Resynced with specification.
15235 * include/multiboot2.h: Likewise.
15236
269004c1
CW
152372010-09-21 Colin Watson <cjwatson@ubuntu.com>
15238
15239 Fix po directory handling.
15240
15241 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15242 * grub-core/gnulib/Makefile.am: Import gettext module.
15243 * m4/gnulib-cache.m4: Likewise.
15244 * m4/gnulib-comp.m4: Likewise.
15245 * m4/gettext.m4: New file, from gnulib.
15246 * m4/glibc2.m4: Likewise.
15247 * m4/iconv.m4: Likewise.
15248 * m4/intdiv0.m4: Likewise.
15249 * m4/intl.m4: Likewise.
15250 * m4/intldir.m4: Likewise.
15251 * m4/intlmacosx.m4: Likewise.
15252 * m4/intmax.m4: Likewise.
15253 * m4/inttypes-pri.m4: Likewise.
15254 * m4/lcmessage.m4: Likewise.
15255 * m4/lib-ld.m4: Likewise.
15256 * m4/lib-link.m4: Likewise.
15257 * m4/lib-prefix.m4: Likewise.
15258 * m4/lock.m4: Likewise.
15259 * m4/nls.m4: Likewise.
15260 * m4/po.m4: Likewise.
15261 * m4/printf-posix.m4: Likewise.
15262 * m4/progtest.m4: Likewise.
15263 * m4/threadlib.m4: Likewise.
15264 * m4/uintmax_t.m4: Likewise.
15265 * m4/visibility.m4: Likewise.
15266 * po/Makefile.am: Remove.
15267 * po/Makefile.in.in: New file, from gettext.
15268 ($(DOMAIN).pot-update): Support POTFILES-shell.
15269 * po/Makevars: New file.
15270 * po/POTFILES-shell: Rename to ...
15271 * po/POTFILES-shell.in: ... this. Update.
15272 * po/POTFILES: Rename to ...
15273 * po/POTFILES.in: ... this. Update.
15274 * po/Rules-quot: New file, from gettext.
15275 * po/boldquot.sed: Likewise.
15276 * po/en@boldquot.header: Likewise.
15277 * po/en@quot.header: Likewise.
15278 * po/insert-header.sin: Likewise.
15279 * po/quot.sed: Likewise.
15280 * po/remove-potcdate.sin: Likewise.
15281
3e0fa5d0
VS
152822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15285
ade9bd66
VS
152862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * util/grub.d/20_linux_xen.in: Use submenus.
15289
fc55cc4c
VS
152902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 Support submenus.
15293
15294 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15295 parameter submenu. All users updated.
15296 * grub-core/normal/main.c (free_menu): Rename to ...
15297 (grub_normal_free_menu): ... this. Made global.
15298 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15299 if requested.
15300 * grub-core/normal/menu_entry.c (screen): New field submenu.
15301 (make_screen): Set submenu.
15302 (run): Open new context if requested.
15303 * include/grub/menu.h (grub_menu_entry): New field submenu.
15304 * include/grub/normal.h (grub_normal_free_menu): New proto.
15305
600cedf7
VS
153062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 Menu entries extractor.
15309
15310 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15311 variants.
15312 (GRUB_MOD_INIT): Register new variants.
15313 (GRUB_MOD_FINI): Unregister new variants.
15314 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15315 into grub_cmd_legacy_source.
15316 (grub_cmd_legacy_source): Implement extractor variants.
15317 (GRUB_MOD_INIT): Register new variants.
15318 (GRUB_MOD_FINI): Unregister new variants.
15319 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15320 as an extractor.
15321 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15322 search as an extractor.
15323 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15324 test as an extractor.
15325 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15326 as an extractor.
15327 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15328 (grub_env_new_context): New function.
15329 (grub_env_context_open): Likewise.
15330 (grub_env_extractor_open): Likewise.
15331 (grub_env_extractor_close): Likewise.
15332 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15333 grub_extractor_level.
15334 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15335 * include/grub/env.h (grub_env_extractor_open): New proto.
15336 (grub_env_extractor_close): Likewise.
15337 * include/grub/normal.h (grub_extractor_level): New external variable.
15338
7bda3a87
VS
153392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 Make cutmem accept a region specification.
15342 Suggested by: Samuel Thibault
15343
15344 * grub-core/mmap/mmap.c (parsemem): New function.
15345 (grub_cmd_cutmem): Handle new arguments.
15346
2ea57f88
VS
153472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 New command cutmem.
15350
15351 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15352 (GRUB_MOD_INIT): Register new command.
15353 (GRUB_MOD_FINI): Unregister new command.
15354
74342e31
VS
153552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15356
15357 Support some annoying BSD and Minix subpartitions.
15358
15359 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15360 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15361 Properly handle concatenation.
15362 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15363 * grub-core/normal/completion.c (iterate_partition): Likewise.
15364 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15365 contain partition. All users updated.
15366 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15367 struct.
15368 (grub_openbsdlabel_partition_map): Likewise.
15369 (bsdlabel_partition_map_iterate): Rename to ..
15370 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15371 (bsdlabel_partition_map_iterate): New function.
15372 (netopenbsdlabel_partition_map_iterate): Likewise.
15373 (netbsdlabel_partition_map_iterate): Likewise.
15374 (openbsdlabel_partition_map_iterate): Likewise.
15375 (GRUB_MOD_INIT): Register new partmaps.
15376 (GRUB_MOD_FINI): Unregister new partmaps.
15377 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15378 (grub_partition_msdos_iterate): ... this. All users updated.
15379 Don't support embedding other than in a minix partition.
15380 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15381 proto.
15382 * include/grub/partition.h (grub_partition): New field msdostype.
15383 * util/grub-install.in: Handle openbsd and netbsd types being in
15384 part_bsd module.
15385
1e8d555b
VS
153862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15389
15390 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15391 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15392 (mdraid09): ... this.
15393 (mdraid1x): New module.
15394 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15395 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15396
899d8af4
VS
153972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15400 vsprintf.
15401
40901acd
CW
154022010-09-20 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * grub-core/commands/efi/lsefimmap.c: Correct header.
15405 * NEWS: Update.
15406
dfe3b247
CW
154072010-09-20 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15410 as printf format strings; the translations might contain '%' which
15411 could cause a crash.
15412 (main): Likewise.
15413 * util/grub-fstest.c (argp_parser): Likewise.
15414 * util/grub-setup.c (argp_parser): Likewise.
15415 (main): Likewise.
15416
3286a4b4
VS
154172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 Use argp in grub-fstest.
15420
15421 * util/grub-fstest.c: Don't include getopt.h.
15422 Include argp.h.
15423 (root): New variable.
15424 (args_count): Likewise.
15425 (nparm): Likewise.
15426 (num_disks): Likewise.
15427 (images): Likewise.
15428 (cmd): Likewise.
15429 (debug_str): Likewise.
15430 (args): Likewise.
15431 (options): Transformed to argp.
15432 (usage): Removed.
15433 (main): Split argument parsing into ...
15434 (argp_parser): ... this. Changed to argp format.
15435 (argp): New variable.
15436 (main): Use argp_parse.
15437
3dccbe4b
TG
154382010-09-20 Tristan Gingold <gingold@free.fr>
154392010-09-20 Robert Millan <rmh.grub@aybabtu.com>
154402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * grub-core/commands/efi/lsefimmap.c: New file.
15443 * grub-core/Makefile.core.def (lsefimmap): New module.
15444 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15445
38c259a7
VS
154462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 Pause the execution (10s max) if any errors are displayed so the user
15449 has a chance to see them.
15450
15451 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15452 (grub_print_error): Increment grub_err_printed_errors.
15453 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15454 execution if any errors were displayed.
15455 (show_menu): Remove old code for pause.
15456 * grub-core/normal/menu_entry.c (run): Likewise.
15457 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15458 users updated.
15459 (grub_normal_get_char_counter): Likewise.
15460 * include/grub/err.h (grub_err_printed_errors): New external variable.
15461 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15462
f218b09c
VS
154632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 Support multiboot VBE info.
15466
15467 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15468 Take VBE info into account.
15469 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15470 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15471 Call fill_vbe_info when appropriate.
15472 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15473 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15474 as supported.
15475 (grub_multiboot_get_mbi_size): Take new tags into account.
15476 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15477 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15478 Call fill_vbe_tag when appropriate.
15479 (grub_multiboot_make_mbi): Properly align tags.
15480 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15481 function.
15482 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15483 proto.
15484 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15485
a9cc5438
VS
154862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 Suport manual terminal geometry specification.
15489
15490 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15491 Save state in grub_ofconsole_terminfo_output.
15492 (grub_ofconsole_term): Use grub_terminfo_getwh.
15493 (grub_ofconsole_getwh): Removed.
15494 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15495 (grub_serial_term): Use grub_terminfo_getwh.
15496 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15497 (options): New struct.
15498 (OPTION_*): New enum.
15499 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15500 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15501 width and height.
15502 (grub_terminfo_getwh): New proto.
15503 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15504
1a8fed20
VS
155052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 Handle legacy "terminal" command.
15508
15509 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15510 and FLAG_TERMINAL.
15511 (legacy_commands): Add terminal and title.
15512 (grub_legacy_parse): Handle terminal. Simplify title handling.
15513
41e9c57d
VS
155142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15517 parameters overflow.
15518
61c874c5
CW
155192010-09-20 Colin Watson <cjwatson@ubuntu.com>
15520
15521 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15522 widthspec.h.
15523
15524 * docs/grub.texi (Shell-like scripting): Document `!'.
15525 (Network): Simplify using new i386-pc-pxe format. Mention
15526 grub-mknetdir.
15527
15528 * NEWS: Update.
15529
943682b4
CW
155302010-09-20 Colin Watson <cjwatson@ubuntu.com>
15531
15532 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15533 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15534 when needed.
15535
6d3d698d
CW
155362010-09-20 Colin Watson <cjwatson@ubuntu.com>
15537
15538 * grub-core/commands/efi/lsefisystab.c: Correct header.
15539 * grub-core/commands/efi/lssal.c: Likewise.
15540 * grub-core/commands/testload.c: Likewise.
15541
c982589f
CW
155422010-09-20 Colin Watson <cjwatson@ubuntu.com>
15543
15544 * util/grub-mkrescue.in: Add explicit root argument to --set to
15545 prevent the UUID being interpreted as an argument to --set (matches
15546 previous change to prepare_grub_to_access_device).
15547
a63c31b6
CW
155482010-09-20 Colin Watson <cjwatson@ubuntu.com>
15549
15550 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15551 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15552 the verbosity of later #ifs.
15553 (find_partition_start): Define this function on FreeBSD too.
15554 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15555 function.
15556 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15557 on FreeBSD.
15558
6439b8ee
YB
155592010-09-20 Yves Blusseau <blusseau@zetam.org>
15560
15561 * util/grub-editenv.c: Use argp instead of getopt.
15562
c5930ec8
YB
155632010-09-20 Yves Blusseau <blusseau@zetam.org>
15564
15565 * util/grub-setup.c: Use argp instead of getopt.
15566
15c69261
YB
155672010-09-20 Yves Blusseau <blusseau@zetam.org>
15568
15569 Use gnulib-tool to create gnulib source files.
15570
15571 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15572 grub-core/gnulib directories
15573 * .bzignore: Add **/.deps and autogenerated gnulib files
15574 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15575 of gnulib macros, add grub-core/gnulib/Makefile
15576 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15577 include m4 directory to aclocal.
15578 * Makefile.util.def: Remove direct compilation of gnulib source files
15579 and use the new grub-core/gnulib/libgnu.a.
15580 * build-aux/config.rpath: move config.rpath from top directory to
15581 build-aux
15582 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15583 in gnulib headers
15584 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15585 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15586 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15587 header.
15588 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15589 string.
15590
e511c9f5
YB
155912010-09-20 Yves Blusseau <blusseau@zetam.org>
15592
15593 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15594 grub-core/genmod.sh and grub-core/gensyminfo.sh
15595
c2dede05
BC
155962010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15597
15598 Add a test for echo command options.
15599
15600 * tests/grub_cmd_echo.in: New test.
15601 * Makefile.util.def: Rules for new test.
15602
c55f5018
SJ
156032010-09-20 Szymon Janc <szymon@janc.net.pl>
15604
15605 Remove crc.mod and move crc command to hashsum.mod.
15606 Remove lib/crc.c - users updated to use gcrypt implementation.
15607
15608 * grub-core/commands/crc.c: Removed.
15609 * grub-core/Makefile.core.def (crc): Module removed.
15610 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15611 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15612 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15613 * grub-core/lib/crc.c: Removed.
15614 * include/grub/lib/crc.h: Removed.
15615 * Makefile.util.def (crc): Remove lib/crc.c
15616 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15617 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15618 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15619 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15620 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15621 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15622
e0337366
VS
156232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15626
742f9232
VS
156272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 Split config.h for util and core.
15630
15631 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15632 (ADDR32): Likewise.
15633 (DATA32): Likewise.
15634 (BSS_START_SYMBOL): Likewise.
15635 (END_SYMBOL): Likewise.
15636 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15637 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15638 * config.h.in: New file.
15639 * configure.ac: Use config-util.h as config define file.
15640 Rename MACHINE into GRUB_MACHINE. All users updated.
15641 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15642 updated.
15643 (NESTED_FUNC_ATTR): Likewise.
15644 Substitue new variables.
15645 (COND_HAVE_ASM_USCORE): New conditional.
15646 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15647 (kernel_syms.lst): Use ASM_PREFIX.
15648 * grub-core/kern/emu/console.c: Include config-util.h.
15649 * grub-core/kern/emu/misc.c: Likewise.
15650 * grub-core/kern/emu/mm.c: Likewise.
15651 * include/grub/emu/misc.h: Likewise.
15652 * include/grub/libgcc.h: Likewise.
15653
39feb0e8
VS
156542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15657 constants usage.
15658 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15659 Fix GRUB_TERM_KEY_* constants usage.
15660 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15661
9af6dac3
VS
156622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15665 print pointer.
15666 * grub-core/bus/usb/uhci.c: Remove empty define.
15667 (grub_uhci_check_transfer): Add missing cast.
15668 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15669 print pointer.
15670 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15671 PRIuGRUB_SIZE.
15672 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15673
d6d94820
VS
156742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * grub-core/Makefile.core.def (legacycfg): Add
15677 lib/i386/pc/vesa_modes_table.c on emu.
15678
3572f2b6
BC
156792010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15680
15681 Reduce number of temporary files generated by build system.
15682
15683 * grub-core/gencmdlist.sh: Removed.
15684 * grub-core/genfslist.sh: Removed.
15685 * grub-core/genhandlerlist.sh: Removed.
15686 * grub-core/genmodsrc.sh: Removed.
15687 * grub-core/genpartmaplist.sh: Removed.
15688 * grub-core/genparttoollist.sh: Removed.
15689 * grub-core/gentermiinallist.sh: Removed.
15690 * grub-core/genvideolist.sh: Removed.
15691
15692 * grub-core/genmod.sh.in: New file.
15693 * grub-core/gensyminfo.sh.in: New file.
15694
15695 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15696 * conf/Makefile.extra-dist: Update with new files.
15697 * gentpl.py: Remove rules related to unnecessary temporary files.
15698 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15699 and und-* files.
15700 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15701 genmod.sh scripts.
15702 * grub-core/bus/usb/uhci.c: Remove empty #define.
15703 * grub-core/genmoddep.awk: Updated with new syminfo format.
15704 * util/bash-completion.d/Makefile.am: Add config.log to
15705 CLEANFILES.
15706
c836b030
YB
157072010-09-19 Yves Blusseau <blusseau@zetam.org>
15708
15709 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15710
2f4e8053
BC
157112010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15712
15713 * util/grub-mkconfig.in: Check the config script for syntax errors
15714 before saving.
15715
75831c34
CW
157162010-09-19 Colin Watson <cjwatson@ubuntu.com>
157172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15720 platforms.
15721 * util/grub-install.in: Add EFI and IEEE1275 support.
15722 * util/i386/efi/grub-install.in: Removed.
15723 * util/ieee1275/grub-install.in: Likewise.
15724
eaf41b25
VS
157252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15728 (grub_cmd_cmosclean): Likewise.
15729 (GRUB_MOD_INIT): Register command cmosclean.
15730 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15731 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15732
1a9130dd
CPE
157332010-09-18 Carles Pina i Estany <carles@pina.cat>
157342010-09-18 Aleš Nesrsta <starous@volny.cz>
157352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 Add keyboard layouts support.
15738
15739 * Makefile.util.def (grub-mklayout): New file.
15740 (grub-kbdcomp): New script.
15741 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15742 Add keyboard_layouts.h.
15743 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15744 commands/boot.c on yeeloong.
15745 (keylayouts): New module.
15746 * grub-core/bus/usb/ohci.c
15747 * grub-core/bus/usb/uhci.c
15748 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15749 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15750 (attach_root_port): Likewise.
15751 (poll_nonroot_hub): Likewise.
15752 (grub_usb_poll_devices): Likewise.
15753 (detach_device): Close transfer.
15754 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15755 function.
15756 (grub_usb_bulk_setup_readwrite): Likewise.
15757 (grub_usb_bulk_finish_readwrite): Likewise.
15758 * grub-core/commands/keylayouts.c: New file.
15759 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15760 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15761 aliases.
15762 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15763 support scancode 2.
15764 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15765 * include/grub/keyboard_layouts.h: New file.
15766 * util/grub-mklayout.c: New file.
15767 * util/grub-kbdcomp.in: Likewise.
15768
a1d84a5e
VS
157692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Unify memory types.
15772
15773 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15774 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15775 types.
15776 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15777 (grub_upper_mem): Likewise.
15778 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15779 * include/grub/memory.h (grub_memory_type_t): New enum.
15780 All users updated.
15781
9696382e
VS
157822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/Makefile.core.def (lsapm): New module.
15785 * grub-core/commands/i386/pc/lsapm.c: New file.
15786 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15787 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15788 Likewise.
15789 * include/grub/i386/pc/apm.h: New file.
15790 * include/multiboot.h (multiboot_apm_info): New struct.
15791
157922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 GRUB-legacy configuration file support.
15795
15796 * Makefile.util.def (grub-menulst2cfg): New util.
15797 * docs/man/grub-menulst2cfg.h2m: New file.
15798 * grub-core/Makefile.core.def (legacycfg): New module.
15799 * grub-core/commands/legacycfg.c: New file.
15800 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15801 (grub_normal_add_menu_entry): ... this.
15802 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15803 (grub_normal_set_password): ...this.
15804 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15805 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15806 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15807 * grub-core/lib/legacy_parse.c: New file.
15808 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15809 * include/grub/i386/pc/vesa_modes_table.h: New file.
15810 * include/grub/legacy_parse.h: Likewise.
15811 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15812 * util/grub-menulst2cfg.c: New file.
15813
bf8d1338
CW
158142010-09-17 Colin Watson <cjwatson@ubuntu.com>
15815
15816 * grub-core/kern/emu/hostdisk.c
15817 (convert_system_partition_to_system_disk): Initialise node.
15818
9c0bad2e
CW
158192010-09-17 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * grub-core/kern/emu/hostdisk.c
15822 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15823 leak.
15824 Reported and based on patch by: Modestas Vainius.
15825
a939d135
CW
158262010-09-17 Colin Watson <cjwatson@ubuntu.com>
15827
15828 Fix DM-RAID probing with recent versions of device-mapper udev
15829 rules.
15830
15831 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15832 canonicalise device paths under /dev/mapper/.
15833 (convert_system_partition_to_system_disk): Compare the
15834 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15835 path, since device nodes under /dev/mapper/ are often symlinks.
15836
0f7ee3c9
YB
158372010-09-17 Yves Blusseau <blusseau@zetam.org>
15838
15839 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15840
10854d0d
YB
158412010-09-16 Yves Blusseau <blusseau@zetam.org>
15842
15843 * configure.ac: Avoid some annoying error messages if freetype-config
15844 program is not found.
15845
108538d8
CW
158462010-09-16 Colin Watson <cjwatson@ubuntu.com>
15847
15848 Support RAID on virtio devices, and others.
15849
15850 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15851 Rename to ...
15852 [__MINGW32__] (grub_find_device): ... this.
15853 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15854 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15855 reasonable default if dir is NULL.
15856 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15857 ...
15858 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15859 (grub_guess_root_device): Update callers.
15860 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15861
15862 * util/raid.c (grub_util_getdiskname): Remove.
15863 (grub_util_raid_getmembers): Use grub_find_device rather than
15864 grub_util_getdiskname.
15865
e5bfc130
CW
158662010-09-16 Colin Watson <cjwatson@ubuntu.com>
15867
15868 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15869 needing to be compiled with serial support.
15870 (ls): Indicate that multiple files are accepted.
15871 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15872 indicate that multiple files are accepted.
15873
be458ae2
CW
158742010-09-16 Colin Watson <cjwatson@ubuntu.com>
15875
15876 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15877 libgrub_a_init.c, and util/bash-completion.d/grub.
15878
cb731b5e
VS
158792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * util/grub-setup.c (setup): Fix incorrect container semantics.
15882
35139e8a
VS
158832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15886 misusage.
15887 Reported by: J. Nick Terry
15888
e50fca4a
VS
158892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 Move embedding routines to partmap sources files.
15892
15893 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15894 [GRUB_UTIL]: New variable.
15895 (gpt_partition_map_iterate): Set part.parent.
15896 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15897 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15898 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15899 New function.
15900 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15901 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15902 (grub_partition_map) [GRUB_UTIL]: New field embed.
15903 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15904 (setup): Use ->embed.
15905
f00478b7
VS
159062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15909 function.
15910 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15911 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15912
2b94e3ff
YB
159132010-09-15 Yves Blusseau <blusseau@zetam.org>
15914
15915 Add function to get completions from usage.
15916
15917 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15918 completions from usage. Use LC_ALL=C to get options properly.
15919
2e04a006
VS
159202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 * grub-core/gnulib/basename-lgpl.c: Imported.
15923 * grub-core/gnulib/basename.c: Likewise.
15924 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15925 * grub-core/gnulib/dirname.c: Likewise.
15926 * grub-core/gnulib/dirname.h: Likewise.
15927 * grub-core/gnulib/stripslash.c: Likewise.
15928
5dcdf93a
VS
159292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 * grub-core/gnulib/error.c: Resynced.
15932 * grub-core/gnulib/getopt.c: Likewise.
15933 * grub-core/gnulib/getopt_int.h: Likewise.
15934 * grub-core/gnulib/regex.h: Likewise.
15935 * grub-core/gnulib/regex_internal.c: Likewise.
15936 * grub-core/gnulib/regex_internal.h: Likewise.
15937
014f47b7
SJ
159382010-09-15 Szymon Janc <szymon@janc.net.pl>
15939
15940 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15941 CRC calculations and validity checks.
15942 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15943 calculations.
15944
dd521a4a
SJ
159452010-09-15 Szymon Janc <szymon@janc.net.pl>
15946
15947 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15948
79c4eeb9
VS
159492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 Fix incorrect echo options handling.
15952 Reported by: Yves Blusseau.
15953
15954 * include/grub/command.h (grub_command_flags_t): New flags
15955 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15956 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15957 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15958
ed80f7d5
VS
159592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15962 users updated.
15963 (GRUB_COMMAND_FLAG_MENU): Likewise.
15964 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15965 (GRUB_COMMAND_FLAG_TITLE): Removed.
15966 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15967 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15968 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15969 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15970 (grub_command_flags_t): New enum. All users updated.
15971
5fe7620a
SG
159722010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15973
15974 Fix solaris compilation.
15975
15976 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15977 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15978 (grub-emu-list): Likewise.
15979
545b752f
VS
159802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 Remove deprecated root command.
15983
15984 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15985 updated.
15986
6c1a338c
VS
159872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * util/i386/pc/grub-setup.c: Merge this ...
15990 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15991 * util/grub-setup.c: ... into this.
15992 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15993 New struct.
15994
159952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15998 possible.
15999
d2ea4551
VS
160002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16003 allocate p.
16004
3c3b5040
VS
160052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16008 explicit root argument to set to prevent UUID to be interpreted as
16009 argument to set.
16010
b71c3fae
VS
160112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16014
275433e6
VS
160152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Don't export grub_gate_a20.
16018
16019 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16020 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16021 to ...
16022 (grub_gate_a20): ... this. All users updated.
16023 * include/grub/i386/pc/init.h: Removed. All users updated.
16024
a5dbb1f1
VS
160252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 Create euro.pf2 which supports most European languages.
16028
16029 * Makefile.am (grubdata_DATA): Add euro.pf2.
16030 (euro.pf2): New target.
16031 (CLEANFILES): Add euro.pf2.
16032
62a747cb
VS
160332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * configure.ac: Disable emu-usb by default to prevent inadvertent
16036 device takeover.
16037
608e43b1
VS
160382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 Disable usbserial on grub-emu since our libusb code isn't good enough
16041 yet.
16042
16043 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16044 (usbserial_pl2303): Likewise.
16045 (usbserial_ftdi): Likewise.
16046
94564f81
VS
160472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 * include/grub/disk.h (grub_disk): Remove has_partitions.
16050 All users updated.
16051 * disk/loopback.c (grub_loopback): Remove has_partitions.
16052 All users updated.
16053 (options): Remove partitions. All users updated.
16054 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16055 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16056 actual partition table is found.
16057
3352800b
VS
160582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 Remove readability checks (too many false negatives).
16061
16062 * util/grub-install.in: Remove readability checks.
16063 * util/grub-mkconfig.in: Likewise.
16064 * util/grub.d/10_hurd.in: Likewise.
16065 * util/grub.d/10_kfreebsd.in: Likewise.
16066 * util/grub.d/10_linux.in: Likewise.
16067 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16068 way.
16069
2419f17a
VS
160702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Enable acpi shutdown on all ACPI platforms.
16073
16074 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16075 on coreboo, multiboot and EFI.
16076 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16077 (grub_acpi_halt): Likewise.
16078 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16079 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16080 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16081 * grub-core/lib/i386/halt.c (grub_halt)
16082 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16083
0575c7c3
VS
160842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16087 context.
16088
54ac3cd1
VS
160892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16092 * grub-core/video/efi_uga.c: Likewise.
16093
b2a30ac5
VS
160942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 Filter devaliases and never open same device twice.
16097
16098 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16099 (last_ihandle): Likewise.
16100 (ofdisk_hash_ent): New member shortest.
16101 (ofdisk_hash_add): Add canonical path too.
16102 (scan): New function.
16103 (grub_ofdisk_iterate): Iterate over hashed entries.
16104 (compute_dev_path): Don't add :0.
16105 (grub_ofdisk_open): Don't really open the disk.
16106 (grub_ofdisk_close): Avoid closing unrelated disk.
16107 (grub_ofdisk_read): Implement reopen logic.
16108 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16109 New function.
16110 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16111 New proto.
16112
fb53b340
VS
161132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 Fix sparc64.
16116
16117 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16118 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16119 right address. Add sparc64_ieee1275_ldflags.
16120 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16121 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16122 to grub_host_to_target_addr
16123 (load_image): Likewise.
16124
f452b040
VS
161252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/normal/completion.c (complete_file): Handle device
16128 containing slash.
16129 Fix based on patch by Doug Nazar.
16130
9b5b2541
VS
161312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 grub-mknetdir script.
16134
16135 * Makefile.util.def (grub-mknetdir): New module.
16136 * tests/util/grub-shell.in: Support boot=net
16137 * util/grub-mknetdir.in: New file.
16138
9d2be652
VS
161392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 videoinfo on non-vbe.
16142
16143 * grub-core/Makefile.core.def (vbeinfo): Removed.
16144 (vbetest): Removed.
16145 (videoinfo): New module.
16146 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16147 * grub-core/commands/i386/pc/vbetest.c: Removed.
16148 * grub-core/commands/videoinfo.c: New file.
16149 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16150 specification.
16151 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16152 as vbetest.
16153 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16154 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16155 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16156 mode_number. New parameter mode. All users updated.
16157 (grub_video_gop_iterate): New function.
16158 (grub_video_efi_gop): New member iterate.
16159 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16160 (grub_vbe_set_video_mode): Remove setting useless fields.
16161 (vbe2videoinfo): New function.
16162 (grub_video_vbe_iterate): Likewise.
16163 (grub_video_vbe_setup): Use vbe2videoinfo.
16164 (grub_video_vbe_print_adapter_specific_info): New function.
16165 (grub_video_vbe_adapter): New fields iterate and
16166 print_adapter_specific_info.
16167 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16168 All users updated.
16169 (grub_video_mode_info): New field mode_number.
16170 (grub_video_adapter): New fields iterate and
16171 print_adapter_specific_info.
16172
179503f5
TG
161732010-09-13 Tristan Gingold <gingold@free.fr>
161742010-09-13 Robert Millan <rmh.grub@aybabtu.com>
161752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * grub-core/commands/efi/lsefisystab.c: New file.
16178 * grub-core/commands/efi/lssal.c: Likewise.
16179 * grub-core/Makefile.core.def (lsacpi): New module.
16180 (lsefisystab): Likewise.
16181 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16182 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16183 (grub_efi_sal_system_table): New struct.
16184 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16185 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16186 (grub_efi_sal_system_table_platform_features): Likewise.
16187 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16188 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16189 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16190 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16191
cf9827de
VS
161922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 Support explicit user claim that a device is BIOS-visible.
16195
16196 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16197 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16198 * grub-core/kern/emu/hostdisk.c
16199 (convert_system_partition_to_system_disk): Support mdX.
16200 (find_system_device): New parameter add. All users updated.
16201 (grub_util_biosdisk_is_present): New function.
16202 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16203 proto.
16204
53f0eb1f
VS
162052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 Search hints support.
16208
16209 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16210 All users updated.
16211
b23ffd70
YB
162122010-09-13 Yves Blusseau <blusseau@zetam.org>
16213
16214 Bash completion script for util commands
16215
16216 * Makefile.am: Add util/bash-completion.d directory
16217 * configure.ac: Likewise.
16218 * util/bash-completion.d/Makefile.am: New file.
16219 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16220
d547dc28
VS
162212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16224 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16225 Reported by: Yves Blusseau.
16226
2fc8ccb9
VS
162272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16230 partition size and offset.
16231
d8a84076
VS
162322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16233
16234 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16235
84fb3b3d
VS
162362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16239
768ec2e2
VS
162402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16243 (grub_xvasprintf): Likewise.
16244
4870900f
VS
162452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16246
16247 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16248
faca6bec
VS
162492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16252 args ending with NULL.
16253
162542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
16255
16256 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16257 pointer.
16258
3c70f225
SJ
162592010-09-11 Szymon Janc <szymon@janc.net.pl>
16260
16261 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16262
4df7996d
VS
162632010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 Shutdown using ACPI.
16266
16267 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16268 * grub-core/commands/acpihalt.c: New file.
16269 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16270 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16271 (grub_acpi_halt): New proto.
16272 (GRUB_ACPI_SLP_EN): New const.
16273 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16274 (GRUB_ACPI_OPCODE_*): New enum.
16275 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16276
126b4c32
TG
162772010-09-11 Tristan Gingold <gingold@free.fr>
162782010-09-11 Robert Millan <rmh.grub@aybabtu.com>
162792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * commands/lsacpi.c: New file.
16282 * grub-core/Makefile.core.def (lsacpi): New module.
16283 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16284 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16285 (grub_acpi_madt_entry_header): New struct.
16286 (grub_acpi_madt): Likewise.
16287 (grub_acpi_madt_entry_interrupt_override): Likewise.
16288 (grub_acpi_madt_entry_sapic): Likewise.
16289 (grub_acpi_madt_entry_lsapic): Likewise.
16290 (grub_acpi_madt_entry_platform_int_source): Likewise.
16291 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16292 (PRIuGRUB_UINT32_T): Likewise.
16293 (PRIxGRUB_UINT64_T): Likewise.
16294
1aa4fe88
VS
162952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 Implement loading palette on ieee1275_fb.
16298
16299 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16300 (have_setcolors): Likewise.
16301 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16302 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16303 (grub_video_ieee1275_set_palette): Implement.
16304
25761e13
VS
163052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
163062010-09-11 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * util/grub-install.in (grub_partition): New variable.
16309 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16310 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16311 Fixes a bug reported by Yves Blusseau.
16312
050abaea
VS
163132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Fix emu on mipsel.
16316
16317 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16318 =grub_cpu_flush_cache on all mips and not only yeeloong.
16319 * configure.ac (COND_mips): New conditional.
16320 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16321 platforms.
16322 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16323 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16324 [GRUB_LINKER_HAVE_INIT]: New function.
16325 (grub_emu_post_init): Likewise.
16326 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16327 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16328 * include/grub/cache.h (_mips): Include mips/cache.h.
16329 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16330 LVM and RAID prototypes.
16331 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16332 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16333 function.
16334
5ed7d816
CW
163352010-09-10 Colin Watson <cjwatson@ubuntu.com>
16336
16337 * util/grub-install.in: Don't try to verify core.img until after
16338 running grub-mkimage to create it.
16339
90367e04
RM
163402010-09-10 Robert Millan <rmh@gnu.org>
16341
16342 * util/grub.d/10_hurd.in: Add misc readability checks.
16343 * util/grub.d/10_kfreebsd.in: Likewise.
16344 * util/grub.d/10_linux.in: Likewise.
16345
c452fa66
CW
163462010-09-10 Colin Watson <cjwatson@ubuntu.com>
16347
16348 * util/grub-install.in: ${imgext} won't be defined here until the
16349 install branch is merged. For the meantime, only verify core.img on
16350 i386-pc and sparc64-ieee1275 platforms.
16351
c38fe9f4
RM
163522010-09-10 Robert Millan <rmh@gnu.org>
16353
16354 Solaris support in grub_find_zpool_from_dir(). Thanks
16355 Seth Goldberg for referring to getextmntent() facility.
16356
16357 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16358 `sys/mkdev.h'.
16359 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16360 `<sys/mnttab.h>'.
16361 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16362 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16363 method for finding zpool name.
16364
905f7773
CW
163652010-09-10 Colin Watson <cjwatson@ubuntu.com>
16366
16367 grub-fstest needs the host and hostfs modules while other utilities
16368 actively require those modules to be absent, so grub-fstest needs
16369 its own initialisation and finalisation code.
16370
16371 * Makefile.am (grub_fstest.pp): New target.
16372 (grub_fstest_init.lst): Likewise.
16373 (grub_fstest_init.c): Likewise.
16374 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16375
fb90b546
RM
163762010-09-10 Robert Millan <rmh@gnu.org>
16377
16378 * configure.ac: Check for `struct statfs.f_fstypename' and
16379 `struct statfs.f_mntfromname'.
16380
16381 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16382 kFreeBSD-specific code.
16383
66d4bea5
RM
163842010-09-10 Robert Millan <rmh@gnu.org>
16385
16386 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16387 on ZFS. Now non-main filesystems are supported as / too.
16388
b6a690ee
CW
163892010-09-09 Colin Watson <cjwatson@ubuntu.com>
16390
16391 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16392 and grub-core/disk/host.c to ...
16393 (grub-fstest): ... here. Having the host disk implementation
16394 present confuses grub-probe and other utility programs.
16395
16396 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16397 when writing to a file, not when writing to stdout.
16398
8901b00c 163992010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16400
16401 * tests/partmap_test.in: New test for partitions.
16402 * Makefile.util.def: Rules for new test.
16403
7bf45fdd
RM
164042010-09-09 Robert Millan <rmh@gnu.org>
16405
16406 * util/grub-probe.c (probe): Fix a pair of unhandled error
16407 conditions.
16408
4dfbc574
RM
164092010-09-09 Robert Millan <rmh@gnu.org>
16410
16411 Basic Btrfs support (detection and UUID).
16412
16413 * grub-core/fs/btrfs.c: New file.
16414 * Makefile.util.def (library): Register btrfs.c.
16415 * grub-core/Makefile.core.def: Likewise.
16416
6b8e78ae
RM
164172010-09-08 Robert Millan <rmh@gnu.org>
16418
16419 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16420 with (optional) parameters to specify device and relative path.
16421 * util/grub-install.in: Use is_path_readable_by_grub() to
16422 verify readability of a few critical files.
16423 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16424 verify readability of grub.cfg.new.
16425
27f21a8b
VS
164262010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 Split minix.mod into minix.mod and minix2.mod.
16429
16430 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16431 * grub-core/Makefile.core.def (minix2): New module.
16432 * grub-core/fs/minix.c: Use definitions instead of runtime version
16433 checking.
16434 * grub-core/fs/minix2.c: New file.
16435
c0e53ea5
YB
164362010-09-08 Yves Blusseau <blusseau@zetam.org>
16437
16438 Add new --boot-directory option to replace --root-directory
16439
16440 * util/grub-install.in: Add new --boot-directory option
16441 * util/grub-reboot.in: Likewise.
16442 * util/grub-set-default.in: Likewise.
16443
b9fe6ea2
YB
164442010-09-08 Yves Blusseau <blusseau@zetam.org>
16445
16446 * util/grub-mkconfig.in: Use new variable.
16447
d87aedff
YB
164482010-09-08 Yves Blusseau <blusseau@zetam.org>
16449
16450 * configure.ac: Define some useful variables.
16451
e55e8495
VS
164522010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16455 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16456 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16457 Use terminfo and don't use cursor-on/cursor-off unless it's known
16458 to work.
16459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16460 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16461
6fa6d675
CW
164622010-09-08 Colin Watson <cjwatson@ubuntu.com>
16463
16464 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16465 starts with "(,", fill the drive containing the loaded image in
16466 between those two characters, but expect that a full partition
16467 specification including partition map names will follow.
16468
92f2aef0
RM
164692010-09-08 Robert Millan <rmh@gnu.org>
16470
16471 * configure.ac: Remove `--enable-grub-fstest' option.
16472 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16473
16474 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16475 `grub-fstest' instead of `grub-probe' for readability verification.
16476 * util/grub-probe.c (probe): Remove readability verification kludge.
16477
99fd620d
RM
164782010-09-08 Robert Millan <rmh@gnu.org>
16479
16480 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16481 initializing `GRUB_FS'.
16482
058e30ac 164832010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16484
16485 Not command (!) support to GRUB script.
16486
16487 * tests/grub_script_not.in: New test.
16488 * Makefile.util.def: Rules for new test.
16489
16490 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16491 ! command as a special case.
16492 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16493
b61d05ed 164942010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16495
058e30ac 16496 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16497 grub_free.
b61d05ed 16498
4d69c786 164992010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16500
16501 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16502
aa3119c4 165032010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16504
16505 * docs/grub.texi (Shell-like scripting): Documentation for break,
16506 continue, shift and return commands.
16507
db0f7e3d
VS
165082010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Rename CD-ROM to cd on BIOS.
16511
16512 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16513 "cd".
16514 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16515
88b87c93
VS
165162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16519 * util/grub-probe.c (main): Likewise.
16520 * util/i386/pc/grub-setup.c (main): Likewise.
16521 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16522 Reported and debugged by: alexxy
16523
294f324d
VS
165242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16527 diagnostic info.
16528
d7ee3441
JS
165292010-09-05 Jo Shields <directhex@apebox.org>
16530
16531 * util/grub.d/30_os-prober.in: Add missing classes.
16532
d7e06c1f
VS
165332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * docs/grub.texi (Theme file format): Document new position format.
16536
fc157e53
VS
165372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16540 a table. Use @code instead of @verbatim.
16541
506e9a1c
CB
165422010-09-05 Colin D Bennett <colin@gibibit.com>
16543
16544 Gfxmenu documentation.
16545
16546 * docs/grub.texi (Theme file format): New chapter.
16547
f0aff67c
SJ
165482010-09-05 Szymon Janc <szymon@janc.net.pl>
16549
16550 * grub-core/Makefile.core.def (xzio): New module.
16551 * grub-core/io/xzio.c: New file.
16552 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16553 * grub-core/lib/xzembed/xz_config.h: Likewise.
16554 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16555 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16556 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16557 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16558 * grub-core/lib/xzembed/xz_private.h: Likewise.
16559 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16560 * include/grub/file.h (grub_file_filter_id): New compression filter
16561 GRUB_FILE_FILTER_XZIO.
16562
82a85062
VS
165632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16566 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16567 size.
16568
3579415d
VS
165692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16572 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16573
5124ae6d
VS
165742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 Uncompressed checksum support.
16577
16578 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16579 (check_list): New parameter uncompress.
16580 (grub_cmd_hashsum): Handle --uncompress.
16581
9aadb3d1
VS
165822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 Reintroduce testload.
16585
16586 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16587 from here ...
16588 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16589 (GRUB_MOD_INIT): New function.
16590 (GRUB_MOD_FINI): Likewise.
16591 * grub-core/Makefile.core.def (testload): New module.
16592
a17792c3
SJ
165932010-09-05 Szymon Janc <szymon@janc.net.pl>
16594
16595 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16596 (uint8_t): New type.
16597 (uint16_t): Likewise.
16598 (uint32_t): Likewise.
16599 (uint64_t): Likewise.
16600
b81e40a3
SJ
166012010-09-05 Szymon Janc <szymon@janc.net.pl>
16602
16603 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16604
fc2ef117
VS
166052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16608 Made static.
16609 (grub_gzfile_open): Removed. All users updated.
16610 (GRUB_MOD_INIT): New function.
16611 (GRUB_MOD_FINI): Likewise.
16612 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16613 (grub_file_filters_enabled): Likewise.
16614 (grub_file_open): Handle filters.
16615 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16616 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16617 * include/grub/file.h (grub_file_filter_id_t): New type.
16618 (grub_file_filter_t): Likewise.
16619 (grub_file_filters_all): New extern variable.
16620 (grub_file_filters_enabled): Likewise.
16621 (grub_file_filter_register): New inline function.
16622 (grub_file_filter_unregister): Likewise.
16623 (grub_file_filter_disable): Likewise.
16624 (grub_file_filter_disable_compression): Likewise.
16625 * include/grub/gzio.h: Removed.
16626
35ee15e0
BC
166272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16628
16629 Filename expansion support for wildcards in GRUB script.
16630
16631 * tests/grub_script_expansion.in: New test.
16632 * Makefile.util.def: Rule for new test.
16633
16634 * grub-core/commands/wildcard.c: New file, implements filename
16635 expansion support for GRUB script.
16636 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16637 * grub-core/script/argv.c: Cosmetic changes.
16638 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16639 Refactored to perform wildcard expansion on arguments.
16640 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16641 struct.
16642
16643 * tests/util/grub-shell.in: Fix quoting for read input.
16644
5f0c4aca
BC
166452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16646
16647 Support for updating environment variables with matched substrings
16648 of regexp.
16649
16650 * tests/grub_cmd_regexp.in: New test.
16651 * Makefile.util.def: Rule for new test.
16652
16653 * grub-core/commands/regexp.c: New option -s to update environment
16654 variables with regexp matches.
16655
3759a35f
SJ
166562010-09-04 Szymon Janc <szymon@janc.net.pl>
16657
16658 * include/grub/file.h (grub_file): New member not_easly_seekable.
16659 (grub_file_seekable): New inline function.
16660 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16661 easily seekable.
16662 (grub_gzio_open): Set not_easly_seekable.
16663 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16664 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16665
ed8c6dec
BC
166662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16667
16668 Support for options to appear multiple times on cmdline.
16669
16670 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16671 * grub-core/commands/extcmd.c: Support for repeatable option.
16672 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16673 repeatable option support.
16674
16675 Refactor menuentry into a regular command.
16676
16677 * grub-core/commands/menuentry.c: New file, menuentry command
16678 implementation.
16679 * grub-core/Makefile.core.def: Rule update for normal.mod.
16680 * grub-core/normal/main.c: Moved menuentry creation to
16681 grub-core/commands/menuentry.c.
16682 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16683 (grub_menu_execute_entry_real): Removed.
16684 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16685 function.
16686 (grub_script_execute_menuentry): Removed.
16687 * grub-core/script/parser.y (menuentry): Removed.
16688 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16689 * grub-core/script/yylex.l (menuentry): Removed.
16690 * include/grub/menu.h (grub_menu_init): New prototype.
16691 (grub_menu_fini): New prototype.
16692 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16693 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16694 (grub_script_execute_sourcecode): New prototype.
16695
dacd0cf0
BC
166962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16697
16698 "return" command for GRUB script functions.
16699
16700 * tests/grub_script_return.in: New test.
16701 * Makefile.util.def: Rules for new test.
16702
16703 * grub-core/script/execute.c (grub_script_return): New function.
16704 * grub-core/script/main.c: Register/unregister return commaond.
16705 * include/grub/script_sh.h (grub_script_return): New prototype.
16706
52e72f9d
BC
167072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16708
16709 "setparams" command to update positional parameters.
16710
16711 * tests/grub_script_setparams.in: New test.
16712 * Makefile.util.def: Rules for new test.
16713
16714 * grub-core/script/argv.c (grub_script_argv_make): New function.
16715 * grub-core/script/execute.c (replace_scope): New function.
16716 (grub_script_setparams): New function.
16717 * grub-core/script/lexer.c: Remove unused variables.
16718 * grub-core/script/main.c: Register/unregister setparams command.
16719 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16720 (grub_script_setparams): New prototype.
16721
25b60c91
BC
167222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16723
16724 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16725 grub_free order.
16726
37e7bf68
BC
167272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16728
16729 Support for passing block of commands as an argument to extcmds.
16730
16731 * Makefile.util.def: Rules for new test.
16732 * tests/grub_script_blockarg.in: New test.
16733 * grub-core/tests/test_blockarg.c: New file, block argument
16734 command used in the test.
16735
16736 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16737 (grub_register_extcmd_prio): New function prototype.
16738 (grub_extcmd_dispatcher): New function prototype.
16739 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16740 type.
16741 * include/grub/script_sh.h (struct grub_script): New members
16742 `children', `next_siblings' and `refcnt' for block arguments and
16743 reference counting.
16744 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16745 (grub_script_arg): New member `script' for block argument.
16746 (grub_script_argv): New member `script' for block argument.
16747 (grub_parser_param): New member `scripts' for block argument.
16748 (grub_script_mem_free): New extern function prototype.
16749 (grub_script_ref): New function prototype.
16750 (grub_script_unref): New function prototype.
16751
16752 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16753 extcmd form to support block arguments.
16754 * grub-core/script/argv.c: Block arguments support.
16755 * grub-core/script/execute.c: Likewise.
16756 * grub-core/script/lexer.c: Likewise.
16757 * grub-core/script/main.c: Likewise.
16758 * grub-core/script/script.c: Likewise.
16759 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16760 non-terminals.
16761
16762 * grub-core/commands/acpi.c: Update extcmd implementations with
16763 grub_extcmd_context_t.
16764 * grub-core/commands/cat.c: Likewise.
16765 * grub-core/commands/echo.c: Likewise.
16766 * grub-core/commands/extcmd.c: Likewise.
16767 * grub-core/commands/hashsum.c: Likewise.
16768 * grub-core/commands/hdparm.c: Likewise.
16769 * grub-core/commands/help.c: Likewise.
16770 * grub-core/commands/hexdump.c: Likewise.
16771 * grub-core/commands/i386/cpuid.c: Likewise.
16772 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16773 * grub-core/commands/i386/pc/halt.c: Likewise.
16774 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16775 * grub-core/commands/iorw.c: Likewise.
16776 * grub-core/commands/keystatus.c: Likewise.
16777 * grub-core/commands/loadenv.c: Likewise.
16778 * grub-core/commands/ls.c: Likewise.
16779 * grub-core/commands/lspci.c: Likewise.
16780 * grub-core/commands/memrw.c: Likewise.
16781 * grub-core/commands/probe.c: Likewise.
16782 * grub-core/commands/search_wrap.c: Likewise.
16783 * grub-core/commands/setpci.c: Likewise.
16784 * grub-core/commands/sleep.c: Likewise.
16785 * grub-core/disk/loopback.c: Likewise.
16786 * grub-core/hello/hello.c: Likewise.
16787 * grub-core/loader/i386/bsd.c: Likewise.
16788 * grub-core/loader/xnu.c: Likewise.
16789 * grub-core/term/gfxterm.c: Likewise.
16790 * grub-core/term/serial.c: Likewise.
16791 * grub-core/tests/lib/functional_test.c: Likewise.
16792
888d1500
BC
167932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16794
16795 Multi-line quoted strings support.
16796
16797 * grub-core/script/lexer.c (append_newline): Removed.
16798 (grub_script_lexer_yywrap): Refactored.
16799 (grub_script_lexer_init): Refactored.
16800 * grub-core/script/yylex.l (yywrap): New function.
16801 (grub_lexer_resplit): New function.
16802 (grub_lexer_unput): New function.
16803 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16804 and resplit.
16805 * tests/grub_script_echo1.in: Added few more testcases.
16806
dda060dd
VS
168072010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 * grub-core/kern/misc.c: Don't add abort alias in utils.
16810 Reported by: echoline.
16811
6556eba9
BC
168122010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16813
16814 Add missing files into "make dist" tarball for other platforms.
16815
16816 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16817 * conf/Makefile.common (dist_noinst_DATA): New variable.
16818 * conf/Makefile.extra-dist: Added missing make dist files.
16819 * grub-core/Makefile.core.def: Likewise.
16820
c8e7bf5f
VS
168212010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 Compress grub_prefix.
16824
16825 * grub-core/boot/i386/pc/lnxboot.S: Use
16826 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16827 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16828 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16829 GRUB_MACHINE_PREFIX_END. All users updated.
16830 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16831 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16832 + 0x40.
16833 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16834 * util/grub-mkimage.c (image_target_desc): Change data_end to
16835 prefix_end. All users updated.
16836
a7c00cdb
VS
168372010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16840 value.
16841 (grub_openbsd_boot): Likewise.
16842 (grub_netbsd_boot): Likewise.
16843 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16844 (grub_xnu_boot): Likewise.
16845
9f915872
VS
168462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 * configure.ac: Clean LIBS variable after tests.
16849
efa1bee7
CW
168502010-09-02 Colin Watson <cjwatson@ubuntu.com>
16851
16852 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16853
61d720e5
VS
168542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16857 echo if libdevmapper will be used.
16858
ef8e0ec8
IT
168592010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16860
16861 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16862 constant for the same file.
16863
03e261d8
VS
168642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16867
c2a4eba6
CW
168682010-09-02 Colin Watson <cjwatson@ubuntu.com>
16869
16870 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16871 grub-core/*.pp.
16872
9056cbf3
CW
168732010-09-02 Colin Watson <cjwatson@ubuntu.com>
16874
16875 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16876 required by the boot protocol.
16877
16878 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16879 ebp and edi members.
16880 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16881 state.ebp and state.edi.
16882 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16883 %ebp and %edi according to grub_relocator32_ebp and
16884 grub_relocator32_edi respectively.
16885 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16886 and state.edi.
16887
529cc99a
VS
168882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16889
16890 Add i386-pc-pxe image target.
16891
16892 * util/grub-mkimage.c (image_target_desc): New enum value
16893 IMAGE_I386_PC_PXE.
16894 (image_targets): New target i386-pc-pxe.
16895 (generate_image): Handle i386-pc-pxe image.
16896
9a093920
VS
168972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 Fix grub_pxe_scan.
16900
16901 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16902 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16903 All users updated.
16904 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16905 (grub_pxe_pxenv): Correct type.
16906
f9cefc4e
CW
169072010-09-01 Colin Watson <cjwatson@ubuntu.com>
16908
16909 * NEWS: Document most of the important changes since 1.98.
16910
4066f57f
CW
169112010-09-01 Colin Watson <cjwatson@ubuntu.com>
16912
16913 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16914 generated manual page) a little.
16915
da2891f9
CW
169162010-09-01 Colin Watson <cjwatson@ubuntu.com>
16917
16918 * docs/grub.texi: Add myself as an author.
16919
ad717fae
VS
169202010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 * Makefile.util.def (libgrub.a): Add missing sunpc.
16923 Reported by: Seth Goldberg.
16924
eefe8abd
VS
169252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 Interrupt wrapping and code simplifications.
16928
9494ef9a
VS
16929 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16930 x86_noieee1275 which are functionaly equivalent in this case.
16931 (grub-install): Make source on each platform explicit. Enable on
16932 all noemu.
16933 * gentpl.py (x86_efi_pc): Removed group.
16934 (x86_noefi): Likewise.
16935 (i386_noefi): Likewise.
16936 (x86_noieee1275): Likewise.
16937 (i386_noieee1275): Likewise.
16938 (i386_noefi_noieee1275): Likewise.
16939 (i386_pc_qemu_coreboot): Likewise.
16940 (i386_coreboot_multiboot): Likewise.
16941 (i386_pc_coreboot_multiboot_qemu): Likewise.
16942 (x86_noefi_mips): Likewise.
16943 (noieee1275): Likewise.
16944 (ieee1275_mips): Likewise.
16945 (noemu_noieee1275): Likewise.
16946 (cmos): New group.
16947 (usb): Likewise.
16948 (videoinkernel): Likewise.
16949 (videomodules): Likewise.
eefe8abd 16950 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16951 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16952 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16953 include/grub/loader.h, include/grub/msdos_partition.h,
16954 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16955 include/grub/machine/console.h, include/grub/machine/vga.h,
16956 include/grub/machine/vbe.h, include/grub/machine/init.h,
16957 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16958 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16959 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16960 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16961 * grub-core/Makefile.core.def (kernel): Explicit the source for
16962 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16963 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16964 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16965 Use videoinkernel tag.
16966 (usb): Enable on all usb.
16967 (usbserial_common): Likewise.
16968 (usbserial_pl2303): Likewise.
16969 (usbserial_ftdi): Likewise.
16970 (uhci): Enable on all x86.
16971 (ohci): Enable on all pci.
16972 (cmostest): Enable on all CMOS.
16973 (acpi): Include commands/acpi.c on all platforms.
16974 (halt): Add relevant lib/*/halt.c.
16975 (hdparm): Enable on all pci.
16976 (lspci): Likewise.
16977 (usbtest): Enable on all usb.
16978 (ata): Enable on all pci.
16979 (ata_pthru): Likewise.
16980 (usbms): Enable on all usb.
16981 (usb_keyboard): Likewise.
16982 (font): Use tag videomodules.
16983 (bufio): Likewise.
16984 (datetime): Use tag cmos. Enable on all noemu.
16985 (mmap): Use tags common and x86.
16986 (gfxterm): Use tag videomodules.
16987 (bitmap): Likewise.
16988 (bitmap_scale): Likewise.
16989 (video_fb): Likewise.
16990 (video): Likewise.
16991 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16992 adjust padding accordingly. All users updated.
16993 (grub_ohci_transaction): Fix bad format specification.
16994 (GRUB_MOD_INIT): Add asserts for struct size.
16995 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16996 (grub_alloc_td): Likewise.
16997 (grub_free_queue): Likewise.
16998 (grub_uhci_transfer): Likewise.
16999 (grub_uhci_transaction): Fix bad format specification.
17000 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17001 (grub_usb_bulk_readwrite): Likewise.
17002 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17003 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17004 Made static.
17005 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17006 Made static.
17007 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17008 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17009 Transformed into C.
17010 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17011 Moved from here ...
17012 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17013 ... here. Transformed into C. Made static.
17014 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17015 Moved from here ...
17016 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17017 ... here. Transformed into C. Made static.
17018 * grub-core/kern/i386/pc/startup.S
17019 (grub_biosdisk_check_int13_extensions): Moved from here ...
17020 * grub-core/disk/i386/pc/biosdisk.c
17021 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17022 Made static.
17023 * grub-core/kern/i386/pc/startup.S
17024 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17025 * grub-core/disk/i386/pc/biosdisk.c
17026 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17027 Transformed into C. Made static.
17028 * grub-core/kern/i386/pc/startup.S
17029 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17030 * grub-core/disk/i386/pc/biosdisk.c
17031 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17032 Transformed into C. Made static.
17033 * grub-core/kern/i386/pc/startup.S
17034 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17035 * grub-core/disk/i386/pc/biosdisk.c
17036 (grub_biosdisk_get_diskinfo_standard): ... here.
17037 Transformed into C. Made static.
17038 * grub-core/kern/i386/pc/startup.S
17039 (grub_biosdisk_get_num_floppies): Moved from here ...
17040 * grub-core/disk/i386/pc/biosdisk.c
17041 (grub_biosdisk_get_num_floppies): ... here.
17042 Transformed into C. Made static.
17043 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17044 New function.
17045 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17046 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17047 Transformed into C. Made static.
17048 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17049 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17050 Transformed into C. Made static.
17051 * grub-core/kern/i386/ieee1275/init.c: Removed.
17052 * grub-core/kern/i386/misc.S: Likewise.
17053 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17054 Splitted from here ...
17055 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17056 Transformed into C. Made static. All users updated.
17057 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17058 Transformed into C. Made static. All users updated.
17059 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17060 Moved from here...
17061 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17062 Transformed into C. Made static. All users updated.
17063 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17064 Moved from here...
17065 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17066 Transformed into C. Made static. All users updated.
17067 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17068 Removed (replaced by C version).
17069 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17070 Moved from here...
17071 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17072 Transformed into C. Made static.
17073 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17074 Moved from here...
17075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17076 ... here. Transformed into C.
17077 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17078 Moved from here...
17079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17080 ... here. Transformed into C.
17081 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17082 Moved from here...
17083 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17084 ... here. Transformed into C. Made static.
17085 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17086 Moved from here...
17087 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17088 ... here. Transformed into C.
21ed554b
VS
17089 * grub-core/kern/i386/pc/startup.S
17090 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17091 * grub-core/video/i386/pc/vbe.c
17092 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
17093 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17094 Moved from here...
17095 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17096 ... here. Transformed into C.
17097 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17098 Moved from here...
17099 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17100 ... here. Transformed into C.
17101 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17102 Moved from here...
17103 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17104 ... here. Transformed into C.
17105 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17106 Moved from here...
17107 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17108 ... here. Transformed into C.
17109 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17110 Moved from here...
17111 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17112 ... here. Transformed into C. Made static.
17113 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17114 Moved from here...
17115 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17116 ... here. Transformed into C. Made static.
17117 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17118 Moved from here...
17119 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17120 ... here. Transformed into C. Made static.
17121 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17122 pxe_rm_entry as third argument.
17123 (grub_bios_interrupt): New function.
17124 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17125 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17126 of calling grub_stop.
17127 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17128 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17129 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17130 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17131 * grub-core/lib/i386/halt.c: Moved from here ...
17132 * grub-core/lib/i386/halt.c: ... here.
17133 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17134 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17135 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17136 grub_stop_floppy.
17137 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17138 * include/grub/i386/coreboot/init.h: Removed.
17139 * include/grub/i386/multiboot/init.h: Likewise.
17140 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17141 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17142 * include/grub/i386/pc/int.h: New file.
17143 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17144 (grub_pxe_scan): Removed.
17145 (grub_pxe_call): Update prototype.
17146 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17147 prototypes.
17148 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17149 * include/grub/i386/qemu/init.h: Removed.
17150 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17151 noreturn.
17152 (grub_halt): Likewise.
17153 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17154 (grub_reboot): Likewise.
17155 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17156 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
17157 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17158
215dd471
RM
171592010-08-30 Robert Millan <rmh@gnu.org>
17160
17161 * NEWS: Document addition of ZFS support in `grub-install' and
17162 `grub-mkconfig'.
17163
ebd65b82
BC
171642010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17165
17166 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17167 dprintf output.
17168
11721d19
VS
171692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Remove leftover embedding of font objects.
17172
17173 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17174 * util/grub-install.in (font): Removed.
17175 * util/grub-mkimage.c (generate_image): Remove font support. All users
17176 updated.
17177
37837d4e
VS
171782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 Remove leftover embedding of font objects.
17181
17182 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17183 * util/grub-install.in (font): Removed.
17184 * util/grub-mkimage.c (generate_image): Remove font support. All users
17185 updated.
17186
b4c1aae0
VS
171872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 17190 Reported by: Ian Turner
b4c1aae0 17191
8920a08d
VS
171922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17195 timeout to avoid indefinite boot stalling.
17196
f21db033
VS
171972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17200 (grub_env_write_color_highlight): Likewise.
17201
9a9de209
VS
172022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * grub-core/normal/term.c (print_more): Return to normal and not
17205 to standard state after printing "---MORE---".
17206
3dca01d7
VS
172072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17210 Mask out the bit 0x80 since it has other meaning that specifiing color.
17211
0b986c40
VS
172122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 New relocator. Allows for more kernel support and more straightforward
17215 loader writing.
17216
17217 * Makefile.am (BOOTTARGET): New variable.
17218 (QEMU32): Likewise.
17219 (linux.init.x86_64): New target.
17220 (linux.init.i386): Likewise.
17221 (multiboot.elf): Likewise.
17222 (kfreebsd.elf): Likewise.
17223 (kfreebsd.aout): Likewise.
17224 (pc-chainloader.elf): Likewise.
17225 (pc-chainloader.bin): Likewise.
17226 (ntldr.elf): Likewise.
17227 (ntldr.bin): Likewise.
17228 (multiboot2.elf): Likewise.
17229 (kfreebsd.init.x86_64): Likewise.
17230 (kfreebsd.init.i386): Likewise.
17231 (knetbsd.init.i386): Likewise.
17232 (kopenbsd.init.i386): Likewise.
17233 (knetbsd.init.x86_64): Likewise.
17234 (kopenbsd.init.x86_64): Likewise.
17235 (linux-initramfs.i386): Likewise.
17236 (linux-initramfs.x86_64): Likewise.
17237 (kfreebsd-mfsroot.i386.img): Likewise.
17238 (knetbsd.image.i386): Likewise.
17239 (kopenbsd.image.i386): Likewise.
17240 (kopenbsd.image.x86_64): Likewise.
17241 (knetbsd.miniroot-image.i386.img): Likewise.
17242 (kfreebsd-mfsroot.x86_64.img): Likewise.
17243 (knetbsd.image.x86_64): Likewise.
17244 (knetbsd.miniroot-image.x86_64.img): Likewise.
17245 (kfreebsd-mfsroot.i386.gz): Likewise.
17246 (bootcheck-kfreebsd-i386): Likewise.
17247 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17248 (bootcheck-kfreebsd-x86_64): Likewise.
17249 (knetbsd.miniroot-image.i386.gz): Likewise.
17250 (bootcheck-knetbsd-i386): Likewise.
17251 (bootcheck-kopenbsd-i386): Likewise.
17252 (bootcheck-kopenbsd-x86_64): Likewise.
17253 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17254 (bootcheck-knetbsd-x86_64): Likewise.
17255 (bootcheck-linux-i386): Likewise.
17256 (bootcheck-linux-x86_64): Likewise.
17257 (bootcheck-linux16-i386): Likewise.
17258 (bootcheck-linux16-x86_64): Likewise.
17259 (bootcheck-multiboot): Likewise.
17260 (bootcheck-multiboot2): Likewise.
17261 (bootcheck-kfreebsd-aout): Likewise.
17262 (bootcheck-pc-chainloader): Likewise.
17263 (bootcheck-ntldr): Likewise.
17264 (CLEANFILES): Add new targets.
17265 (BOOTCHECKS): New variable.
17266 (.PHONY): Add bootchecks.
17267 (SUCCESSFUL_BOOT_STRING): New variable.
17268 (BOOTCHECK_TIMEOUT): Likewise.
17269 (bootcheck): New target
17270 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17271 * configure.ac: Correct efiemu excuse.
17272 * docs/grub.texi (Supported kernels): New chapter.
17273 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17274 include/grub/mm_private.h. Simplify inclusion of
17275 include/grub/boot.h, include/grub/loader.h
17276 and include/grub/msdos_partition.h
17277 (KERNEL_HEADER_FILES) [i386_coreboot]:
17278 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17279 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17280 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17281 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17282 include/grub/machine/loader.h.
17283 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17284 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17285 extra_dist.
17286 (pci.mod): Enable on i386-multiboot.
17287 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17288 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17289 i386-qemu.
17290 (relocator.mod): Rewritten.
17291 (aout.mod): Enable on all x86.
17292 (bsd.mod): Likewise.
17293 (ntldr.mod): New module.
17294 (linux.mod): Use loader/i386/linux.c on all x86.
17295 (xnu.mod): Enable on all x86.
17296 (vga_text.mod): disable on EFI and QEMU.
17297 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17298 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17299 * grub-core/efiemu/loadcore.c: Likewise.
17300 * grub-core/efiemu/main.c: Likewise.
17301 (grub_efiemu_exit_boot_services): Removed.
17302 (grub_efiemu_finish_boot_services): Likewise.
17303 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17304 function.
17305 * grub-core/efiemu/i386/nocfgtables.c: New file.
17306 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17307 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17308 (grub_efi_finish_boot_services): Moved from here ...
17309 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17310 Fille finish memory map and related data.
17311 (finish_mmap_buf): New variable.
17312 (grub_efi_uintn_t finish_mmap_size): Likewise.
17313 (grub_efi_uintn_t finish_key): Likewise.
17314 (grub_efi_uintn_t finish_desc_size): Likewise.
17315 (grub_efi_uint32_t finish_desc_version): Likewise.
17316 (grub_efi_is_finished): Likewise.
17317 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17318 finished.
17319 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17320 (grub_elf64_phdr_iterate): Likewise.
17321 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17322 (grub_os_area_size): Likewise.
17323 (grub_machine_init): Don't reserve os area.
17324 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17325 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17326 * grub-core/kern/i386/loader.S: Removed.
17327 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17328 (grub_os_area_size): Likewise.
17329 (grub_machine_init): Don't reserve os area.
17330 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17331 Don't call grub_dl_unload_all.
17332 Don't include loader.S.
17333 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17334 Declare the memory after _end as available.
17335 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 17336 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 17337 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
17338 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17339 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17340 * include/grub/mm_private.h (grub_mm_header): ... here.
17341 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17342 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
17343 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17344 (grub_mm_region): ..here. Removed addr. Added pre_size.
17345 All users updated.
17346 * grub-core/kern/mm.c (base): Renamed to ...
17347 (grub_mm_base): ... this. Made global.
17348 (grub_real_malloc): Alloc from end of region.
17349 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17350 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17351 * grub-core/kern/powerpc/cache_flush.S: ... here.
17352 * grub-core/lib/efi/relocator.c: New file.
17353 * grub-core/lib/i386/relocator.c: Rewritten.
17354 * grub-core/lib/i386/relocator16.S: New file.
17355 * grub-core/lib/i386/relocator32.S: Likewise.
17356 * grub-core/lib/i386/relocator64.S: Likewise.
17357 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17358 * grub-core/lib/i386/relocator_common.S: New file.
17359 * grub-core/lib/ieee1275/relocator.c: Likewise.
17360 * grub-core/lib/mips/relocator.c: Rewritten.
17361 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17362 stylistic adjustments.
17363 * grub-core/lib/powerpc/relocator.c: New file.
17364 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17365 * grub-core/lib/relocator.c: Rewritten.
17366 * grub-core/lib/x86_64/relocator_asm.S: New file.
17367 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17368 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17369 (bsd_tag): New struct.
17370 (tags): New variable.
17371 (tags_last): Likewise.
17372 (netbsd_module): New struct.
17373 (netbsd_mods): New variable.
17374 (netbsd_mods_last): Likewise.
17375 (openbsd_opts): New parameter "serial".
17376 (OPENBSD_SERIAL_ARG): New definition.
17377 (netbsd_opts): New parameter "serial".
17378 (NETBSD_SERIAL_ARG): New definition.
17379 (grub_freebsd_add_meta): Reorganised into ...
17380 (grub_bsd_add_meta): ...this. All users updated.
17381 (grub_freebsd_add_mmap): Reorganised into ...
17382 (generate_e820_mmap): ...this...
17383 (grub_bsd_add_mmap): ...and this. All users updated.
17384 (grub_freebsd_list_modules): Use tags.
17385 (grub_netbsd_add_meta_module): New function.
17386 (grub_netbsd_list_modules): Likewise.
17387 (grub_freebsd_boot): Use relocator and finish EFI.
17388 (grub_openbsd_boot): Likewise.
17389 (grub_netbsd_setup_video): New function.
17390 (grub_netbsd_add_modules): Likewise.
17391 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17392 and finish EFI.
17393 (grub_bsd_unload): Unload tags.
17394 (grub_bsd_load_aout): Use relocator.
17395 (grub_bsd_elf32_size_hook): New function.
17396 (grub_bsd_elf32_hook): Use relocator.
17397 (grub_bsd_elf64_size_hook): New function.
17398 (grub_bsd_elf64_hook): Use relocator.
17399 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17400 (grub_bsd_load): Zero-out openbsd_ramdisk.
17401 (grub_bsd_load): Use relocator.
17402 (grub_cmd_openbsd): Support serial.
17403 (grub_cmd_netbsd): Support modules.
17404 (grub_cmd_freebsd_module): Use relocator.
17405 (grub_netbsd_module_load): New function.
17406 (grub_cmd_netbsd_module): Likewise.
17407 (grub_cmd_openbsd_ramdisk): Likewise.
17408 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17409 kopenbsd_ramdisk.
17410 (GRUB_MOD_FINI): Unregister new commands.
17411 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17412 (grub_freebsd_load_elfmodule_obj): Use relocator.
17413 (grub_freebsd_load_elfmodule): Likewise.
17414 (grub_freebsd_load_elf_meta): Likewise.
17415 (grub_netbsd_load_elf_meta): New function.
17416 (grub_openbsd_find_ramdisk): Likewise.
17417 * grub-core/loader/i386/bsd_helper.S: Removed.
17418 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17419 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17420 * grub-core/loader/i386/efi/linux.c: Likewise.
17421 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17422 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17423 (DEFAULT_VIDEO_MODE): Likewise.
17424 (real_mode_target): New variable.
17425 (prot_mode_target): Likewise.
17426 (initrd_mem_target): Likewise.
17427 (relocator): Likewise.
17428 (efi_mmap_buf): Likewise.
17429 (efi_mmap_size): Likewise.
17430 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17431 (free_pages): Use relocator.
17432 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17433 (grub_linux_setup_video): Return error.
17434 (grub_linux_trampoline_start): Removed.
17435 (grub_linux_trampoline_end): Likewise.
17436 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17437 andd video parameters depending on firmware.
17438 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17439 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17440 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17441 (grub_cmd_initrd): Use relocator.
17442 * grub-core/loader/i386/linux_trampoline.S: Removed.
17443 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17444 (elf_sec_entsize): Likewise.
17445 (elf_sec_shstrndx): Likewise.
17446 (elf_sections): Likewise.
17447 (grub_multiboot_load): Use relocator.
17448 (grub_multiboot_get_mbi_size): Account for sections.
17449 (grub_multiboot_make_mbi): Use relocator and support sections.
17450 (grub_multiboot_add_elfsyms): New function.
17451 (grub_multiboot_free_mbi): Free sections.
17452 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17453 (grub_linux_real_target): Likewise.
17454 (grub_linux_real_chunk): Likewise.
17455 (grub_linux16_prot_size): Likewise.
17456 (grub_linux16_boot): Use relocator.
17457 (grub_linux_unload): Unload relocator.
17458 (grub_cmd_linux): Use relocator.
17459 (grub_cmd_initrd): Likewise.
17460 * grub-core/loader/i386/pc/ntldr.c: New file.
17461 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17462 Don't try to guess CPU frequency.
17463 (grub_xnu_set_video): Stretch bitmap.
17464 (grub_xnu_boot): Use relocator.
17465 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17466 (grub_linux_unload): Free relocator.
17467 (grub_linux_load32): Use relocator.
17468 (grub_linux_load64): Likewise.
17469 (grub_cmd_initrd): Likewise.
17470 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17471 (grub_multiboot_unload): Unload relocator.
17472 (grub_cmd_multiboot): Use relocator.
17473 (grub_cmd_module): Likewise.
17474 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17475 Use relocator and support sections.
17476 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17477 (elf_sec_entsize): Likewise.
17478 (elf_sec_shstrndx): Likewise.
17479 (elf_sections): Likewise.
17480 (grub_multiboot_load): Use relocator.
17481 (grub_multiboot_get_mbi_size): Account for sections.
17482 (grub_multiboot_make_mbi): Use relocator and support sections.
17483 (grub_multiboot_add_elfsyms): New function.
17484 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17485 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17486 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17487 Prototype changed. All users updated.
17488 (grub_xnu_align_heap): Simplified.
17489 (grub_xnu_writetree_toheap): Likewise.
17490 (grub_xnu_unload): Unload relocator.
17491 (grub_cmd_xnu_kernel): Use relocator.
17492 (grub_cmd_xnu_kernel64): Likewise.
17493 (grub_xnu_register_memory): Simplified.
17494 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17495 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17496 EFI is finished.
17497 (grub_console_checkkey): Likewise.
17498 (grub_console_getkey): Likewise.
17499 (grub_console_getwh): Likewise.
17500 (grub_console_getxy): Likewise.
17501 (grub_console_gotoxy): Likewise.
17502 (grub_console_cls): Likewise.
17503 (grub_console_setcolorstate): Likewise.
17504 (grub_console_setcursor): Likewise.
17505 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17506 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17507 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17508 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17509 * grub-core/tests/boot/kernel-8086.S: Likewise.
17510 * grub-core/tests/boot/kernel-i386.S: Likewise.
17511 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17512 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17513 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17514 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17515 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17516 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17517 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17518 * grub-core/tests/boot/linux.cfg: Likewise.
17519 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17520 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17521 * grub-core/tests/boot/linux16.cfg: Likewise.
17522 * grub-core/tests/boot/multiboot.cfg: Likewise.
17523 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17524 * grub-core/tests/boot/ntldr.cfg: Likewise.
17525 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17526 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17527 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17528 New definition.
17529 * include/grub/dl.h (grub_dl_unload_all): Removed.
17530 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17531 (grub_efi_finish_boot_services): Change prototype.
17532 (grub_efi_is_finished): New variable.
17533 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17534 Changed prototype.
17535 (grub_efiemu_finish_boot_services): Removed.
17536 (grub_machine_efiemu_init_tables): New prototype.
17537 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17538 (grub_elf64_phdr_iterate): Likewise.
17539 * include/grub/i386/bsd.h: Include relocator.h.
17540 (freebsd_tag_header): New struct.
17541 (grub_openbsd_bios_mmap): Removed.
17542 (grub_unix_real_boot): Removed.
17543 (grub_freebsd_load_elfmodule32): Changed prototype.
17544 (grub_freebsd_load_elfmodule_obj64): Likewise.
17545 (grub_freebsd_load_elf_meta32): Likewise.
17546 (grub_freebsd_load_elf_meta64): Likewise.
17547 (grub_freebsd_add_meta): Removed.
17548 (grub_netbsd_load_elf_meta32): New prototype.
17549 (grub_netbsd_load_elf_meta64): Likewise.
17550 (grub_bsd_add_meta): Likewise.
17551 (grub_openbsd_ramdisk_descriptor): New struct.
17552 (grub_openbsd_find_ramdisk32): New prototype.
17553 (grub_openbsd_find_ramdisk64): Likewise.
17554 * include/grub/i386/coreboot/loader.h: Removed.
17555 * include/grub/i386/efi/loader.h: Likewise.
17556 * include/grub/i386/ieee1275/loader.h: Likewise.
17557 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17558 to grub_uint32_t.
17559 * include/grub/i386/loader.h: Removed.
17560 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17561 value.
17562 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17563 (grub_phys_addr_t): New type.
17564 (grub_vtop): New inline function.
17565 (grub_map_memory): Likewise.
17566 (grub_unmap_memory): Likewise.
17567 * include/grub/i386/multiboot/loader.h: Removed.
17568 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17569 (NETBSD_BTINFO_CONSOLE): New definition.
17570 (NETBSD_BTINFO_SYMTAB): Likewise.
17571 (NETBSD_BTINFO_MODULES): Likewise.
17572 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17573 (grub_netbsd_bootinfo): New struct.
17574 (grub_netbsd_btinfo_common): Use explicit bitsize.
17575 (grub_netbsd_btinfo_mmap_entry): Removed.
17576 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17577 (grub_netbsd_btinfo_bootdisk): New struct.
17578 (grub_netbsd_btinfo_symtab): Likewise.
17579 (grub_netbsd_btinfo_serial): Likewise.
17580 (grub_netbsd_btinfo_modules): Likewise.
17581 (grub_netbsd_btinfo_framebuf): Likewise.
17582 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17583 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17584 Likewise.
17585 (grub_openbsd_bootargs): Use explicit bitsize.
17586 (grub_openbsd_bootarg_console): New struct.
17587 (GRUB_OPENBSD_COM_MAJOR): New definition.
17588 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17589 * include/grub/i386/pc/efiemu.h: Removed.
17590 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17591 * include/grub/i386/qemu/loader.h: Removed.
17592 * include/grub/i386/relocator.h: Rewritten.
17593 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17594 * include/grub/mips/memory.h: New file.
17595 * include/grub/mips/multiboot.h: Rewritten.
17596 * include/grub/mips/relocator.h: Rewritten.
17597 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17598 (grub_vtop): New function.
17599 (grub_map_memory): Likewise.
17600 (grub_unmap_memory): Likewise.
17601 * include/grub/misc.h (ALIGN_DOWN): New definition.
17602 * include/grub/mm.h (grub_mm_check_real): New proto.
17603 (GRUB_MM_CHECK): New definition.
17604 * include/grub/mm_private.h: New file.
17605 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17606 (grub_multiboot_get_mbi_size): Removed.
17607 (grub_multiboot_make_mbi): Change prottype.
17608 (grub_multiboot_set_accepts_video): New proto.
17609 (grub_multiboot_add_elfsyms): Likewise.
17610 (grub_multiboot_payload_eip): New variable.
17611 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17612 New prototype.
17613 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17614 New definition.
17615 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17616 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17617 * include/grub/powerpc/ieee1275/loader.h: Removed.
17618 * include/grub/powerpc/memory.h: New file.
17619 * include/grub/powerpc/relocator.h: Likewise.
17620 * include/grub/relocator.h: Likewise.
17621 * include/grub/relocator_private.h: Likewise.
17622 * include/grub/sparc64/ieee1275/loader.h: Removed.
17623 * include/grub/x86_64/memory.h: New file.
17624 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17625 (grub_xnu_heap_malloc): Likewise.
17626 (grub_xnu_heap_real_start): Removed.
17627 (grub_xnu_heap_start): Likewise.
17628 (grub_xnu_relocator): New variable.
17629 (grub_xnu_heap_target_start): Likewise.
17630 * tests/util/grub-shell.in: Support non-pc.
17631 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17632
5303b85d
VS
176332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17636 on malloc error.
17637 (grub_bidi_logical_to_visual): Check that malloc succeded.
17638 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17639 puts.
17640 (grub_xputs_normal): Likewise.
17641
d768d159
VS
176422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17645 extra_dist.
17646
176472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17650
5bf84df4
VS
176512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17654
3626810e
VS
176552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17658 dprintf.
17659
a7363f53
BC
176602010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17661
17662 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17663
902f75f6
VS
176642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 * grub-core/normal/term.c (print_more): Fix a memory leak.
17667 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17668 (grub_xputs_normal): Likewise.
17669
3c707967
VS
176702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17671
17672 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17673 the begining of the string
17674
2053cc07
VS
176752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 * grub-core/script/script.c (grub_script_parse): Free parsed on
17678 failure.
17679
46422ebf
VS
176802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17683 on failure.
17684
9e0fa3f6
VS
176852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17688 return.
17689
3393cf16
VS
176902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17693 (scroll_up): Fix a memory leak.
17694
b17540cb
VS
176952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17698 errors.
17699
67140446
VS
177002010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 Handle USB pendrives exposed as floppies.
17703
17704 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17705 floppy.
17706 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17707 Check for partitions on all devices.
17708
e35e46fc
VS
177092010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17712 (readkey): Likewise.
17713
d24c6190
BC
177142010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17715
17716 Multiple variable names support to "export" command.
17717
17718 * normal/context.c (grub_cmd_export): "export" command supports
17719 multiple variable names.
17720
04ddcc6a
ST
177212010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17722
17723 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17724 --target=drive output to Mach device name.
17725
0c8b61d8
BC
177262010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17727
17728 New Automake based build system for GRUB.
17729
17730 * ABOUT-NLS: New file.
17731 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17732 in Makefile.util.def file.
17733 * Makefile.util.def: New file. Autogen build definitions file for
17734 GRUB host utils.
17735 * conf/Makefile.common: New file. Common variables for GRUB host
17736 utils and target modules.
17737 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17738 * docs/Makefile.am: New file. Automake file for docs.
17739 * gentpl.py: New file. Python script to generate Autogen
17740 template.
17741 * grub-core/Makefile.am: New file. GRUB target modules' rules
17742 that doesn't fit in Makefile.core.def file.
17743 * grub-core/Makefile.core.def: New file. Autogen build
17744 definitions file for GRUB target modules.
17745 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17746 specific setjmp.S file.
17747 * po/Makefile.am: New file.
17748
17749 * .bzrignore: New ignores.
17750 * INSTALL: New requirements, without Ruby.
17751 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17752 * autogen.sh: Updated to invoke autogen as necessary.
17753 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17754 and defines for Automake conditionals.
17755 * geninit.sh: Refactoring.
17756
17757 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17758 necessary.
17759 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17760 New prototype.
17761
17762 * include/grub/test.h: Fix functional test modules' naming.
17763 * grub-core/tests/example_functional_test.c: Fix test module name.
17764
17765 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17766 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17767 * util/grub-editenv.c: Likewise.
17768 * util/grub-fstest.c: Likewise.
17769 * util/grub-mkdevicemap.c: Likewise.
17770 * util/grub-mkfont.c: Likewise.
17771 * util/grub-mkimage.c: Likewise.
17772 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17773 * util/grub-probe.c: Likewise.
17774 * util/grub-script-check.c: Likewise.
17775 * util/i386/pc/grub-setup.c: Likewise.
17776 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17777
17778 * tests/util/grub-shell.in: Fix override directory path.
17779 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17780 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17781
17782 * util/lvm.c: Update #includes.
17783 * util/raid.c: Likewise.
17784 * util/resolve.c: Likewise.
17785 * grub-core/bus/emu/pci.c: Likewise.
17786 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17787 * grub-core/lib/posix_wrap/string.h: Likewise.
17788 * grub-core/kern/emu/main.c: Likewise.
17789
17790 * grub-core/gensymlist.sh: New file. Script for generating kernel
17791 symbols file.
17792 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17793
17794 * grub-core/gentrigtables.c: Fix unused variable warnings.
17795
17796 * Makefile.in: Removed.
17797 * conf/any-emu.rmk: Removed.
17798 * conf/common.rmk: Removed.
17799 * conf/i386-coreboot.rmk: Removed.
17800 * conf/i386-efi.rmk: Removed.
17801 * conf/i386-ieee1275.rmk: Removed.
17802 * conf/i386-multiboot.rmk: Removed.
17803 * conf/i386-pc.rmk: Removed.
17804 * conf/i386-qemu.rmk: Removed.
17805 * conf/i386.rmk: Removed.
17806 * conf/mips-yeeloong.rmk: Removed.
17807 * conf/mips.rmk: Removed.
17808 * conf/powerpc-ieee1275.rmk: Removed.
17809 * conf/sparc64-ieee1275.rmk: Removed.
17810 * conf/tests.rmk: Removed.
17811 * conf/x86-efi.rmk: Removed.
17812 * conf/x86_64-efi.rmk: Removed.
17813 * gendistlist.sh: Removed.
17814 * geninitheader.sh: Removed.
17815 * genkernsyms.sh.in: Removed.
17816 * genmk.rb: Removed.
17817 * gensymlist.sh.in: Removed.
17818 * mkinstalldirs: Removed.
17819 * boot: Moved ...
17820 * grub-core/boot: ... to here.
17821 * bus: Moved ...
17822 * grub-core/bus: ... to here.
17823 * commands: Moved ...
17824 * grub-core/commands: ... to here.
17825 * disk: Moved ...
17826 * grub-core/disk: ... to here.
17827 * efiemu: Moved ...
17828 * grub-core/efiemu: ... to here.
17829 * font: Moved ...
17830 * grub-core/font: ... to here.
17831 * fs: Moved ...
17832 * grub-core/fs: ... to here.
17833 * gencmdlist.sh: Moved ...
17834 * grub-core/gencmdlist.sh: ... to here.
17835 * genemuinit.sh: Moved ...
17836 * grub-core/genemuinit.sh: ... to here.
17837 * genemuinitheader.sh: Moved ...
17838 * grub-core/genemuinitheader.sh: ... to here.
17839 * genfslist.sh: Moved ...
17840 * grub-core/genfslist.sh: ... to here.
17841 * genhandlerlist.sh: Moved ...
17842 * grub-core/genhandlerlist.sh: ... to here.
17843 * genmoddep.awk: Moved ...
17844 * grub-core/genmoddep.awk: ... to here.
17845 * genmodsrc.sh: Moved ...
17846 * grub-core/genmodsrc.sh: ... to here.
17847 * genpartmaplist.sh: Moved ...
17848 * grub-core/genpartmaplist.sh: ... to here.
17849 * genparttoollist.sh: Moved ...
17850 * grub-core/genparttoollist.sh: ... to here.
17851 * genterminallist.sh: Moved ...
17852 * grub-core/genterminallist.sh: ... to here.
17853 * gentrigtables.c: Moved ...
17854 * grub-core/gentrigtables.c: ... to here.
17855 * genvideolist.sh: Moved ...
17856 * grub-core/genvideolist.sh: ... to here.
17857 * gettext: Moved ...
17858 * grub-core/gettext: ... to here.
17859 * gfxmenu: Moved ...
17860 * grub-core/gfxmenu: ... to here.
17861 * gnulib: Moved ...
17862 * grub-core/gnulib: ... to here.
17863 * hello: Moved ...
17864 * grub-core/hello: ... to here.
17865 * hook: Moved ...
17866 * grub-core/hook: ... to here.
17867 * io: Moved ...
17868 * grub-core/io: ... to here.
17869 * kern: Moved ...
17870 * grub-core/kern: ... to here.
17871 * lib: Moved ...
17872 * grub-core/lib: ... to here.
17873 * loader: Moved ...
17874 * grub-core/loader: ... to here.
17875 * mmap: Moved ...
17876 * grub-core/mmap: ... to here.
17877 * normal: Moved ...
17878 * grub-core/normal: ... to here.
17879 * partmap: Moved ...
17880 * grub-core/partmap: ... to here.
17881 * parttool: Moved ...
17882 * grub-core/parttool: ... to here.
17883 * script: Moved ...
17884 * grub-core/script: ... to here.
17885 * term: Moved ...
17886 * grub-core/term: ... to here
17887 * tests/example_functional_test.c: Moved ...
17888 * grub-core/tests/example_functional_test.c: ... to here.
17889 * tests/lib/functional_test.c: Moved ...
17890 * grub-core/tests/lib/functional_test.c: ... to here.
17891 * tests/lib/test.c: Moved ...
17892 * grub-core/tests/lib/test.c: ... to here.
17893 * video: Moved ...
17894 * grub-core/video: ... to here.
17895
645586e6
BC
178962010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17897
17898 Replace --enable-grub-emu-modules with grub-emu-lite.
17899
17900 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17901 cache.S.
17902
17903 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17904 * kern/emu/full.c: New file. For grub-emu specific initialization.
17905 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17906 * kern/emu/main.c: Call initialization function grub_emu_init.
17907
17908 * Makefile.in: Include grub-emu-lite in install.
17909 * commands/parttool.c: Use grub_no_autoload to differentiate
17910 between grub-emu and grub-emu-lite.
17911 * include/grub/misc.h: New variable grub_no_autoload.
17912
17913 * conf/any-emu.rmk: New rules for grub-emu-lite.
17914 * configure.ac: Remove --enable-grub-emu-modules.
17915 * genmk.rb: Cleanup unnecessary rules.
17916 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17917
17918 * normal/main.c: Don't load list files on grub-emu-lite.
17919 * util/misc.c (grub_arch_sync_caches): Removed.
17920
f86a4030
CW
179212010-08-23 Colin Watson <cjwatson@ubuntu.com>
17922
17923 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17924 grub-mkimage rather than grub-mkelfimage.
17925 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17926
06776944
VS
179272010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17930 a key after CapsLock or NumLock. It's just a qemu bug.
17931
df262419
VS
179322010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17935 needed by libusb wrapper.
17936
b40ea81b
ST
179372010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17938
17939 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17940
dee50575
VS
179412010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17944 --nounzip is passed.
17945
fb1d7b79
VS
179462010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 USB hotunplugging and USB serial support.
17949
17950 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17951 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17952 (grub_uhci_transfer): Respect timeout and set *actual.
17953 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17954 non-standard length.
17955 (grub_usb_device_attach): Autoload modules.
17956 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17957 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17958 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17959 users updated.
17960 (grub_usb_add_hub): Fill nports and children.
17961 (attach_root_port): Receive hub instead of controller.
17962 All users updated. Fill hub->devices.
17963 (grub_usb_root_hub): Allocate hub->devices.
17964 (detach_device): New function.
17965 (poll_nonroot_hub): Fill children and detach devices.
17966 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17967 actual arguments. All users updated.
17968 (grub_usb_bulk_read_extended): New function.
17969 * bus/usb/serial/common.c: New file.
17970 * bus/usb/serial/ftdi.c: Likewise.
17971 * bus/usb/serial/pl2303.c: Likewise.
17972 * commands/terminal.c (handle_command): Support wildcard.
17973 * commands/usbtest.c: Output "Unknown" instead of empty string.
17974 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17975 (usbserial_common_mod_SOURCES): New variable.
17976 (usbserial_common_mod_CFLAGS): Likewise.
17977 (usbserial_common_mod_LDFLAGS): Likewise.
17978 (pkglib_MODULES): Add usbserial_pl2303.mod.
17979 (usbserial_pl2303_mod_SOURCES): New variable.
17980 (usbserial_pl2303_mod_CFLAGS): Likewise.
17981 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17982 (pkglib_MODULES): Add usbserial_ftdi.mod.
17983 (usbserial_ftdi_mod_SOURCES): New variable.
17984 (usbserial_ftdi_mod_CFLAGS): Likewise.
17985 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17986 (pkglib_MODULES): Add serial.mod.
17987 (serial_mod_SOURCES): New variable.
17988 (serial_mod_CFLAGS): Likewise.
17989 (serial_mod_LDFLAGS): Likewise.
17990 * conf/i386-pc.rmk: Likewise.
17991 * conf/mips-yeeloong.rmk: Likewise.
17992 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17993 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17994 * disk/usbms.c (first_available_slot): New variable.
17995 (grub_usbms_attach): Don't reuse free slots due to potential cache
17996 problems.
17997 * include/grub/serial.h: Moved to ..
17998 * include/grub/ns8250.h: ...this.
17999 * include/grub/serial.h: New file.
18000 * include/grub/term.h (grub_term_poll_usb): New variable.
18001 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18002 readkey. All users updated.
18003 (grub_terminfo_output_state): Pass term to put.
18004 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18005 (grub_usb_controller_dev): Add timeout and actual arguments to
18006 transfer. All users updated.
18007 (grub_usb_interface): New field detach_data.
18008 (grub_usb_device): New fields children and nports.
18009 (grub_usb_ep_type_t): New type.
18010 (grub_usb_get_ep_type): New function.
18011 (grub_usb_bulk_read_extended): Likewise.
18012 * include/grub/usbdesc.h (grub_usb_desc): New type.
18013 * include/grub/usbserial.h: New file.
18014 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18015 * kern/term.c (grub_term_poll_usb): New variable.
18016 (grub_getkey): Call grub_term_poll_usb if set.
18017 (grub_checkkey): Likewise.
18018 (grub_getkeystatus): Likewise.
18019 * term/serial.c: Moved controller-specific parts to ...
18020 * term/ns8250.c: ... here.
18021 * term/serial.c: Mostly rewritten.
18022 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18023 according to spec.
18024
21a313de
RM
180252010-08-20 Robert Millan <rmh@gnu.org>
18026
18027 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18028 a separate module and maybe other interesting combinations.
18029
18030 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18031 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18032 (kfreebsd_entry): Add generic filesystem module load routine.
18033 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18034
63c734a6
CW
180352010-08-20 Colin Watson <cjwatson@ubuntu.com>
18036
18037 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18038 "numcenter" (I misunderstood the purpose of this entry).
18039 * docs/grub.texi (sendkey): Likewise.
18040
c4d16542
CW
180412010-08-20 Colin Watson <cjwatson@ubuntu.com>
18042
18043 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18044 status flag options; simply omitting the option is equivalent and
18045 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18046 (keysym_table): Rename "num5numlock" to "numlock".
18047 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18048 can uniformly say that only the last of multiple `sendkey'
18049 invocations has any effect.
18050 * docs/grub.texi (sendkey): New section.
18051
93541d66
CW
180522010-08-19 Colin Watson <cjwatson@ubuntu.com>
18053
18054 * commands/i386/pc/sendkey.c (options): Fix three typos.
18055
b4ece5e1
VS
180562010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Implement sendkey support.
18059
18060 * commands/i386/pc/sendkey.c: New file.
18061 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18062 (sendkey_mod_SOURCES): New variable.
18063 (sendkey_mod_CFLAGS): Likewise.
18064 (sendkey_mod_LDFLAGS): Likewise.
18065
51f1f5af
CW
180662010-08-18 Colin Watson <cjwatson@ubuntu.com>
18067
18068 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18069 fix warnings from Autoconf.
18070
9da94e05
CW
180712010-08-18 Colin Watson <cjwatson@ubuntu.com>
18072
18073 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18074 to avoid false positives with some assemblers that output things
18075 like "someprefix_func" as part of their output.
18076
729a0f2e
RM
180772010-08-15 Robert Millan <rmh@gnu.org>
18078
18079 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18080 errors.
18081 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18082 grub_get_libzfs_handle() errors.
18083
f3710e08
RM
180842010-08-14 Robert Millan <rmh@gnu.org>
18085
18086 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18087 filesystem is not ZFS.
18088
7a3c13de
BC
180892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18090
18091 Fix for misspelled color names defaulting to black/black (bug
18092 reported by Doug Nazar)
18093
18094 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18095 status to prototype.
18096 * normal/color.c (grub_parse_color_name_pair): Return failure
18097 status.
18098 (grub_env_write_color_normal): Ignore bad color names.
18099 (grub_env_write_color_highlight): Likewise.
18100 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18101
ab8ba50d
BC
181022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18103
18104 "shift" command support to GRUB script.
18105
18106 * include/grub/script_sh.h (grub_script_shift): New prototype.
18107 * script/execute.c (grub_script_shift): New function.
18108 * script/main.c (grub_script_init): Register shift command.
18109 (grub_script_fini): Unregister shift command.
18110 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18111
18112 * tests/grub_script_shift.in: New testcase.
18113 * conf/tests.rmk: Rules for new testcase.
18114
4d61999e
BC
181152010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18116
18117 "continue" command support to GRUB script.
18118
18119 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18120 (grub_script_break): Continue support.
18121 * script/main.c (grub_script_init): Register continue command.
18122 (grub_script_fini): Unregister continue command.
18123
18124 * tests/grub_script_continue.in: New testcase.
18125 * conf/tests.rmk: Rules for new testcase.
18126
4df51e00
BC
181272010-08-12 BVK Chaitanya <bvk@dbook>
18128
18129 "break" command support to GRUB script.
18130
18131 * conf/common.rmk: Rule updates to grub-script-check.
18132 * include/grub/misc.h (grub_min): New function.
18133 * include/grub/script_sh.h (grub_script_init): New prototype.
18134 (grub_script_fini): New prototype.
18135 (grub_script_break): New prototype.
18136 * script/main.c (grub_script_init): New function.
18137 (grub_script_fini): New function.
18138 * script/execute.c (grub_script_break): New function.
18139 * normal/main.c: Calls to grub_script_{init,fini}.
18140 * util/grub-script-check.c (grub_script_break): New function.
18141
18142 * tests/grub_script_break.in: New testcase.
18143 * conf/tests.rmk: Rules for new test case.
18144
f12c8420
BC
181452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18146
18147 Function parameters support to GRUB script.
18148
18149 * script/yylex.l (VARIABLE): Regular expression update.
18150 * script/function.c (grub_script_function_call): Moved ...
18151 * script/execute.c (grub_script_function_call): ... to here.
18152 (grub_script_execute_arglist_to_argv): Removed.
18153 (grub_script_arglist_to_argv): New function.
18154 * script/argv.c: New file.
18155 (grub_script_argv_free): New function.
18156 (grub_script_argv_next): Likewise.
18157 (grub_script_argv_append): Likewise.
18158 (grub_script_argv_split_append): Likewise.
18159 * include/grub/script_sh.h (grub_script_argv): New struct.
18160 (grub_script_argv_free): New function.
18161 (grub_script_argv_next): Likewise.
18162 (grub_script_argv_append): Likewise.
18163 (grub_script_argv_split_append): Likewise.
18164
18165 * conf/common.rmk (normal.mod): New source script/argv.c.
18166
18167 * tests/grub_script_echo1.in: More tests.
18168 * tests/grub_script_vars1.in: Likewise.
18169 * tests/grub_script_functions.in: New test case.
18170 * conf/tests.rmk: Rules for new testcase.
18171
8022b748
BC
181722010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18173
18174 Remove grub_script_cmdblock struct.
18175
18176 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18177 * script/parser.y: Likewise.
18178 * script/execute.c: Rename cmdblock suffix to cmdlist.
18179 * script/script.c: Likewise.
18180 * util/grub-script-check.c: Likewise.
18181
79a6ba61
YB
181822010-08-11 Yves Blusseau <blusseau@zetam.org>
18183
18184 * .bzrignore: add grub-macho2img
18185
d04b9414
VS
181862010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18189
f947ab49
VS
181902010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 Remove the dump of sm712 initialisation sequence.
18193
18194 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18195 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18196 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18197 (GRUB_VGA_CR_*): Added many registers.
18198 (GRUB_VGA_SR_*): Likewise.
18199 (GRUB_VGA_GR_*): Likewise.
18200 (grub_vga_write_arx): New function.
18201 (grub_video_hw_config): New struct.
18202 (grub_vga_set_geometry): New function.
18203 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18204 GRUB_PCI_CLASS_SUBCLASS_VGA.
18205 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18206 * video/sm712.c (grub_sm712_write_reg): New function
18207 (grub_sm712_read_reg): Likewise.
18208 (grub_sm712_sr_write): Likewise.
18209 (grub_sm712_gr_write): Likewise.
18210 (grub_sm712_cr_write): Likewise.
18211 (grub_sm712_write_arx): Likewise.
18212 (grub_sm712_cr_shadow_write): Likewise.
18213 (grub_sm712_write_dda_lookup): Likewise.
18214 (grub_video_sm712_setup): Initialise the video rather then
18215 blindly replay the dump.
18216 (main) [TEST]: Add a routine to be able to compile as standalone for
18217 tests.
18218 * video/sm712_init.c (sm712_init): Removed.
18219 (sm712_sr_seq1): New array.
18220 (sm712_sr_seq2): Likewise.
18221
f0206638
VS
182222010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * include/grub/vga.h: Add missing grub/pci.h include.
18225
2764da3b
YB
182262010-08-10 Yves Blusseau <blusseau@zetam.org>
18227
18228 * util/grub-macho2img.c (main): fix typo
18229
cf0c775e
VS
182302010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18233 (grub_vga_gr_read): Likewise.
18234 (grub_vga_cr_write): Likewise.
18235 (grub_vga_cr_read): Likewise.
18236 (grub_vga_sr_write): Likewise.
18237 (grub_vga_sr_read): Likewise.
18238 (grub_vga_palette_read): Likewise.
18239 (grub_vga_palette_write): Likewise.
18240 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18241 (grub_sm712_sr_read): New function.
18242 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18243 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18244
07f360e9
RM
182452010-08-09 Robert Millan <rmh@gnu.org>
18246
18247 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18248 out unused variables on non-ZFS build.
18249
346c2072
RM
182502010-08-08 Robert Millan <rmh@gnu.org>
18251
18252 Fix path generation for sub-filesystems in ZFS.
18253
18254 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18255 missing slash.
18256
71175420
RM
182572010-08-08 Robert Millan <rmh@gnu.org>
18258
18259 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18260
0d8286f3
RM
182612010-08-08 Robert Millan <rmh@gnu.org>
18262
18263 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18264 exist, issue a proper error message (rely on `ls' for translated
18265 strings).
18266
55dd2924
RM
182672010-08-08 Robert Millan <rmh@gnu.org>
18268
18269 Fix grub-probe invocation.
18270
18271 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18272
d3dd9e80
RM
182732010-08-04 Robert Millan <rmh@gnu.org>
18274
18275 * configure.ac: Remove checks for getfsstat() and getmntany().
18276 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18277 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18278 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18279 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18280 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18281 function.
18282 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18283 via find_mount_point_from_dir() and getfsstat() / getmntany().
18284
0de22aa9
RM
182852010-08-04 Robert Millan <rmh@gnu.org>
18286
18287 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18288 (grub_find_zpool_from_mount_point): Merge into ...
18289 (grub_find_zpool_from_dir): ... this.
18290 * kern/emu/misc.c: Likewise.
18291
18292 * kern/emu/misc.c
18293 (grub_make_system_path_relative_to_its_root): Replace
18294 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18295 with grub_find_zpool_from_dir().
18296 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18297
62858144
RM
182982010-08-04 Robert Millan <rmh@gnu.org>
18299
18300 Support OpenSolaris in ZFS device resolution.
18301
18302 * configure.ac: Check for getmntany().
18303 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18304 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18305 support.
18306
9dd6fd50
RM
183072010-08-03 Robert Millan <rmh@gnu.org>
18308
18309 Fix grub-emu build.
18310
18311 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18312 * include/grub/emu/misc.h: ... here.
18313
18314 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18315 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18316
18317 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18318 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18319 (grub_get_libzfs_handle): Move to ...
18320 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18321 (grub_get_libzfs_handle): ... here.
18322
c9f7ff97
BC
183232010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18324
18325 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18326 as command name case.
18327
a870a783
CW
183282010-08-02 Colin Watson <cjwatson@ubuntu.com>
18329
18330 * disk/raid.c (insert_array): Select unique numbers for named arrays
18331 as well, for use as keys in the disk cache.
18332
c7db243b
RM
183332010-08-01 Robert Millan <rmh@gnu.org>
18334
18335 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18336 kFreeBSD device name, except on ZFS where the filesystem label is
18337 used.
18338 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18339 `/boot/zfs/zpool.cache'.
18340 Set mountfrom kernel variable using ${kfreebsd_device}.
18341
f7abdefb
RM
183422010-08-01 Robert Millan <rmh@gnu.org>
18343
18344 Make it even harder to use uninitialized `libzfs_handle' (and
18345 make the interface a bit simpler).
18346
18347 * include/grub/util/misc.h (grub_util_init_libzfs)
18348 (libzfs_handle): Remove.
18349 (grub_get_libzfs_handle): New prototype.
18350
18351 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18352 attribute.
18353 (grub_util_init_libzfs): Remove.
18354 (grub_get_libzfs_handle): New function.
18355
18356 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18357 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18358 accessing `libzfs_handle' directly.
18359
c882acc0
RM
183602010-08-01 Robert Millan <rmh@gnu.org>
18361
18362 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18363 (grub_find_zpool_from_mount_point): New function prototypes.
18364
18365 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18366 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18367
18368 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18369 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18370 `static' attribute.
18371
18372 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18373 finding zpool from mount point into ...
18374 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18375
18376 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18377 requested path is part of a ZFS pool, use
18378 grub_find_zpool_from_mount_point() to detect its filesystem name,
18379 and generate a path with `/fsname@path' syntax.
18380
8bfe31d8
CW
183812010-08-01 Colin Watson <cjwatson@ubuntu.com>
18382
18383 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18384 (void) rather than () so that this is a proper prototype.
18385
553df63d
VS
183862010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18387
18388 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18389
8687cf07
VS
183902010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18393 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18394
ea9be8ea
CW
183952010-08-01 Colin Watson <cjwatson@ubuntu.com>
18396
18397 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18398
6eea041a
CW
183992010-08-01 Colin Watson <cjwatson@ubuntu.com>
18400
18401 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18402
2cfb45df
CW
184032010-08-01 Colin Watson <cjwatson@ubuntu.com>
18404
18405 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18406 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18407 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18408 disable gfxpayload.
18409 (Shell-like scripting): Add real content.
18410 (Serial terminal): Suggest `terminal_input serial; terminal_output
18411 serial' rather than putting the two commands on separate lines,
18412 since console input will be inoperative after the first command.
18413 (menuentry): Document --class, --users, and --hotkey options.
18414 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18415 Vladimir Serbinenko).
18416
7decd202
VS
184172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
184182010-08-01 Colin Watson <cjwatson@ubuntu.com>
18419
18420 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18421
c882acc0
RM
184222010-08-01 Robert Millan <rmh@gnu.org>
18423
18424 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18425 (grub_find_zpool_from_mount_point): New function prototypes.
18426
18427 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18428 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18429
18430 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18431 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18432 `static' attribute.
18433
18434 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18435 finding zpool from mount point into ...
18436 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18437
18438 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18439 requested path is part of a ZFS pool, use
18440 grub_find_zpool_from_mount_point() to detect its filesystem name,
18441 and generate a path with `/fsname@path' syntax.
18442
deb0caa3
RM
184432010-08-01 Robert Millan <rmh@gnu.org>
18444
18445 Prevent accidental use of uninitialized libzfs_handle.
18446
18447 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18448 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18449 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18450
ce04ef47
CW
184512010-08-01 Colin Watson <cjwatson@ubuntu.com>
18452
18453 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18454 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18455
ebf53056
RM
184562010-08-01 Robert Millan <rmh@gnu.org>
18457
18458 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18459
3710bb6b
RM
184602010-07-31 Robert Millan <rmh@gnu.org>
18461
18462 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18463
8072efeb
RM
184642010-07-31 Robert Millan <rmh@gnu.org>
18465
18466 * kern/emu/misc.c: Add missing license header.
18467
3169f4c7
RM
184682010-07-31 Robert Millan <rmh@gnu.org>
18469
18470 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18471
18472 * include/grub/util/libnvpair.h: Include `<config.h>'.
18473 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18474 declaring libnvpair prototypes ourselves.
18475 * include/grub/util/libzfs.h: Include `<config.h>'.
18476 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18477 declaring libzfs prototypes ourselves.
18478
18479 (libzfs_handle): Moved to ...
18480 * include/grub/util/misc.h (libzfs_handle): ... here.
18481 Include `<grub/util/libzfs.h>'.
18482
c9a00aee
RM
184832010-07-30 Robert Millan <rmh@gnu.org>
18484
18485 * include/grub/emu/misc.h: Add missing license header.
18486
a184f9c8
RM
184872010-07-30 Robert Millan <rmh@gnu.org>
18488
18489 Enable `grub-probe -t device' resolution on ZFS.
18490
18491 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18492 * include/grub/util/libnvpair.h: New file.
18493 * include/grub/util/libzfs.h: New file.
18494
18495 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18496 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18497 `<grub/util/libnvpair.h>'.
18498 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18499
18500 (find_mount_point_from_dir): New static function.
18501 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18502 function.
18503 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18504 find_root_device_from_libzfs() before ressorting to find_root_device().
18505
18506 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18507 prototype.
18508 * util/misc.c: Include `<grub/util/libzfs.h>'.
18509 (grub_util_init_libzfs): New function.
18510 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18511 [HAVE_LIBZFS] (fini_libzfs): New static function.
18512 (grub_util_init_libzfs): New function.
18513 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18514
f7790cdd
RM
185152010-07-30 Robert Millan <rmh@gnu.org>
18516
18517 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18518 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18519 `warn_unused_result' attribute.
18520 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18521 (grub_xasprintf, grub_xvasprintf): Likewise.
18522 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18523
0806b63c
RM
185242010-07-29 Robert Millan <rmh@gnu.org>
18525
18526 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18527 (probe): Handle `PRINT_FS_LABEL'.
18528 (main): Handle `-t fs_label'.
18529
9f841f5c
RM
185302010-07-29 Robert Millan <rmh@gnu.org>
18531
18532 * configure.ac: Remove grub-mkisofs checks.
18533
46371121
VS
185342010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18537 Reported by: Lennart Sorensen.
18538
185392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18542 prior to terminal_input/terminal_output separation. It's been over 1.5
18543 years and those versions weren't widely deployed.
18544
a9600892
CW
185452010-07-22 Colin Watson <cjwatson@ubuntu.com>
18546
18547 * disk/raid.c (insert_array): Don't count named arrays when looking
18548 for unused array numbers.
697e053c 18549 Reported and tested by: Michael Guntsche.
a9600892 18550
c03507df
CW
185512010-07-20 Colin Watson <cjwatson@ubuntu.com>
18552
18553 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18554 implementation of this so that grub-emu links again, with a note
18555 that this should support hotplugging in the future.
18556
b26f1c11
CW
185572010-07-20 Colin Watson <cjwatson@ubuntu.com>
18558
18559 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18560
efc9d7f1
CW
185612010-07-20 Colin Watson <cjwatson@ubuntu.com>
18562
18563 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18564 handle on failure.
18565 (grub_loopback_close): Remove empty function.
18566 (grub_loopback_dev): Remove close method.
18567
dd8ff5c9
CW
185682010-07-20 Colin Watson <cjwatson@ubuntu.com>
18569
18570 Disable EFI cursor when the EFI console becomes inactive.
18571
18572 * term/efi/console.c (grub_efi_console_init): New function.
18573 (grub_efi_console_fini): New function.
18574 (grub_console_term_output): Register init and fini methods.
18575
5e3bec67
VS
185762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18579 sh script.
18580
afaec079
VS
185812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * disk/loopback.c (grub_loopback): Replace filename with file.
18584 (delete_loopback): Handle new semantics.
18585 (grub_cmd_loopback): Likewise.
18586 (grub_loopback_iterate): Likewise.
18587 (grub_loopback_close): Likewise.
18588
a6a11f3c
VS
185892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18592 with -p "".
18593 Reported by: Tito Keitel.
18594
64a638b0
VS
185952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 * docs/grub.texi (Naming convention): Document new naming convention.
18598
ab8ba957
VS
185992010-07-20 Vadim Solomin <vadic052@gmail.com>
186002010-07-20 Colin Watson <cjwatson@ubuntu.com>
18601
18602 Generate device.map in something closer to the old ordering.
18603
18604 * util/deviceiter.c (struct device): New declaration.
18605 (compare_file_names): Rename to ...
18606 (compare_devices): ... this. Sort by kernel name in preference to
18607 the stable by-id name, but keep the latter as a fallback comparison.
18608 Update header comment.
18609 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18610 of `struct device' rather than of plain file names.
18611
a29d6a4b
TF
186122010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18613
18614 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18615 on i386.
18616
39d824e8
VS
186172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18620 hardcoding size.
18621 (setv1table): Likewise.
18622
f058276b
FZ
186232010-07-20 Colin Watson <cjwatson@ubuntu.com>
18624
18625 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18626 removing the homehost if present.
18627 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18628 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18629 removing the homehost if present.
18630 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18631 if possible.
18632 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18633
18634 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18635 parameter. Set its pointer target to 0.
18636 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18637 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18638 `data_offset' value from the superblock for 1.x metadata.
18639 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18640 data on the device.
18641 (insert_array): Record the start sector of data on the device.
18642 (grub_raid_register): Pass start_sector parameters to
18643 grub_raid_list->detect and insert_array.
18644 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18645 member.
18646 (struct grub_raid): Add start_sector parameter to `detect'.
18647
18648 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18649 __attribute__ ((packed)), leaving a comment.
18650 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18651 (grub_mdraid_detect_09): ... here and ...
18652 (grub_mdraid_detect_1x): ... here.
18653
186542010-07-20 Peter Henn <peter.henn@web.de>
18655
18656 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18657 chunk size and disk size, which are already given as sector counts
18658 as distinct from the 0.90 units. Fetch the correct device number
18659 from the role table instead of using the table index.
18660
186612010-07-20 Felix Zielcke <fzielcke@z-51.de>
18662
18663 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18664 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18665 (WriteMostly1): New macro.
18666 Set array->name to NULL for metadata format 0.90. Add support for
18667 metadata 1.x. Fix some comments.
18668 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18669 few comments.
18670 * util/getroot.c (grub_util_get_grub_dev): Add support for
18671 /dev/md/name style devices.
18672
4b761da9
CW
186732010-07-20 Colin Watson <cjwatson@ubuntu.com>
18674
18675 * .bzrignore: Ignore 20_linux_xen.
18676
5771289a
CW
186772010-07-17 Colin Watson <cjwatson@ubuntu.com>
18678
18679 * util/import_unicode.py: Remove unnecessary imports.
18680
5dab68df
AN
186812010-07-17 Aleš Nesrsta <starous@volny.cz>
18682
18683 Hotplugging and USB hub support.
18684
18685 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18686 (grub_ohci): Likewise.
18687 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18688 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18689 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18690 (GRUB_OHCI_CTRL_EDS): Likewise.
18691 (GRUB_OHCI_BULK_EDS): Likewise.
18692 (GRUB_OHCI_TDS): Likewise.
18693 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18694 (grub_ohci_ed_phys2virt): New function.
18695 (grub_ohci_virt_to_phys): Likewise.
18696 (grub_ohci_td_phys2virt): Likewise.
18697 (grub_ohci_td_virt2phys): Likewise.
18698 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18699 attachment.
18700 (grub_ohci_find_ed): New function.
18701 (grub_ohci_alloc_td): Likewise.
18702 (grub_ohci_free_td): Likewise.
18703 (grub_ohci_free_tds): Likewise.
18704 (grub_ohci_transfer): Use previously allocated memory.
18705 (grub_ohci_portstatus): Reset status changed bit.
18706 (grub_ohci_detect_dev): Supply status changed.
18707 (grub_ohci_fini_hw): Free memory.
18708 (grub_ohci_restore_hw): Reallocate memory.
18709 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18710 Reset status change.
18711 (grub_uhci_detect_dev): Supply status_change.
18712 * bus/usb/usb.c (attach_hooks): New var.
18713 (grub_usb_device_attach): New function.
18714 (grub_usb_register_attach_hook_class): Likewise.
18715 (grub_usb_unregister_attach_hook_class): Likewise.
18716 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18717 (grub_usb_add_hub): Reset connection changed bit.
18718 (attach_root_port): New function.
18719 (grub_usb_root_hub): Likewise.
18720 (poll_nonroot_hub): Likewise.
18721 (grub_usb_poll_devices): Likewise.
18722 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18723 * disk/usbms.c (grub_usbms_open): Use device hooks.
18724 (grub_usbms_iterate) :Poll devices.
18725 (grub_usbms_finddevs): Split into ...
18726 (grub_usbms_attach): ... this ...
18727 (grub_usbms_attach): ... and this.
18728 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18729 in detect_dev.
18730 (grub_usb_interface): New fields attached and detach_hook.
18731 (grub_usb_attach_hook_class): New type.
18732 (grub_usb_attach_desc): New struct.
18733 (grub_usb_register_attach_hook_class): New function.
18734 (grub_usb_unregister_attach_hook_class): Likewise.
18735 (grub_usb_poll_devices): Likewise.
18736 (grub_usb_device_attach): Likewise.
18737 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18738 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18739
3222efaf
VS
187402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18741
18742 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18743 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18744 delta determination style. Works with most NetBSD partitions too.
18745
139b714a
VS
187462010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18747
18748 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18749 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18750
986aad56
VS
187512010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18752
18753 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18754
99be513c
AB
187552010-07-14 Anton Blanchard <anton@samba.org>
18756
18757 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18758 ET_DYN files.
18759
18075f62
GS
187602010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18761
18762 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18763
8d9a5b15
GS
187642010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18765
18766 * kern/partition.c (grub_partition_check_containment): New function to
18767 check that a partition is physically contained in a parent. Since
18768 offsets are relative (and non-negative), this reduces to checking that
18769 the partition ends before its parent.
18770 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18771 (grub_partition_iterate): Likewise.
18772 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18773 comments.
18774 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18775 partitions that start before their parent, and add debug printfs.
18776
19563c25
CW
187772010-07-13 Colin Watson <cjwatson@ubuntu.com>
18778
18779 * Makefile.in (.SUFFIX): Spell correctly, as ...
18780 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18781 bare module name without `.mod', e.g. `test') tried to invoke a
18782 Modula-2 compiler.
18783
1a1f1e67
CW
187842010-07-13 Colin Watson <cjwatson@ubuntu.com>
18785
18786 * README: Point to the Info manual.
18787
811b0dca
JS
187882010-07-13 Jiro SEKIBA <jir@unicus.jp>
18789
18790 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18791 2nd superblock position from partition size.
18792
e4f4eafc
CW
187932010-07-10 Colin Watson <cjwatson@ubuntu.com>
18794
18795 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18796 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18797 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18798 outputs.
18799
4274c30f
VS
188002010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 Restructure SCSI .id handling.
18803 Reported and tested by: Aleš Nesrsta.
18804
18805 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18806 (grub_atapi_dev): Changed .name to "ata". New field .id.
18807 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18808 (grub_usbms_dev): New field .id.
18809 * disk/scsi.c (grub_scsi_iterate): Generate name.
18810 (grub_scsi_open): Parse name.
18811 * include/grub/scsi.h (grub_make_scsi_id): New function.
18812 (grub_scsi_dev): Change iterate and open to number instead of naming
18813 busses. All users updated.
18814 (grub_scsi): Remove name. Add .bus.
18815
5bc24388
VS
188162010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 * commands/help.c (grub_cmd_help): Fix a typo.
18819
249975ba
VS
188202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18823 Reported and tested by: Colin Watson.
18824
3eaac1a1
VS
188252010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18828 in this context.
18829
becce1b1
VS
188302010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18833
f7bf0918
CW
188342010-07-07 Colin Watson <cjwatson@ubuntu.com>
18835
18836 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18837 indentation.
18838
0b0f9620
CW
188392010-07-06 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18842 and disk/raid6_recover.c.
18843 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18844 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18845
1e545469
CW
188462010-07-06 Colin Watson <cjwatson@ubuntu.com>
18847
18848 * term/gfxterm.c (repaint_schedulded): Rename to ...
18849 (repaint_scheduled): ... this. Update all callers.
18850 (repaint_was_schedulded): Rename to ...
18851 (repaint_was_scheduled): ... this. Update all callers.
18852
5357687a
CW
188532010-07-06 Colin Watson <cjwatson@ubuntu.com>
18854
18855 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18856 which we expect to be handled by upper layers.
18857
29d7e783
BC
188582010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18859
18860 * bus/usb/usbhub.c: #include time.h header.
18861
37582066
CW
188622010-07-06 Colin Watson <cjwatson@ubuntu.com>
18863
18864 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18865 entry_name also for entries without stat blocks (e.g. ".."); fixes
18866 corruption of the first entry in a directory.
18867
c8c06953
CW
188682010-07-06 Colin Watson <cjwatson@ubuntu.com>
18869
18870 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18871 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18872 doesn't work otherwise.
18873
e75056f1
CW
188742010-07-05 Colin Watson <cjwatson@ubuntu.com>
18875
18876 * docs/grub.texi (Features): Update list of supported file systems.
18877 (GNU/Linux): Update for GRUB 2.
18878 (Serial terminal): Remove mention of --disable-serial, which was a
18879 GRUB Legacy configure option. Update instructions to use
18880 `terminal_input' and `terminal_output' rather than `terminal'.
18881 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18882 configuration' and `Installing GRUB using grub-install'.
18883 (Menu entry editor): Update for GRUB 2.
18884 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18885 Document new -a, -u, and -v options.
18886 (initrd): New section.
18887 (initrd16): New section.
18888 (linux): New section.
18889 (linux16): New section.
18890 (search): The `var' argument to `--set' is optional.
18891 (GRUB only offers a rescue shell): Go into a little more detail on
18892 drive ordering.
18893
5cf69151
CW
188942010-07-05 Colin Watson <cjwatson@ubuntu.com>
18895
18896 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18897
e3f90044
CW
188982010-07-05 Colin Watson <cjwatson@ubuntu.com>
18899
18900 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18901 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18902
38d8f4f3
CW
189032010-07-05 Colin Watson <cjwatson@ubuntu.com>
18904
18905 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18906 install_prefix, in line with install_dos_part and install_bsd_part.
18907 Add new prefix variable, which is copied to install_prefix after
18908 comparing core.img in memory with the one read from disk in the
18909 no-embedding case, and use that rather than overwriting
18910 install_prefix immediately when installing to a partition.
18911 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18912 Bicakci.
18913
57ebd41e
GS
189142010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18915
18916 * configure.ac: Avoid == in test command, it's not portable.
18917 * util/grub.d/30_os-prober.in: Likewise.
18918
cb7f64b2
CW
189192010-07-04 Colin Watson <cjwatson@ubuntu.com>
18920
18921 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18922
6b654bb0
GS
189232010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18924
18925 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18926 multiple (top-level) partmaps.
18927
72a2026d
VS
189282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18931 Reported by: Tino Keitel.
72a2026d 18932
df3eb88f
VS
189332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 Bidi and diacritics support.
18936
18937 * Makefile.in (widthspec.bin): New target.
18938 (widthspec.h): Likewise.
18939 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18940 * autogen.sh: Generate unidata.c.
18941 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18942 * commands/ls.c (grub_ls_list_devices): Likewise.
18943 (grub_ls_list_files): Likewise.
18944 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18945 (grub_mini_cmd_lsmod): Likewise.
18946 * commands/read.c: Likewise.
18947 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18948 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18949 * lib/arg.c (grub_arg_show_help): Likewise.
18950 * lib/crypto.c (grub_password_get): Likewise.
18951 * normal/auth.c (grub_username_get): Likewise.
18952 * normal/misc.c (grub_normal_print_device_info): Likewise.
18953 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18954 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18955 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18956 (normal/charset.c_DEPENDENCIES): New variable.
18957 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18958 (pkglib_MODULES): Remove charset.mod.
18959 (charset_mod_SOURCES): Removed.
18960 (charset_mod_CFLAGS): Likewise.
18961 (charset_mod_LDFLAGS): Likewise.
18962 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18963 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18964 and term/tparm.c.
18965 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18966 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18967 (kernel_img_HEADERS): Add terminfo.h.
18968 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18969 Fill ->font. Reverse ascii bitmaps.
18970 (grub_font_get_xheight): New function.
18971 * font/font.c (grub_font_get_string_width): Moved from here ...
18972 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18973 * font/font.c (grub_font_draw_string): Moved from here ...
18974 * gfxmenu/font.c (grub_font_draw_string): ... here.
18975 * font/font.c (grub_font_dup_glyph): New function.
18976 (grub_font_blit_glyph): Likewise.
18977 (grub_font_blit_glyph_mirror): Likewise.
18978 (blit_comb): Likewise.
18979 (grub_font_construct_dry_run): Likewise.
18980 (grub_font_get_constructed_device_width): Likewise.
18981 (grub_font_construct_glyph): Likewise.
18982 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18983 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18984 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18985 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18986 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18987 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18988 (grub_font_get_xheight): New proto.
18989 (grub_font_get_constructed_device_width): Likewise.
18990 (grub_font_construct_glyph): Likewise.
18991 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18992 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18993 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18994 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18995 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18996 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18997 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18998 (grub_console_getcharwidth): Likewise.
18999 * include/grub/misc.h (grub_xputs): New proto.
19000 (grub_puts): Inlined.
19001 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19002 (grub_normal_get_line_counter): Removed.
19003 (grub_install_newline_hook): Likewise.
19004 (grub_normal_get_char_counter): New proto.
19005 (grub_normal_reset_more): Likewise.
19006 (grub_xputs_normal): Likewise.
19007 * include/grub/powerpc/ieee1275/console.h: Removed.
19008 * include/grub/sparc64/ieee1275/console.h: Likewise.
19009 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19010 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19011 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19012 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19013 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19014 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19015 (grub_term_input): Pass reference to self. All users updated.
19016 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19017 Pass reference to self. New fields normal_color, highlight_color and
19018 data. All users updated.
19019 (grub_putchar): Removed.
19020 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19021 (grub_unicode_estimate_width): New function.
19022 (grub_term_getcharwidth): Add defaults.
19023 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19024 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19025 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19026 (grub_cls): Remove EXPORT_FUNC.
19027 (grub_setcolorstate): Inline.
19028 (grub_newline_hook): Removed.
19029 * include/grub/terminfo.h: Rewritten. All users updated.
19030 * include/grub/unicode.h: New file.
19031 * include/grub/video.h (grub_video_signed_rect): New type.
19032 * kern/emu/console.c (grub_console_highlight_color): Removed.
19033 (grub_console_normal_color): Likewise.
19034 (grub_console_standard_color): Made static.
19035 (grub_ncurses_putchar): Remove mapping.
19036 (grub_ncurses_getcharwidth): Removed.
19037 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19038 (grub_ncurses_setcolor): Removed.
19039 (grub_ncurses_getcolor): Likewise.
19040 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19041 (grub_console_putchar): ... this.
19042 (grub_console_putchar): Handle argument difference.
19043 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19044 console_init_early and console_init_lately.
19045 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19046 * kern/misc.c (grub_puts): Removed.
19047 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19048 (grub_vsnprintf_real): Remove str = NULL support.
19049 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19050 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19051 * kern/term.c (grub_putcode): Renamed to ...
19052 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19053 (grub_putchar): Removed.
19054 (grub_xputs_dumb): New function.
19055 (grub_xputs): New variable.
19056 * lib/charset.c: Move from here ...
19057 * normal/charset.c: ... to here.
19058 (grub_ucs4_to_utf8): New function.
19059 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19060 (join_types): New variable.
19061 (unpack_join): New function.
19062 (bidi_types): New variable.
19063 (unpack_bidi): New function.
19064 (get_bidi_type): Likewise.
19065 (get_join_type): Likewise.
19066 (is_mirrored): Likewise.
19067 (grub_unicode_get_comb_type): Likewise.
19068 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19069 (is_type_after): Likewise.
19070 (grub_unicode_aglomerate_comb): Likewise.
19071 (bidi_line_wrap): Likewise.
19072 (grub_bidi_line_logical_to_visual): Likewise.
19073 (grub_bidi_logical_to_visual): Likewise.
19074 (grub_unicode_mirror_code): Likewise.
19075 (grub_unicode_shape_code): Likewise.
19076 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19077 Don't use grub_putchar.
19078 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19079 (grub_normal_reader_init): Likewise.
19080 (grub_xputs_saved): New variable.
19081 (GRUB_MOD_INIT): Set grub_xputs.
19082 (GRUB_MOD_FINI): Restore grub_xputs.
19083 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19084 (menu_init): Avoid printing gfxmenu error.
19085 (show_menu): Use grub_normal_get_char_counter.
19086 * normal/menu_entry.c (update_screen): Fix out-of-array.
19087 (complete): Avoid NULL dereferencing.
19088 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19089 * normal/menu_text.c (print_spaces): Removed.
19090 (grub_print_ucs4): Likewise.
19091 (grub_print_message_indented): Use grub_print_ucs4.
19092 (print_message): Use grub_putcode.
19093 (print_entry): Hanlde diacritics.
19094 * normal/term.c (term_state): New type.
19095 (grub_more_lines): Removed.
19096 (term_states): New variable.
19097 (grub_normal_line_counter): Renamed to ..
19098 (grub_normal_char_counter): ...this. All users updated.
19099 (grub_normal_get_line_counter): Renamed to ...
19100 (grub_normal_get_char_counter): ... this.
19101 (grub_normal_reset_more): New function.
19102 (process_newline): Removed.
19103 (print_more): New function.
19104 (grub_install_newline_hook): Removed.
19105 (map_code): New function.
19106 (grub_puts_terminal): Use grub_print_ucs4.
19107 (putglyph): New function.
19108 (putcode_real): Likewise.
19109 (grub_putcode): Use putcode_real.
19110 (get_maxwidth): New function.
19111 (get_startwidth): Likewise.
19112 (print_ucs4_terminal): Likewise.
19113 (find_term_state): Likewise.
19114 (put_glyphs_terminal): Likewise.
19115 (print_backlog): Likewise.
19116 (print_ucs4_real): Likewise.
19117 (grub_print_ucs4): Likewise.
19118 (grub_xputs_normal): Likewise.
19119 * term/efi/console.c (grub_console_putchar): Output diacritics.
19120 (grub_console_getcharwidth): Removed.
19121 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19122 * term/gfxterm.c (clear_char): Free chars.
19123 (scroll_up): Avoid leaking memory.
19124 (grub_gfxterm_putchar): Support diacritics.
19125 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19126 * term/i386/pc/console.c (grub_console_term_output): Declare as
19127 GRUB_TERM_CODE_TYPE_VGA.
19128 * term/i386/pc/vga.c (grub_vga_term): Declare as
19129 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19130 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19131 GRUB_TERM_CODE_TYPE_VGA.
19132 * term/i386/vga_common.c (map_char): Removed.
19133 (grub_console_putchar): Likewise.
19134 (grub_console_getcharwidth): Likewise.
19135 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19136 (colors): Reordered to match terminfo.
19137 (grub_ofconsole_normal_color): Removed.
19138 (grub_ofconsole_writeesc): Likewise.
19139 (grub_ofconsole_highlight_color): Likewise.
19140 (grub_ofconsole_getcharwidth): Likewise.
19141 (grub_ofconsole_setcolorstate): Likewise.
19142 (grub_ofconsole_setcolor): Likewise.
19143 (grub_ofconsole_getcolor): Likewise.
19144 (grub_ofconsole_readkey): Renamed to ...
19145 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19146 key.
19147 (grub_ofconsole_checkkey): Removed.
19148 (grub_ofconsole_getkey): Likewise.
19149 (grub_ofconsole_getxy): Likewise.
19150 (grub_ofconsole_gotoxy): Likewise.
19151 (grub_ofconsole_cls): Likewise.
19152 (grub_ofconsole_refresh): Likewise.
19153 (grub_ofconsole_terminfo_input): New struct.
19154 (grub_ofconsole_terminfo_output): Likewise.
19155 (grub_ofconsole_term_input): Use terminfo.
19156 (grub_ofconsole_term_output): Likewise.
19157 (grub_console_init): Split into ...
19158 (grub_console_init_early): ...this and ...
19159 (grub_console_init_lately): ...this. Use terminfo.
19160 (grub_ofconsole_putchar): Renamed to ...
19161 (put): ... this. Remove mapping.
19162 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19163 * term/serial.c: Simplify using terminfo.
19164 (xpos): Removed.
19165 (ypos): Likewise.
19166 (keep_track): Likewise.
19167 (registered): Likewise.
19168 (input_buf): Likewise.
19169 (npending): Likewise.
19170 (serial_translate_key_sequence): Likewise.
19171 (fill_input_buf): Likewise.
19172 (grub_serial_checkkey): Likewise.
19173 (grub_serial_getkey): Likewise.
19174 (grub_serial_getxy): Likewise.
19175 (grub_serial_gotoxy): Likewise.
19176 (grub_serial_putchar): Likewise.
19177 (grub_serial_cls): Likewise.
19178 (grub_serial_setcolorstate): Likewise.
19179 (grub_serial_setcursor): Likewise.
19180 (serial_hw_init): Use serial_hw_fetch.
19181 (grub_serial_terminfo_input): New variable.
19182 (grub_serial_terminfo_output): Likewise.
19183 (grub_serial_term_input): Use terminfo.
19184 (grub_serial_term_output): Likewise.
19185 * term/terminfo.c (putstr): Use put.
19186 (grub_terminfo_all_free): New function
19187 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19188 (grub_terminfo_output_register): New function.
19189 (grub_terminfo_output_unregister): Likewise.
19190 (grub_terminfo_getxy): Likewise.
19191 (grub_terminfo_readkey): Likewise.
19192 (grub_terminfo_checkkey): Likewise.
19193 (grub_terminfo_getkey): Likewise.
19194 (grub_terminfo_input_init): Likewise.
19195 (print_terminfo): Likewise.
19196 (grub_cmd_terminfo): Handle encoding.
19197 (grub_terminfo_gotoxy): Track position.
19198 (grub_terminfo_cls): Likewise.
19199 (grub_terminfo_putchar): Likewise.
19200 (grub_terminfo_setcolorstate): Handle colors
19201 (grub_terminfo_cursor_on): This ...
19202 (grub_terminfo_cursor_off): ... and this merged into ...
19203 (grub_terminfo_setcursor): ... this.
19204 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19205 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19206 * unicode/BidiMirroring.txt: Likewise.
19207 * unicode/UnicodeData.txt: Likewise.
19208 * unicode/COPYING: Likewise.
19209 * util/grub-editenv.c (grub_putchar): Removed.
19210 (grub_xputs_real): New function.
19211 (grub_xputs): New variable.
19212 * util/grub-fstest.c (grub_putchar): Removed.
19213 (grub_xputs_real): New function.
19214 (grub_xputs): New variable.
19215 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19216 (grub_xputs_real): New function.
19217 (grub_xputs): New variable.
19218 * util/grub-probe.c (grub_putchar): Removed.
19219 (grub_xputs_real): New function.
19220 (grub_xputs): New variable.
19221 * util/grub-script-check.c (grub_putchar): Removed.
19222 (grub_xputs_real): New function.
19223 (grub_xputs): New variable.
19224 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19225 (grub_xputs_real): New function.
19226 (grub_xputs): New variable.
19227 * util/import_unicode.py: New file.
19228 * util/grub-mkfont.c (ft_errmsgs): New array.
19229 (grub_glyph_info): Make bitmap a pointer.
19230 (file_formats): New type WIDTH_SPEC.
19231 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19232 (options): Add width-spec.
19233 (help): Likewise.
19234 (add_char): Renamed to ...
19235 (add_glyph): ... this.
19236 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19237 (glyph_replace): New type.
19238 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19239 (add_char): New function.
19240 (add_subst): Likewise.
19241 (process_cursive): Likewise.
19242 (add_font): Handle GSUB.
19243 (write_font_width_spec): New function.
19244 (main): Sort glyphs.
19245 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19246 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19247 * kern/term.c (grub_cls): Moved from here...
19248 * normal/term.c (grub_cls): ... here.
19249
50f0bcda
CW
192502010-07-02 Colin Watson <cjwatson@ubuntu.com>
19251
19252 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19253 suitable for using within the format argument of printf when
19254 converting grub_size_t.
19255 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19256 "x" to convert grub_size_t arguments.
19257
40372103
VS
192582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19261 too long captions.
19262 (list_get_minimal_size): Take selection box into account.
19263
942a10c7
VS
192642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19267 NULL font.
19268
2bdb2892
CW
192692010-07-02 Colin Watson <cjwatson@ubuntu.com>
19270
19271 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19272 devices when iterating over /dev/disk/by-id; they will be handled
19273 later if appropriate, which they aren't always (e.g. LVM).
19274
e03ed6c1
CW
192752010-07-02 Colin Watson <cjwatson@ubuntu.com>
19276
19277 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19278 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19279 fails.
19280 (grub_halt): Likewise.
19281 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19282 reset-all fails.
19283 (grub_halt): Don't return, even if all of shut-down, power-off, and
19284 poweroff fail.
19285
47695765
CW
192862010-07-02 Colin Watson <cjwatson@ubuntu.com>
19287
19288 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19289 arguments, not three.
19290
507736c8
CW
192912010-07-02 Colin Watson <cjwatson@ubuntu.com>
19292
19293 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19294 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19295 LVM-on-RAID is handled correctly.
19296
e3c8cd37
CW
192972010-07-02 Colin Watson <cjwatson@ubuntu.com>
19298
19299 * docs/grub.texi (Changes from GRUB Legacy): New section.
19300 (Future): Fix typo.
19301
8d4a2fec
CW
193022010-07-02 Colin Watson <cjwatson@ubuntu.com>
19303
19304 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19305 grub.d/README accidentally ends up executable for one reason or
19306 another. Ignore it.
19307
1c4827be
VS
193082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19311 (gpt_partition_map_iterate): Support non-512B sectors.
19312
d9a0c941
VS
193132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19316 Tested by: Seth Goldberg.
19317
48f27e87
VS
193182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19321 Properly align mbi.
19322 Reported by: Seth Goldberg.
19323
b0c4f956
VS
193242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 * util/grub-mkrescue.in: Avoid module duplication.
19327
105a2e8c
SF
193282010-07-01 Sean Finney <seanius@seanius.net>
19329
19330 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19331
5944958c
SF
193322010-07-01 Sean Finney <seanius@seanius.net>
19333
19334 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19335
193362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19337
19338 * disk/lvm.c (grub_lvm_checkvalue): New function.
19339 (grub_lvm_check_flag): Likewise.
19340
b79889ba
RM
193412010-07-01 Robert Millan <rmh@gnu.org>
19342
19343 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19344 Support 'p' as partition separator on kernel of FreeBSD (used
19345 with GPT labels).
19346 (grub_util_biosdisk_get_grub_dev): Likewise.
19347
ec1d04f1
VS
193482010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 Yeeloong firmware port.
19351
19352 * boot/mips/yeeloong/fwstart.S: New file.
19353 * bus/cs5536.c (gpiodump): New const.
19354 (set_io_space): New function.
19355 (set_iod): Likewise.
19356 (set_p2d): Likewise.
19357 (grub_cs5536_init_geode): Likewise.
19358 * commands/mips/yeeloong/lsspd.c: New file.
19359 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19360 (serial_mod_SOURCES): New variable.
19361 (serial_mod_CFLAGS): Likewise.
19362 (serial_mod_LDFLAGS): Likewise.
19363 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19364 term/terminfo.c and term/tparm.c.
19365 (pkglib_IMAGES): Add fwstart.img.
19366 (fwstart_img_SOURCES): New variable.
19367 (fwstart_img_CFLAGS): Likewise.
19368 (fwstart_img_ASFLAGS): Likewise.
19369 (fwstart_img_LDFLAGS): Likewise.
19370 (fwstart_img_FORMAT): Likewise.
19371 (pkglib_MODULES): Add lsspd.mod.
19372 (lsspd_mod_SOURCES): New variable.
19373 (lsspd_mod_CFLAGS): Likewise.
19374 (lsspd_mod_LDFLAGS): Likewise.
19375 (pkglib_MODULES): Add halt.mod.
19376 (halt_mod_SOURCES): New variable.
19377 (halt_mod_CFLAGS): Likewise.
19378 (halt_mod_LDFLAGS): Likewise.
19379 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19380 (serial_mod_SOURCES): Removed.
19381 (serial_mod_CFLAGS): Likewise.
19382 (serial_mod_LDFLAGS): Likewise.
19383 * disk/ata.c (check_device): New function.
19384 (grub_ata_device_initialize): Use check_device.
19385 (grub_ata_iterate): Recheck devices.
19386 (grub_ata_open): Likewise.
19387 (grub_atapi_iterate): Likewise.
19388 (grub_atapi_open): Likewise.
19389 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19390 (GRUB_ATA_CH1_PORT1): Likewise.
19391 (GRUB_ATA_CH0_PORT2): Likewise.
19392 (GRUB_ATA_CH1_PORT2): Likewise.
19393 * include/grub/mips/loongson.h: New file.
19394 * include/grub/mips/yeeloong/ec.h: Likewise.
19395 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19396 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19397 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19398 * include/grub/misc.h (grub_halt): Declare as noreturn.
19399 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19400 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19401 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19402 (UART_ENABLE_DTRRTS): Likewise.
19403 (UART_ENABLE_MODEM): Removed.
19404 (UART_ENABLE_OUT2): New const.
19405 * include/grub/term.h (grub_term_register_input_active): New function.
19406 (grub_term_register_output_active): Likewise.
19407 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19408 argument.
19409 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19410 (init_pci): New function.
19411 (grub_machine_init): Execute platform init when firmware. Init serial.
19412 (grub_halt): Implement.
19413 (grub_exit): Likewise.
19414 (grub_reboot): Likewise.
19415 * term/serial.c (serial_hw_init): Update macros.
19416 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19417 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19418 (image_targets): New target mipsel-yeeloong-flash.
19419 (generate_image): Support IMAGE_YEELOONG_FLASH.
19420 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19421 (grub_video_sm712_setup): Init card.
19422 (grub_video_sm712_set_palette): Removed.
19423 * video/sm712_init.c: New file.
19424
ff4a70d2
CW
194252010-06-30 Colin Watson <cjwatson@ubuntu.com>
19426
19427 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19428 PATH when running help2man and then run it on the unadorned
19429 executable names, rather than passing $(builddir)/* paths to
19430 help2man. This avoids the build directory ending up in generated
19431 manual pages.
19432
1246efeb
CW
194332010-06-29 Colin Watson <cjwatson@ubuntu.com>
19434
19435 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19436 to avoid accidents when debugging with 'sh -x'.
19437 * util/grub-mkrescue.in: Likewise.
19438 * util/grub.d/00_header.in: Likewise.
19439 * util/grub.d/10_hurd.in: Likewise.
19440 * util/grub.d/10_kfreebsd.in: Likewise.
19441 * util/grub.d/10_linux.in: Likewise.
19442 * util/grub.d/10_netbsd.in: Likewise.
19443 * util/grub.d/10_windows.in: Likewise.
19444 * util/grub.d/20_linux_xen.in: Likewise.
19445 * util/grub.d/30_os-prober.in: Likewise.
19446 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19447
1ba9b889
CW
194482010-06-29 Colin Watson <cjwatson@ubuntu.com>
19449
19450 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19451 last character in the buffer.
19452 Reported by: Vladimir Serbinenko.
19453
dccaf99d
RM
194542010-06-29 Robert Millan <rmh@gnu.org>
19455
19456 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19457 (Command-line and menu entry commands): Document `badram' command.
19458
d500ed12
RM
194592010-06-28 Robert Millan <rmh@gnu.org>
19460
19461 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19462 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19463 command using ${GRUB_BADRAM} as parameter.
19464
20bc84a6
CW
194652010-06-28 Colin Watson <cjwatson@ubuntu.com>
19466
19467 * docs/grub.texi (Device map): New section.
19468 (Themes): New section (stub).
19469 * Makefile.in (docs/grub.info): The info documentation now builds
19470 without errors. Make sure it stays that way.
19471
4045dee1
VS
194722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19473
19474 Use normal parser for menu entries.
19475 Reported by: Thomas Frauendorfer
19476
19477 * include/grub/parser.h (grub_parser_execute): Don't export.
19478 * normal/menu.c (grub_menu_execute_entry_real): New function.
19479 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19480
bca58c7b
CW
194812010-06-28 Colin Watson <cjwatson@ubuntu.com>
19482
19483 * docs/grub.texi (Embedded configuration): New section (replacing
19484 old "Preset Menu" stub).
19485 (Images): New section.
19486 (configfile): Note that any menu entries defined in `file' are shown
19487 immediately.
19488
dec53e63
JT
194892010-06-28 Josh Triplett <josh@joshtriplett.org>
19490
19491 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19492
c06e40f7
CW
194932010-06-28 Colin Watson <cjwatson@ubuntu.com>
19494
19495 * util/grub-install.in: Add --debug-image= option.
19496
cb88052b
CW
194972010-06-28 Colin Watson <cjwatson@ubuntu.com>
19498
19499 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19500 possible on Linux.
19501
19502 * util/deviceiter.c (check_device): Rename to ...
19503 (check_device_readable_unique): ... this. Update all callers.
19504 Maintain and check a list of which devices (by canonicalized name)
19505 have already been seen.
19506 (clear_seen_devices): New function.
19507 (compare_file_names) [__linux__]: New function.
19508 (grub_util_iterate_devices): Clear the list of seen devices on exit
19509 and (just in case) on entry.
19510 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19511 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19512 seen-devices list, superseded by general code in check_device.
19513
bbe34652
CW
195142010-06-28 Colin Watson <cjwatson@ubuntu.com>
19515
19516 * commands/cat.c (options): New variable.
19517 (grub_cmd_cat): Parse options. If the --dos option is given, print
19518 DOS-style "\r\n" line endings as simple newlines (Debian bug
19519 #586358).
19520 (GRUB_MOD_INIT): Use extcmd.
19521 (GRUB_MOD_FINI): Likewise.
19522 * docs/grub.texi (cat): Document --dos.
19523
412e09f3
VS
195242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 XEN with Linux grub-mkconfig support.
19527
19528 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19529 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19530 GRUB_CMDLINE_XEN_DEFAULT.
19531 * util/grub.d/20_linux_xen.in: New file.
19532
53f3ef38 195332010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19534
19535 Initialise VGA video on qemu ourselves.
19536
19537 * boot/i386/qemu/boot.S: Don't call 0xc000.
19538 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19539 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19540 (kernel_img_HEADERS): Add pci.h.
19541 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19542 * configure.ac: Force unifont on qemu and yeeloong.
19543 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19544 (grub_vga_palette_write): Use correct register.
19545 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19546 Call grub_qemu_init_cirrus.
19547 * kern/i386/qemu/init.c: New file.
19548 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19549
19550 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19551
c75be4fb
PR
195522010-06-26 Pavel Roskin <proski@gnu.org>
19553
19554 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19555 13.
19556
d8034603
CW
195572010-06-26 Colin Watson <cjwatson@ubuntu.com>
19558
19559 * docs/grub.texi (Simple configuration): Explain that
19560 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19561 set to `true' to disable their respective recovery entries, not
19562 merely set.
19563
3fa06487
CW
195642010-06-26 Colin Watson <cjwatson@ubuntu.com>
19565
19566 Make the `source' command slightly faster.
19567
19568 * normal/main.c (grub_normal_execute): Don't re-read list files when
19569 nested.
19570
e9b29642
CW
195712010-06-23 Colin Watson <cjwatson@ubuntu.com>
19572
19573 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19574 field position and mask size to red fields from mode_info, not
19575 green.
19576 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19577 Remove redundant tag->common.framebuffer_type assignment.
19578 Reported by: Seth Goldberg.
19579
e726542f
CW
195802010-06-23 Colin Watson <cjwatson@ubuntu.com>
19581
19582 Sync up other versions of the Linux loader with Robert Millan's
19583 change of 2010-01-09, "Make loader output a bit more user-friendly".
19584
19585 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19586 grub_dprintf().
19587 (grub_cmd_linux): Likewise.
19588 (grub_cmd_initrd): Likewise.
19589 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19590 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19591
d6e98a17
CW
195922010-06-21 Colin Watson <cjwatson@ubuntu.com>
19593
19594 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19595 larger than MEMORY_MAP_SIZE.
19596
14d3f08e
BC
195972010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19598
19599 Fix parallel build.
19600
19601 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19602 dependency.
19603 * script/parser.y: #include grub_script.tab.h header.
19604
4f9613a3
VS
196052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 Support >3GiB and <16MiB RAM in i386-qemu.
19608
19609 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19610 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19611 (grub_lower_mem): Removed.
19612 (grub_upper_mem): Likewise.
19613 (mem_size): Made static.
19614 (above_4g): New variable.
19615 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19616 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19617 support.
19618
05e51879
VS
196192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19620
19621 Cirrus 5446 and Bochs video cards support.
19622
19623 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19624 video_bochs.mod
19625 (video_cirrus_mod_SOURCES): New variable.
19626 (video_cirrus_mod_CFLAGS): Likewise.
19627 (video_cirrus_mod_LDFLAGS): Likewise.
19628 (video_bochs_mod_SOURCES): Likewise.
19629 (video_bochs_mod_CFLAGS): Likewise.
19630 (video_bochs_mod_LDFLAGS): Likewise.
19631 * include/grub/vga.h: New file.
19632 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19633 (grub_video_fb_set_page_t): New type.
19634 (grub_video_fb_setup): New prototype.
19635 (grub_video_fb_swap_buffers): Likewise.
19636 (grub_video_fb_get_info_and_fini): Likewise.
19637 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19638 (CRTC_DATA_PORT): Likewise.
19639 (CRTC_CURSOR): Likewise.
19640 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19641 (CRTC_CURSOR_ADDR_LOW): Likewise.
19642 (CRTC_CURSOR_DISABLE): Likewise.
19643 (update_cursor): Use grub_vga_cr_write.
19644 (grub_vga_text_setcursor): Likewise.
19645 * video/bochs.c: New file.
19646 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19647 (palette): Likewise.
19648 (palette_size): Likewise.
19649 (framebuffer): New variable.
19650 (grub_video_fb_init): Use 'framebuffer'.
19651 (grub_video_fb_fini): Likewise.
19652 (grub_video_fb_get_info): Likewise.
19653 (grub_video_fb_get_palette): Likewise.
19654 (grub_video_fb_set_palette): Likewise.
19655 (grub_video_fb_set_viewport): Likewise.
19656 (grub_video_fb_get_viewport): Likewise.
19657 (grub_video_fb_map_color): Likewise.
19658 (grub_video_fb_map_rgb): Likewise.
19659 (grub_video_fb_map_rgba): Likewise.
19660 (grub_video_fb_unmap_color): Likewise.
19661 (grub_video_fb_unmap_color_int): Likewise.
19662 (grub_video_fb_fill_rect): Likewise.
19663 (grub_video_fb_blit_bitmap): Likewise.
19664 (grub_video_fb_blit_render_target): Likewise.
19665 (grub_video_fb_scroll): Likewise.
19666 (grub_video_fb_create_render_target): Likewise.
19667 (grub_video_fb_doublebuf_blit_init): Likewise.
19668 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19669 (doublebuf_pageflipping_update_screen): New function.
19670 (doublebuf_pageflipping_init): Likewise.
19671 (grub_video_fb_setup): Likewise.
19672 (grub_video_fb_swap_buffers): Likewise.
19673 (grub_video_fb_get_info_and_fini): Likewise.
19674 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19675 All users updated.
19676 (doublebuf_pageflipping_commit): Restructured into ...
19677 (doublebuf_pageflipping_set_page): ... this.
19678 (doublebuf_pageflipping_update_screen): Removed.
19679 (doublebuf_pageflipping_init): Likewise.
19680 (double_buffering_init): Likewise.
19681 (grub_video_vbe_setup): Use grub_video_fb_setup.
19682 (grub_video_vbe_swap_buffers): Removed.
19683 (grub_video_vbe_set_active_render_target): Likewise.
19684 (grub_video_vbe_get_active_render_target): Likewise.
19685 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19686 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19687 grub_video_fb_set_active_render_target and
19688 grub_video_fb_get_active_render_target.
19689 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19690 (SEQUENCER_DATA_PORT): Likewise.
19691 (MAP_MASK_REGISTER): Likewise.
19692 (CRTC_ADDR_PORT): Likewise.
19693 (CRTC_DATA_PORT): Likewise.
19694 (START_ADDR_HIGH_REGISTER): Likewise.
19695 (START_ADDR_LOW_REGISTER): Likewise.
19696 (GRAPHICS_ADDR_PORT): Likewise.
19697 (GRAPHICS_DATA_PORT): Likewise.
19698 (READ_MAP_REGISTER): Likewise.
19699 (INPUT_STATUS1_REGISTER): Likewise.
19700 (INPUT_STATUS1_VERTR_BIT): Likewise.
19701 (get_map_mask): Use grub_vga_sr_read.
19702 (set_map_mask): Use grub_vga_sr_write.
19703 (set_read_map): Use grub_vga_gr_write.
19704 (set_start_address): Use grub_vga_cr_write.
19705 * video/sm712.c (framebuffer): Remove leftover fields.
19706
4321c64a
CW
197072010-06-20 Colin Watson <cjwatson@ubuntu.com>
19708
19709 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19710 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19711 instead. Replace the gfxterm backend check with a check that
19712 ${GRUB_PREFIX}/video.lst is non-empty.
19713 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19714 again.
19715 (load_video): New generated function. Call it before loading
19716 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19717 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19718 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19719 * docs/grub.texi (Simple configuration): Document
19720 GRUB_VIDEO_BACKEND.
19721
197222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 Use video functions in linux and xnu loaders.
19725
19726 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19727 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19728 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19729 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19730 loader/i386/pc/linux.c.
19731 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19732 (find_line_len): Removed.
19733 (find_framebuf): Likewise.
19734 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19735 * loader/i386/efi/xnu.c: Removed.
19736 * loader/i386/pc/xnu.c: Moved from here...
19737 * loader/i386/xnu.c: ...here.
19738
19739 Enable priorities in video drivers.
19740
19741 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19742 (grub_video_adapter): New field prio.
19743 (grub_video_register): Respect prio when inserting.
19744 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19745 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19746 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19747 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19748 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19749 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19750 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19751
19752 Fix SDL driver ID.
19753
19754 * include/grub/video.h (grub_video_driver_id_t): New value
19755 GRUB_VIDEO_DRIVER_SDL.
19756 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19757
7d24e434
CW
197582010-06-17 Colin Watson <cjwatson@ubuntu.com>
19759
19760 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19761 argument to printf.
19762 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19763
c88a83f6
CW
197642010-06-17 Colin Watson <cjwatson@ubuntu.com>
19765
19766 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19767 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19768
094dfb69
CW
197692010-06-17 Colin Watson <cjwatson@ubuntu.com>
19770
19771 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19772 directly, and recommend grub-install instead.
19773 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19774
2164da6b
CW
197752010-06-17 Colin Watson <cjwatson@ubuntu.com>
19776
19777 Fix i386-pc prefix handling with nested partitions (Debian bug
19778 #585068). Note that the case where the core image is booted using
19779 multiboot and relocated from its original location still requires
19780 more work.
19781
19782 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19783 with "(,", fill the boot drive in between those two characters, but
19784 expect that a full partition specification including partition map
19785 names will follow.
19786 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19787 specified, write a prefix without the drive name but including a
19788 full partition specification.
19789
044e2e60
CW
197902010-06-16 Colin Watson <cjwatson@ubuntu.com>
19791
19792 * util/grub-mkconfig.in: Ignore non-option arguments, for
19793 compatibility with older versions (before 2010-06-12) which did the
19794 same. In particular, this makes it easier to ship an update-grub
19795 wrapper which is compatible with that used with GRUB Legacy (Debian
19796 bug #586056).
19797
5591324f
GS
197982010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19799
19800 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19801 for manual page generation.
19802
662e24d5
GS
198032010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19804
19805 * po/POTFILES: Remove leftover commands/handler.c.
19806
8d70754e
CW
198072010-06-14 Colin Watson <cjwatson@ubuntu.com>
19808
19809 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19810 left this script non-functional.
19811
41160e2e
CW
198122010-06-14 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * docs/man/grub-emu.h2m: New file.
19815
b5309cc1
CW
198162010-06-13 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * docs/grub.texi (Commands): Document reduced command set in rescue
19819 mode.
19820 (cpuid): New section.
19821
fcb2d090
GS
198222010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19823
19824 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19825 new partition naming style.
19826 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19827
96e5c556
BC
198282010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19829
19830 Add "-o grub.iso" like cmdline options support.
19831
19832 * util/grub-install.in: Improve cmdline option parsing.
19833 * util/grub-mkconfig.in: Likewise.
19834 * util/grub-mkrescue.in: Likewise.
19835 * util/grub-reboot.in: Likewise.
19836 * util/grub-set-default.in: Likewise.
19837 * util/i386/efi/grub-install.in: Likewise.
19838 * util/ieee1275/grub-install.in: Likewise.
19839 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19840
c16be99b
CW
198412010-06-12 Colin Watson <cjwatson@ubuntu.com>
19842
19843 * .bzrignore: Ignore 41_custom.
19844
ce08a9fb
TS
198452010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19846
19847 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19848
7beac90c
CW
198492010-06-12 Colin Watson <cjwatson@ubuntu.com>
19850
19851 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19852 prototype declarations.
19853
19854 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19855 generating fs, partmap, and video lists.
19856 * include/grub/fs.h (grub_fs_register): Omit prototype if
19857 GRUB_LST_GENERATOR is defined.
19858 * include/grub/partition.h (grub_partition_map_register): Likewise.
19859 * include/grub/video.h (grub_video_register): Likewise.
19860
1c8f0f8d
JM
198612010-06-12 Javier Martín <lordhabbit@gmail.com>
19862
19863 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19864
a6085973
TS
198652010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19866
19867 * util/grub-mkrescue.in: Support --xorriso argument.
19868
25c56d29
VS
198692010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19872 Suggested by: Thomas Schmitt.
19873
e03e4b24
VS
198742010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19877 Suggested by: Thomas Schmitt.
19878
57711df6
VS
198792010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 custom.cfg support.
19882
19883 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19884 * util/grub.d/41_custom.in: New file.
19885
ee62c427
CW
198862010-06-12 Colin Watson <cjwatson@ubuntu.com>
19887
19888 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19889 been merged back into normal.
19890
283af07a
CW
198912010-06-11 Colin Watson <cjwatson@ubuntu.com>
19892
19893 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19894 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19895
56a0d956
CW
198962010-06-11 Colin Watson <cjwatson@ubuntu.com>
19897
19898 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19899 when generating manual pages.
19900 * docs/man/grub-bin2h.h2m: New file.
19901 * docs/man/grub-editenv.h2m: New file.
19902 * docs/man/grub-fstest.h2m: New file.
19903 * docs/man/grub-install.h2m: New file.
19904 * docs/man/grub-macho2img.h2m: New file.
19905 * docs/man/grub-mkconfig.h2m: New file.
19906 * docs/man/grub-mkdevicemap.h2m: New file.
19907 * docs/man/grub-mkfont.h2m: New file.
19908 * docs/man/grub-mkimage.h2m: New file.
19909 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19910 * docs/man/grub-mkrelpath.h2m: New file.
19911 * docs/man/grub-mkrescue.h2m: New file.
19912 * docs/man/grub-ofpathname.h2m: New file.
19913 * docs/man/grub-pe2elf.h2m: New file.
19914 * docs/man/grub-probe.h2m: New file.
19915 * docs/man/grub-reboot.h2m: New file.
19916 * docs/man/grub-script-check.h2m: New file.
19917 * docs/man/grub-set-default.h2m: New file.
19918 * docs/man/grub-setup.h2m: New file.
19919
3a37e322
VS
199202010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 Use FOR_* macros instead of *_iterate whenever possible.
19923
19924 * commands/handler.c: Removed.
19925 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19926 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19927 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19928 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19929 (grub_probe_SOURCES): Remove kern/parser.c.
19930 (util/grub-script-check.c_DEPENDENCIES): Removed.
19931 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19932 and grub_script_check_init.c.
19933 (grub_script_check_init.lst): Removed.
19934 (grub_script_check_init.h): Likewise.
19935 (grub_script_check_init.c): Likewise.
19936 (pkglib_MODULES): Remove handler.mod and sh.mod.
19937 (handler_mod_SOURCES): Removed.
19938 (handler_mod_CFLAGS): Likewise.
19939 (handler_mod_LDFLAGS): Likewise.
19940 (normal_mod_SOURCES): Remove normal/handler.c.
19941 Add script/main.c, script/script.c, script/execute.c,
19942 script/function.c, script/lexer.c, grub_script.tab.c
19943 and grub_script.yy.c.
19944 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19945 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19946 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19947 (grub_setup_SOURCES): Remove kern/parser.c.
19948 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19949 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19950 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19951 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19952 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19953 (grub_setup_SOURCES): Remove kern/parser.c.
19954 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19955 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19956 * include/grub/command.h (grub_command_iterate): Removed.
19957 (FOR_COMMANDS): New macro.
19958 * include/grub/dl.h (grub_dl): New member next.
19959 (grub_dl_iterate): Removed.
19960 (grub_dl_head): New variable declaration.
19961 (FOR_DL_MODULES): New macro.
19962 * include/grub/fs.h: Include list.h.
19963 (grub_fs): Make next first element.
19964 (grub_fs_list): New variable declaration.
19965 (grub_fs_register): Make inline.
19966 (grub_fs_unregister): Likewise.
19967 (grub_fs_iterate): Removed.
19968 (FOR_FILESYSTEMS): New macro.
19969 * include/grub/handler.h: Removed.
19970 * include/grub/list.h (grub_list_hook_t): Removed.
19971 (grub_list_test_t): Likewise.
19972 (grub_list_pop): Likewise.
19973 (grub_list_iterate): Likewise.
19974 (grub_list_insert): Likewise.
19975 (FOR_LIST_ELEMENTS): New macro.
19976 * include/grub/parser.h (grub_parser_class): Removed.
19977 (grub_parser_register): Likewise.
19978 (grub_parser_unregister): Likewise.
19979 (grub_parser_get_current): Likewise.
19980 (grub_parser_set_current): Likewise.
19981 (grub_register_rescue_parser): Likewise.
19982 (grub_rescue_parse_line): New function.
19983 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19984 * include/grub/script_sh.h (grub_script_function_list): New variable
19985 declaration.
19986 (FOR_SCRIPT_FUNCTIONS): New macro.
19987 (grub_script_function_iterate): Removed.
19988 (grub_normal_parse_line): New prototype.
19989 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19990 (FOR_DISABLED_TERM_INPUTS): Likewise.
19991 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19992 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19993 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19994 element.
19995 (grub_video_register): Inline.
19996 (grub_video_unregister): Likewise.
19997 (grub_video_adapter_list): New variable declaration.
19998 (grub_video_iterate): Removed.
19999 (FOR_VIDEO_ADAPTERS): New macro.
20000 * kern/dl.c (grub_dl_list): Removed. All users updated.
20001 (grub_dl_iterate): Removed.
20002 * kern/fs.c (grub_fs_list): Make global.
20003 (grub_fs_register): Removed.
20004 (grub_fs_unregister): Likewise.
20005 (grub_fs_iterate): Likewise.
20006 * kern/handler.c: Removed.
20007 * kern/list.c (grub_list_pop): Removed.
20008 (grub_list_iterate): Likewise.
20009 (grub_list_insert): Likewise.
20010 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20011 (grub_prio_list_insert): Don't use grub_list_insert.
20012 * kern/main.c (grub_register_rescue_parser): Don't call
20013 grub_register_rescue_parser.
20014 * kern/parser.c (grub_parser_class): Removed.
20015 (grub_parser_execute): Use grub_rescue_parse_line.
20016 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20017 (grub_rescue_parser): Removed.
20018 (grub_register_rescue_parser): Likewise.
20019 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20020 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20021 (grub_auth_check_authentication): Likewise.
20022 * normal/completion.c (iterate_command): Removed.
20023 (grub_normal_do_completion): Use FOR_COMMANDS.
20024 * normal/handler.c: Removed.
20025 * normal/main.c (read_config_file): Remove parser changing.
20026 (grub_normal_execute): Don't call read_handler_list.
20027 (grub_normal_read_line_real): Statically allocate prompt.
20028 (grub_cmdline_run): Use grub_normal_parse_line.
20029 (GRUB_MOD_FINI): Don't call free_handler_list.
20030 * normal/menu_entry.c (run): Likewise.
20031 * script/function.c (grub_script_function_list): Make global.
20032 (grub_script_function_iterate): Removed.
20033 * script/main.c (grub_normal_parse_line): Make global.
20034 (grub_sh_parser): Removed.
20035 (GRUB_MOD_INIT): Likewise.
20036 (GRUB_MOD_FINI): Likewise.
20037 * tests/lib/functional_test.c (grub_functional_test): Use
20038 FOR_LIST_ELEMENTS.
20039 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20040 (grub_test_run): Use FOR_LIST_ELEMENTS.
20041 * tests/lib/unit_test.c (main): Likewise.
20042 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20043 grub_list_pop.
20044 * util/grub-fstest.c (grub_term_input_class): Removed.
20045 (grub_term_output_class): Likewise.
20046 * util/grub-probe.c: Likewise.
20047 * util/i386/pc/grub-setup.c: Likewise.
20048 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20049 * util/grub-script-check.c (main): Don't call grub_init_all and
20050 grub_fini_all.
20051 * video/video.c (grub_video_adapter_list): Make global.
20052 (grub_video_register): Removed.
20053 (grub_video_unregister): Likewise.
20054 (grub_video_iterate): Likewise.
20055
6289c3a7
VS
200562010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20059 reported by Henrique Ferreiro.
20060
91460247
RM
200612010-06-09 Robert Millan <rmh@gnu.org>
20062
20063 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20064 ones, when both are available.
20065
0ea7c4f9
GS
200662010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20067
20068 Make --version uniform and avoid hard-coded program name.
20069
20070 * util/grub-mkimage.c (main): Use `program_name' instead of
20071 hard-coded string.
20072 * util/i386/pc/grub-setup.c (main): Likewise.
20073 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20074 * util/grub-install.in: Save the basename of $0 in $self, and use the
20075 latter in informational messages. Use the same format for --version
20076 as the binary programs.
20077 * util/grub-mkconfig.in: Likewise.
20078 * util/grub-mkrescue.in: Likewise.
20079 * util/grub-reboot.in: Likewise.
20080 * util/grub-set-default.in: Likewise.
20081 * util/i386/efi/grub-install.in: Likewise.
20082 * util/ieee1275/grub-install.in: Likewise.
20083 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20084
e8a6f3b6
GS
200852010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20086
20087 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20088 embedding area. Use <= instead of == when checking for non-emptiness.
20089
f4d095d7
GS
200902010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20091
20092 * configure.ac: Add `.' to the directories searched for unifont.
20093
50e532ca
CW
200942010-06-08 Colin Watson <cjwatson@ubuntu.com>
20095
20096 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20097 grub_script.yy.h.
20098
d39f3dec
CW
200992010-06-08 Colin Watson <cjwatson@ubuntu.com>
20100
20101 * docs/grub.texi (History): Expand to cover GRUB 2.
20102 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20103 commands, not `terminal'.
20104 (serial): Likewise.
20105 (terminal_input): New section.
20106 (terminal_output): New section.
20107 (uppermem): New section (stub).
20108 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20109
6ef0ddb4
CW
201102010-06-08 Colin Watson <cjwatson@ubuntu.com>
20111
20112 * docs/grub.texi (Security): Menu entries are unrestricted by
20113 default, not restricted to superusers as I had previously thought.
20114 Reword to account for this.
20115
e0f4c438
CW
201162010-06-07 Colin Watson <cjwatson@ubuntu.com>
20117
20118 * kern/emu/misc.c (device_mapper_null_log): New function.
20119 (grub_device_mapper_supported): New function.
20120 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20121 prototype.
20122 * kern/emu/hostdisk.c (find_partition_start): Check whether
20123 device-mapper is supported before trying to use it.
20124 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20125
da908200
CW
201262010-06-07 Colin Watson <cjwatson@ubuntu.com>
20127
20128 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20129 (File name syntax): Likewise.
20130 (help): --all is no longer supported in GRUB 2. Be more precise
20131 about pattern matching.
20132
fb55c3ac
CW
201332010-06-07 Colin Watson <cjwatson@ubuntu.com>
20134
20135 * normal/completion.c (grub_normal_do_completion): When completing
20136 arguments to "set" and the current word contains an equals sign,
20137 skip to after the equals sign before starting completion.
20138
258c2573
CW
201392010-06-07 Colin Watson <cjwatson@ubuntu.com>
20140
20141 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20142
ee75515e
CW
201432010-06-07 Colin Watson <cjwatson@ubuntu.com>
20144
20145 * docs/grub.texi (Network): New section.
20146 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20147 `(nd)' as in GRUB Legacy.
20148 (pxe_unload): New section.
20149
a6a700aa
CW
201502010-06-07 Colin Watson <cjwatson@ubuntu.com>
20151
20152 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20153 in the rescue shell, so recommend using `set' instead. Thanks,
20154 Jordan Uggla.
20155
4003dd38
CW
201562010-06-07 Colin Watson <cjwatson@ubuntu.com>
20157
20158 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20159 (password): New section.
20160 (password_pbkdf2): New section.
20161 (search): New section.
20162 (Security): New section.
20163 (Troubleshooting): New section, currently very incomplete.
20164 (Invoking grub-mkpasswd-pbkdf2): New section.
20165 (Internals): New section, currently very incomplete.
20166
e1cbcc40
CW
201672010-06-07 Colin Watson <cjwatson@ubuntu.com>
20168
20169 * util/grub.d/00_header.in: Add some more quoting (of
20170 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20171 work again.
20172 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20173
db8fa1ad
CW
201742010-06-07 Colin Watson <cjwatson@ubuntu.com>
20175
20176 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20177 to `count', fixing variable shadowing that broke the -c option.
20178
201792010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
20180
20181 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20182 in case they contain spaces.
20183
f28a9212
CW
201842010-06-04 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20187 "part_" to partmap module names, in line with grub-install.
20188 Reported by: Jindřich Makovička (Debian bug #584426).
20189
9cdfe32f
CW
201902010-06-04 Colin Watson <cjwatson@ubuntu.com>
20191
20192 * util/grub-mkimage.c: Make target-related error messages slightly
20193 more helpful; -O talks about "format". Explicitly point to the use
20194 of -O if no target is specified.
20195 Reported by: Didier Raboud (Debian bug #584415).
20196
795b593a
CW
201972010-06-03 Colin Watson <cjwatson@ubuntu.com>
20198
20199 * INSTALL: Document several build requirements for optional features
20200 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20201
9d9b5833
GS
202022010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20203
20204 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20205 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20206 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20207
0819fec8
CW
202082010-06-02 Colin Watson <cjwatson@ubuntu.com>
20209
20210 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20211 Thanks to Jordan Uggla for spotting this.
20212
49396b4f
VS
202132010-06-02 Aleš Nesrsta <starous@volny.cz>
20214
20215 Finally make USB usable.
20216
20217 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20218 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20219 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20220 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20221 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20222 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20223 (GRUB_OHCI_FSMPS): Likewise.
20224 (GRUB_OHCI_PERIODIC_START): Likewise.
20225 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20226 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20227 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20228 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20229 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20230 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20231 (grub_ohci_transaction): Likewise.
20232 (grub_ohci_transfer): Improve condition detection algorithms.
20233 Handle toggle property. Program the transactions correctly.
20234 Improve error handling. Various important fixups.
20235 (grub_ohci_portstatus): Put register writes in right order.
20236 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20237 (grub_uhci_transfer): Don't show "failed" message on success.
20238 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20239 array.
20240 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20241 determine its size.
20242 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20243 before initialization is completed. Use IN direction for empty
20244 transfers. Use last_trans and compute toggle.
20245 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20246 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20247 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20248 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20249 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20250 (grub_usb_device): Increase toggle to 256.
20251 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20252 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20253 GRUB_USBMS_SUBCLASS_SFF8070.
20254 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20255 (grub_scsi_inquiry): New member page and alloc_length.
20256 (grub_scsi_request_sense): New structure.
20257 (grub_scsi_request_sense_data): Likewise.
20258 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20259 control.
20260 * disk/scsi.c (grub_scsi_request_sense): New function.
20261 (grub_scsi_test_unit_ready): Likewise.
20262 (grub_scsi_inquiry): Fill new fields.
20263 (grub_scsi_read_capacity): Likewise.
20264 (grub_scsi_read10): Add request sense at the end.
20265 (grub_scsi_read12): Likewise.
20266 (grub_scsi_write10): Likewise.
20267 (grub_scsi_write12): Likewise.
20268 (grub_scsi_open): Add Test Unit Ready.
20269 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20270 Support additional subclasses. Con't clear halt yet. Activate the
20271 proper config. Calculate LUNs correctly.
20272 (grub_usbms_transfer): Various important fixups.
20273
202742010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20277 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20278 (grub_ohci_fini_hw): New function.
20279 (grub_ohci_restore_hw): Likewise.
20280 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20281 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20282 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20283
202842010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 Dedicated DMA allocations.
20287
20288 * bus/pci.c (grub_memalign_dma32): New function
20289 (grub_dma_free): Likewise.
20290 (grub_dma_get_virt): Likewise.
20291 (grub_dma_get_phys): Likewise.
20292 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20293 (grub_ohci_pci_iter): Use dma32_alloc.
20294 (grub_ohci_transfer): Likewise.
20295 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20296 (grub_usb_bulk_readwrite): Likewise.
20297 * include/grub/pci.h: Add declarations.
20298
202992010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 CS5536 support.
20302
20303 * bus/cs5536.c: New file.
20304 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20305 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20306 (cs5536_mod_SOURCES): New variable.
20307 (cs5536_mod_CFLAGS): Likewise.
20308 (cs5536_mod_LDFLAGS): Likewise.
20309 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20310 machine/pci.h.
20311 (kernel_img_SOURCES): Add bus/cs5536.c.
20312 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20313 usb_keyboard.mod.
20314 (usb_mod_SOURCES): New variable.
20315 (usb_mod_CFLAGS): New variable.
20316 (usb_mod_LDFLAGS): New variable.
20317 (usbtest_mod_SOURCES): New variable.
20318 (usbtest_mod_CFLAGS): New variable.
20319 (usbtest_mod_LDFLAGS): New variable.
20320 (ohci_mod_SOURCES): New variable.
20321 (ohci_mod_CFLAGS): New variable.
20322 (ohci_mod_LDFLAGS): New variable.
20323 (usbms_mod_SOURCES): New variable.
20324 (usbms_mod_CFLAGS): New variable.
20325 (usbms_mod_LDFLAGS): New variable.
20326 (usb_keyboard_mod_SOURCES): New variable.
20327 (usb_keyboard_mod_CFLAGS): New variable.
20328 (usb_keyboard_mod_LDFLAGS): New variable.
20329 * include/grub/smbus.h: New file.
20330 * include/grub/cs5536.h: New file.
20331
0b35b2a9
CW
203322010-06-02 Colin Watson <cjwatson@ubuntu.com>
20333
20334 * util/grub.d/00_header.in: Add safety check to make sure that
20335 ${locale_dir} exists before trying to probe it.
20336
ca0afd5b
CW
203372010-06-02 Colin Watson <cjwatson@ubuntu.com>
20338
20339 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20340 per the GNU Coding Standards; this is now too obscure to be worth
20341 documenting.
20342 (QNX): Likewise.
20343 (chainloader): Remove cross-reference to `SCO UnixWare'.
20344
1c41aa78
CW
203452010-06-02 Colin Watson <cjwatson@ubuntu.com>
20346
20347 * docs/grub.texi (Chain-loading): New section.
20348 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20349 adjusted for GRUB 2.
20350 (SCO UnixWare): Likewise.
20351 (QNX): Likewise.
20352 (chainloader): Add reference to `Block list syntax'.
20353 (drivemap): New section.
20354 (parttool): New section.
20355
bb8ea0f5
CW
203562010-06-02 Colin Watson <cjwatson@ubuntu.com>
20357
20358 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20359 the grub shell'.
20360 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20361 (Installing GRUB using grub-install): Remove reference to the grub
20362 shell; mention `grub-mkimage' and `grub-setup' instead.
20363 (Invoking grub-install): Likewise.
20364 (Interface): Add reference to `Menu entry editor'.
20365 (serial): Remove `--device' option.
20366
288dd6ed
CW
203672010-06-02 Colin Watson <cjwatson@ubuntu.com>
20368
20369 * docs/grub.texi (Configuration): New section, documenting
20370 configuration file generation using grub-mkconfig. I've left a slot
20371 for documenting the full shell scripting format but have not yet
20372 started on writing that up.
20373 (Invoking grub-mkconfig): New section.
20374
34c9f0e9
CW
203752010-06-02 Colin Watson <cjwatson@ubuntu.com>
20376
20377 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20378 (GNU GRUB manual): Likewise.
20379 (General commands): Update description of `terminfo' for GRUB 2.
20380
9121567e
CW
203812010-06-02 Colin Watson <cjwatson@ubuntu.com>
20382
20383 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20384 (GRUB_MOD_INIT): Fix capitalisation.
20385 * docs/grub.texi (Command-line and menu entry commands): Document
20386 gettext and gptsync commands.
20387
ab631611
CW
203882010-06-02 Colin Watson <cjwatson@ubuntu.com>
20389
20390 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20391 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20392
bde4a9ac
CW
203932010-06-01 Colin Watson <cjwatson@ubuntu.com>
20394
20395 Add btrfs probing support, currently only in the single-device case.
20396
20397 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20398 function.
20399 (grub_guess_root_device): Call find_root_device_from_mountinfo
20400 before looking in /dev.
20401
b1d17e10
VS
204022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20403
20404 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20405 GRUB_DISK_SIZE_UNKNOWN.
20406 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20407
dfbfe004
JS
204082010-05-31 Jiro SEKIBA <jir@unicus.jp>
20409
20410 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20411 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20412 corrupted or not synced properly.
20413
c2ffc8e9
VS
204142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20417 Reported by: Seth Goldberg.
20418
56293166
VS
204192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20422 addition of dest.
20423 Reported by: Seth Goldberg.
20424
7620e7de
VS
204252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20428 Reported by: Seth Goldberg.
20429
c837af3f
VS
204302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20433 64-bit address as signed on MIPS.
20434
c7c75cf4
CW
204352010-05-28 Colin Watson <cjwatson@ubuntu.com>
20436
20437 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20438 to the empty string.
20439
fa4b8490
BC
204402010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20441
20442 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20443
20444 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20445 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20446 * kern/misc.c (__enable_execute_stack): Disable on
20447 GRUB_MACHINE_EMU.
20448
a33075b9
CW
204492010-05-28 Colin Watson <cjwatson@ubuntu.com>
20450
20451 Make grub-probe work with symbolic links under /dev/mapper as well
20452 as with real block devices. The Linux world seems to be (at best)
20453 in transition here, and GRUB shouldn't get caught in the middle.
20454
20455 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20456 /dev/mapper.
20457
d8708134
CW
204582010-05-27 Colin Watson <cjwatson@ubuntu.com>
20459
20460 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20461 input files (in which case exit zero).
20462
db2102a0
CW
204632010-05-27 Colin Watson <cjwatson@ubuntu.com>
20464
20465 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20466 return NULL for various reasons even if it has a maximum-length
20467 buffer: for example, there might be a symlink loop, or the path
20468 might exceed PATH_MAX. If this happens, return NULL.
20469
5fdba519
RM
204702010-05-27 Robert Millan <rmh@gnu.org>
20471
20472 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20473 partmap module to handle cross-partmap setups.
20474 Reported by Orestes Mas. Gràcies!
20475
d1d368e4
CW
204762010-05-27 Colin Watson <cjwatson@ubuntu.com>
20477
20478 * util/grub-mkrescue.in: Initialise override_dir rather than
20479 assuming that it's unset or empty in the environment.
20480
95ac3c73
GS
204812010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20482
20483 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20484 variable index into p_index to suppress a warning with -Wshadow.
20485
7d8c0213
BC
204862010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20487
20488 * INSTALL: Added flex >= 2.5.35 requirement.
20489
db4d5813
VS
204902010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20493
f24f4300
VS
204942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 cmostest support.
20497
20498 * commands/i386/cmostest.c: New file.
20499 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20500 (cmostest_mod_SOURCES): New variable.
20501 (cmostest_mod_CFLAGS): Likewise.
20502 (cmostest_mod_LDFLAGS): Likewise.
20503 * conf/i386-pc.rmk: Likewise.
20504 * docs/grub.texi (Vendor power-on keys): New section.
20505 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20506 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20507 and GRUB_BUTTON_CMOS_ADDRESS.
20508 * util/grub.d/00_header.in: Handle powering-on by separate button.
20509
ad603f61
VS
205102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20511
20512 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20513 Removed drawing_scrollbar argument. All users updated
20514 Fixes #29792.
20515 Reported by Jo Shields
20516
3ecb080a
VS
205172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20520 buffer since gfxterm handles double repaint.
20521
5f2316c1
VS
205222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20525 * term/gfxterm.c (real_scroll): Likewise.
20526
9a25f885
VS
205272010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20530 before calling BIOS.
20531
39fbb79a
VS
205322010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * include/grub/i18n.h: Always enable grub_gettext.
20535
228cfa97
VS
205362010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20539 partition naming style.
20540
21717c8f
CW
205412010-05-21 Colin Watson <cjwatson@ubuntu.com>
20542
20543 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20544 not the first option.
20545
c0f48e65
CW
205462010-05-20 Colin Watson <cjwatson@ubuntu.com>
20547
20548 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20549
96779aec
CW
205502010-05-20 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * util/misc.c: Move inclusion of <limits.h> to ...
20553 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20554
fa9d256e
GS
205552010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20556
20557 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20558 Fix merge error in NetBSD code.
20559 (find_partition_start) [__NetBSD__]: Likewise.
20560
123b7a85
BC
205612010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20562
20563 Fix grub-mkrescue usage unit testing.
20564
20565 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20566
74276c0d
CF
205672010-05-18 Christian Franke <franke@computer.org>
20568
20569 * util/grub.d/10_windows.in: Use path names instead of
20570 drive letters to prevent warning from Cygwin 1.7.
20571 Add drivemap command to menuentry if needed.
20572
c4f7b523
ST
205732010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20574
20575 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20576 gnumach and gnumach.gz.
20577
95b97950
VS
205782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * include/grub/i18n.h (gettext): Inline instead of using #define.
20581 (grub_gettext): Likewise.
20582 (_): Likewise.
20583
01b8d2d7
VS
205842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20585
20586 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20587 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20588 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20589 (main): Add a slash after pkglibdirroot.
20590
654e1d1e
VS
205912010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 * util/grub-install.in: Add missing "in" keyword.
20594
26966aeb
VS
205952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20598 Reported by: Seth Goldberg.
20599
75006747
VS
206002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20603
74cbf5bd
CW
206042010-05-18 Colin Watson <cjwatson@ubuntu.com>
20605
20606 * configure.ac: Check for Linux device-mapper support.
20607
20608 * util/hostdisk.c (device_is_mapped): New function.
20609 (find_partition_start): New function, partly broken out from
20610 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20611 device-mapper support added.
20612 (linux_find_partition): Use find_partition_start.
20613 (convert_system_partition_to_system_disk): Add `st' argument.
20614 Support Linux /dev/mapper/* devices if device-mapper support is
20615 available; only DM-RAID devices are understood at present.
20616 (find_system_device): Add `st' argument. Pass it to
20617 convert_system_partition_to_system_disk.
20618 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20619 find_system_device and convert_system_partition_to_system_disk. Use
20620 find_partition_start.
20621
20622 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20623 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20624 * util/deviceiter.c [__linux__]: Define MINOR.
20625 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20626 * util/mkdevicemap.c (grub_putchar): New function.
20627 (grub_getkey): New function.
20628 (grub_refresh): New function.
20629 (main): Set debug=all if -v -v is used.
20630
355b51e9
CW
206312010-05-18 Colin Watson <cjwatson@ubuntu.com>
20632
20633 Fix build with non-GNU libcs.
20634
20635 * util/misc.c (canonicalize_file_name): Move to ...
20636 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20637 grub_make_system_path_relative_to_its_root.
20638
7fb5c25f
CW
206392010-05-18 Colin Watson <cjwatson@ubuntu.com>
20640
20641 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20642 we handle finding grub-mkimage. Default to finding grub-mkimage in
20643 ${bindir} with program_transform_name applied, and provide a
20644 --grub-mkimage option to override this.
20645
1d3293d6
VS
206462010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 Remove grub-mkisofs.
20649
20650 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20651 (grub_mkisofs_SOURCES): Removed.
20652 (grub_mkisofs_CFLAGS): Removed.
20653 * util/mkisofs/defaults.h: Removed.
20654 * util/mkisofs/eltorito.c: Likewise.
20655 * util/mkisofs/exclude.h: Likewise.
20656 * util/mkisofs/hash.c: Likewise.
20657 * util/mkisofs/include/: Likewise.
20658 * util/mkisofs/include/fctldefs.h: Likewise.
20659 * util/mkisofs/include/mconfig.h: Likewise.
20660 * util/mkisofs/include/prototyp.h: Likewise.
20661 * util/mkisofs/include/statdefs.h: Likewise.
20662 * util/mkisofs/iso9660.h: Likewise.
20663 * util/mkisofs/joliet.c: Likewise.
20664 * util/mkisofs/match.c: Likewise.
20665 * util/mkisofs/match.h: Likewise.
20666 * util/mkisofs/mkisofs.c: Likewise.
20667 * util/mkisofs/mkisofs.h: Likewise.
20668 * util/mkisofs/msdos_partition.h: Likewise.
20669 * util/mkisofs/multi.c: Likewise.
20670 * util/mkisofs/name.c: Likewise.
20671 * util/mkisofs/rock.c: Likewise.
20672 * util/mkisofs/tree.c: Likewise.
20673 * util/mkisofs/write.c: Likewise.
20674
5dde9afe
VS
206752010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 Unify grub-mkimage accross platforms.
20678
20679 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20680 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20681 (grub_mkelfimage_SOURCES): Removed.
20682 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20683 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20684 (bin_UTILITIES): Add grub-mkimage.
20685 (grub_mkimage_SOURCES): New variable.
20686 (kernel_img_HEADERS): Remove machine/kernel.h.
20687 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20688 (pkglib_PROGRAMS): Add kernel.img.
20689 (kernel_img_HEADERS): Add machine/kernel.h.
20690 (kernel_img_FORMAT): Removed.
20691 (bin_UTILITIES): Remove grub-mkimage.
20692 (grub_mkimage_SOURCES): Removed.
20693 (grub_mkimage_CFLAGS): Likewise.
20694 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20695 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20696 (pkglib_PROGRAMS): Add kernel.img.
20697 (bin_UTILITIES): Remove grub-mkimage.
20698 (grub_mkimage_SOURCES): Removed.
20699 (grub_mkimage_CFLAGS): Likewise.
20700 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20701 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20702 (pkglib_PROGRAMS): Add kernel.img.
20703 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20704 (pkglib_PROGRAMS): Add kernel.img.
20705 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20706 (grub_mkimage_SOURCES): Removed.
20707 (grub_mkimage_CFLAGS): Likewise.
20708 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20709 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20710 (pkglib_PROGRAMS): Add kernel.img.
20711 (bin_UTILITIES): Remove grub-mkimage.
20712 (grub_mkimage_SOURCES): Removed.
20713 (grub_mkimage_CFLAGS): Likewise.
20714 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20715 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20716 (grub_mkimage_SOURCES): Removed.
20717 (grub_mkimage_CFLAGS): Likewise.
20718 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20719 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20720 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20721 (grub_pe32_optional_header): ... this.
20722 (grub_pe64_optional_header): ... and this. All users updated.
20723 (GRUB_PE32_PE32_MAGIC): Split into ..
20724 (GRUB_PE32_PE32_MAGIC): .. this.
20725 (GRUB_PE32_PE64_MAGIC): .. and this.
20726 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20727 * include/grub/elf.h (PT_GNU_STACK): New definition.
20728 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20729 * include/grub/i386/efi/kernel.h: Likewise.
20730 * include/grub/i386/kernel.h: Likewise.
20731 * include/grub/i386/pc/kernel.h: Likewise.
20732 * include/grub/i386/qemu/boot.h: Likewise.
20733 * include/grub/mips/kernel.h: Likewise.
20734 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20735 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20736 * include/grub/powerpc/kernel.h: Likewise.
20737 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20738 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20739 * include/grub/sparc64/kernel.h: Likewise.
20740 * include/grub/x86_64/efi/kernel.h: Likewise.
20741 * include/grub/x86_64/kernel.h: Likewise.
20742 * include/grub/offsets.h: New file.
20743 * include/grub/kernel.h (grub_module_info): Split into ...
20744 (grub_module_info32): ... this.
20745 (grub_module_info64): ... and this.
20746 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20747 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20748 (grub_boot_blocklist): Moved from here ...
20749 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20750 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20751 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20752 * include/grub/types.h (grub_target_to_host16): Removed.
20753 (grub_target_to_host32): Likewise.
20754 (grub_target_to_host64): Likewise.
20755 (grub_host_to_target16): Likewise.
20756 (grub_host_to_target32): Likewise.
20757 (grub_host_to_target64): Likewise.
20758 (grub_host_to_target_addr): Likewise.
20759
20760 Support grub-mkrescue for efi, coreboot and qemu.
20761
20762 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20763 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20764 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20765 * util/grub-mkrawimage.c: Moved from here ...
20766 * util/grub-mkimage.c: ... here. All users updated.
20767 (ALIGN_ADDR): Use image_target.
20768 (TARGET_NO_FIELD): New const.
20769 (image_target_desc): New type.
20770 (image_targets): New array.
20771 (grub_target_to_host64): Use image_target.
20772 (grub_target_to_host32): Likewise.
20773 (grub_target_to_host16): Likewise.
20774 (grub_host_to_target64): Likewise.
20775 (grub_host_to_target32): Likewise.
20776 (grub_host_to_target16): Likewise.
20777 (grub_host_to_target_addr): Likewise.
20778 (generate_image): Handle multiimage.
20779 (main): Require -O parameter. All users updated.
20780 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20781 util/efi/grub-mkimage.c
20782 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20783 New option --rom-directory.
20784 Use xorriso.
20785 * util/i386/efi/grub-mkimage.c: Removed.
20786 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20787 (grub_target_to_host32): Likewise.
20788 (grub_target_to_host64): Likewise.
20789 (grub_host_to_target16): Likewise.
20790 (grub_host_to_target32): Likewise.
20791 (grub_host_to_target64): Likewise.
20792 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20793 (grub_target_to_host32): Likewise.
20794 (grub_target_to_host64): Likewise.
20795 (grub_host_to_target16): Likewise.
20796 (grub_host_to_target32): Likewise.
20797 (grub_host_to_target64): Likewise.
20798
f4fc97d0
BC
207992010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20800
20801 Source tree is reorganized for emu build.
20802
20803 * include/grub/util/console.h: Move from here...
20804 * include/grub/emu/console.h: ...to here.
20805 * include/grub/util/getroot.h: Move from here...
20806 * include/grub/emu/getroot.h: ...to here.
20807 * include/grub/util/hostdisk.h: Move from here...
20808 * include/grub/emu/hostdisk.h: ...to here.
20809 * util/console.c: Move from here...
20810 * kern/emu/console.c: ...to here.
20811 * util/getroot.c: Move from here...
20812 * kern/emu/getroot.c: ...to here.
20813 * util/grub-emu.c: Move from here...
20814 * kern/emu/main.c: ...to here.
20815 * util/hostdisk.c: Move from here...
20816 * kern/emu/hostdisk.c: ...to here.
20817 * util/hostfs.c: Move from here...
20818 * kern/emu/hostfs.c: ...to here.
20819 * util/mm.c: Move from here...
20820 * kern/emu/mm.c: ...to here.
20821 * util/pci.c: Move from here...
20822 * bus/emu/pci.c: ...to here.
20823 * util/sdl.c: Move from here...
20824 * video/emu/sdl.c: ...to here.
20825 * util/time.c: Move from here...
20826 * kern/emu/time.c: ...to here.
20827 * util/usb.c: Move from here...
20828 * bus/usb/emu/usb.c: ...to here.
20829
20830 * include/grub/emu/misc.h: New header for grub-emu functions.
20831 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20832
20833 * conf/any-emu.rmk: Rule updates for above renames.
20834 * conf/common.rmk: Likewise.
20835 * conf/i386-pc.rmk: Likewise.
20836 * conf/i386-qemu.rmk: Likewise.
20837 * conf/mips.rmk: Likewise.
20838 * conf/sparc64-ieee1275.rmk: Likewise.
20839 * conf/x86-efi.rmk: Likewise.
20840
20841 * disk/lvm.h: #include updates for above renames.
20842 * util/grub-mkrelpath.c: Likewise.
20843 * util/grub-probe.c: Likewise.
20844 * util/i386/pc/grub-setup.c: Likewise.
20845 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20846 * kern/emu/console.c: Likewise.
20847 * kern/emu/getroot.c: Likewise.
20848 * kern/emu/hostdisk.c: Likewise.
20849 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20850
20851 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20852 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20853 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20854 * util/misc.c: Remove grub-emu functions.
20855
cced9145
VS
208562010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20857
20858 Fix gfxmenu crash.
20859 Reported by: Thorsten Grützmacher.
20860
20861 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20862 timeout hook.
20863 (circprog_set_property): Register and unregister timeout hook.
20864 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20865 (label_destroy): Free template. and unregister hook.
20866 (label_set_state): New function.
20867 (label_set_property): Handle templates and hooks.
20868 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20869 timeout hook.
20870 (progress_bar_set_property): Register and unregister timeout hook.
20871 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20872 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20873 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20874 (update_timeout_visit): Removed.
20875 (update_timeouts): New function.
20876 (redraw_timeouts): Likewise.
20877 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20878 (grub_gfxmenu_clear_timeout): Likewise.
20879 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20880 (grub_gfxmenu_timeout_notify): Likewise.
20881 (grub_gfxmenu_timeout_notifications): New external variable.
20882 (grub_gfxmenu_timeout_register): New function.
20883 (grub_gfxmenu_timeout_unregister): Likewise.
20884
c6e5caab
VS
208852010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 Transform (broken) vga terminal into (working) vga video driver.
20888
20889 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20890 video/i386/pc/vga.c.
20891 * include/grub/video.h (grub_video_driver_id):
20892 Add GRUB_VIDEO_DRIVER_VGA.
20893 * term/i386/pc/vga.c: Renamed to ...
20894 * video/i386/pc/vga.c: ...this
20895 (DEBUG_VGA): Removed.
20896 (CHAR_WIDTH): Likewise.
20897 (CHAR_HEIGHT): Likewise.
20898 (TEXT_WIDTH): Likewise.
20899 (TEXT_HEIGHT): Likewise.
20900 (DEFAULT_FG_COLOR): Likewise.
20901 (DEFAULT_BG_COLOR): Likewise.
20902 (colored_char): Likewise.
20903 (xpos): Likewise.
20904 (ypos): Likewise.
20905 (cursor_state): Likewise.
20906 (fg_color): Likewise.
20907 (bg_color): Likewise.
20908 (text_buf): Likewise.
20909 (page): Likewise.
20910 (font): Likewise.
20911 (framebuffer): New variable.
20912 (set_read_map): Disabled.
20913 (setup): New variable.
20914 (is_target): Likewise.
20915 (grub_vga_mod_init): Likewise.
20916 (grub_vga_mod_fini): Likewise.
20917 (check_vga_mem): Likewise.
20918 (write_char): Likewise.
20919 (write_cursor): Likewise.
20920 (scroll_up): Likewise.
20921 (grub_vga_putchar): Likewise.
20922 (grub_vga_getcharwidth): Likewise.
20923 (grub_vga_getwh): Likewise.
20924 (grub_vga_getxy): Likewise.
20925 (grub_vga_gotoxy): Likewise.
20926 (grub_vga_cls): Likewise.
20927 (grub_vga_setcolorstate): Likewise.
20928 (grub_vga_setcursor): Likewise.
20929 (grub_video_vga_init): New function.
20930 (grub_video_vga_setup): Likewise.
20931 (grub_video_vga_fini): Likewise.
20932 (update_target): Likewise.
20933 (grub_video_vga_blit_bitmap): Likewise.
20934 (grub_video_vga_blit_render_target): Likewise.
20935 (grub_video_vga_set_active_render_target): Likewise.
20936 (grub_video_vga_get_active_render_target): Likewise.
20937 (grub_video_vga_swap_buffers): Likewise.
20938 (grub_video_vga_set_palette): Likewise.
20939 (grub_video_vga_get_info_and_fini): Likewise.
20940 (grub_vga_term): Removed.
20941 (grub_video_vga_adapter): New variable.
20942 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20943 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20944
2bf61a98
VS
209452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20946
20947 * video/readers/jpeg.c: Indented.
20948
09ddcd11
VS
209492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 Various jpeg cleanups.
20952
20953 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20954 (grub_jpeg_decode_quan_table): Use sizeof.
20955 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20956
e5507505
PH
209572010-05-05 Peter Hurley <No e-mail available> (tiny change)
20958
20959 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20960 tables. Ignore non-last ac bit.
20961 (grub_jpeg_decode_quan_table): Likewise.
20962
7e720a9b
VS
209632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20966 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20967 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20968 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20969 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20970 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20971
a7fc080b
VS
209722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20975 error.
20976
2bf6012d
VS
209772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20980
265d68cd
VS
209812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20982
20983 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20984 condition.
20985
209862010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20987
20988 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20989 part.
20990
265d68cd 209912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20992
20993 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20994 pointers.
20995
265d68cd 209962010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20997
20998 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20999
d1b61374
CF
210002010-05-01 Christian Franke <franke@computer.org>
21001
21002 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21003 Remove broken Cygwin path conversion.
21004 * util/misc.c: [__CYGWIN__] Add include and define.
21005 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21006 for Cygwin 1.7.
21007 (make_system_path_relative_to_its_root): Simplify loop, replace early
21008 return by break.
21009 [__CYGWIN__] Add conversion to win32 path.
21010 Include "/" case in trailing slash removal.
21011
3558c6e9
VS
210122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21015 Reported by: Seth Goldberg
21016
f5f3ff93
VS
210172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 * commands/help.c (grub_cmd_help): Fix a typo.
21020 Reported by: Seth Goldberg
21021
d8b5cd40
VS
210222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21025 name and add N_.
21026 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21027 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21028 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21029 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21030 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21031 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21032 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21033 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21034 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21035 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21036 * normal/context.c (GRUB_MOD_INIT): Likewise.
21037 * normal/main.c (GRUB_MOD_INIT): Likewise.
21038 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21039 * term/serial.c (GRUB_MOD_INIT): Likewise.
21040 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21041
88c14915
VS
210422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21045 extra == 0.
21046
165134bc
VS
210472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 * commands/iorw.c: New file.
21050 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21051 (iorw_mod_SOURCES): New variable.
21052 (iorw_mod_CFLAGS): Likewise.
21053 (iorw_mod_LDFLAGS): Likewise.
21054
c5ac9b32
VS
210552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 Hotkey support
21058
21059 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21060 * normal/main.c (hotkey_aliases): New variable.
21061 (grub_normal_add_menu_entry): Parse "--hotkey".
21062 * normal/menu_text.c (run_menu): Handle hotkeys.
21063
ce60689c
VS
210642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 * kern/i386/coreboot/init.c (grub_machine_init): Call
21067 grub_machine_mmap_init on qemu.
21068
0359d006
VS
210692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * boot/i386/qemu/boot.S: Add a missing .code16.
21072
7819a456
VS
210732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 Use LBIO on coreboot.
21076
21077 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21078 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21079 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21080 New declaration.
21081 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21082 grub_machine_mmap_init on coreboot.
21083 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21084 GRUB_LINUXBIOS_MEMBER_LINK.
21085 (grub_machine_mmap_iterate): Fix declaration.
21086 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21087
7210dca9
VS
210882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 Split coreboot and multiboot ports.
21091
21092 * conf/i386-multiboot.rmk: New file.
21093 * configure.ac: Add multiboot port.
21094 * include/grub/i386/multiboot/boot.h: New file.
21095 * include/grub/i386/multiboot/console.h: Likewise.
21096 * include/grub/i386/multiboot/init.h: Likewise.
21097 * include/grub/i386/multiboot/kernel.h: Likewise.
21098 * include/grub/i386/multiboot/loader.h: Likewise.
21099 * include/grub/i386/multiboot/memory.h: Likewise.
21100 * include/grub/i386/multiboot/serial.h: Likewise.
21101 * include/grub/i386/multiboot/time.h: Likewise.
21102 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21103 * loader/multiboot.c: Likewise.
21104 * loader/multiboot_mbi2.c: Likewise.
21105 * util/grub-mkrescue.in: Generate multiboot rescue.
21106
6f8aaf68
VS
211072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21108
3080f7a7
VS
21109 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21110
211112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
21114
21115 * commands/terminal.c (abstract_terminal): New struct.
21116 (handle_command): New function. Based on grub_cmd_terminal_input.
21117 (grub_cmd_terminal_input): Use handle_command.
21118 (grub_cmd_terminal_output): Use handle_command.
21119
a8ebb841
BC
211202010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21121
21122 Fix comment handling.
21123
21124 * tests/grub_script_comments.in: New testcase.
21125 * conf/tests.rmk: Rules for new testcase.
21126 * script/yylex.l: Updated flex rules.
21127
bb06ba08
ST
211282010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21129
21130 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
21131 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21132 if argc is 1.
bb06ba08 21133
cc9d2425
VS
211342010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21137 autogen issues.
21138
460d8402
CF
211392010-04-26 Christian Franke <franke@computer.org>
21140
21141 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21142 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21143 (grub_get_prefix): Remove function.
21144 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21145 make_system_path_relative_to_its_root ().
21146 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21147
553c01f9
CF
211482010-04-24 Christian Franke <franke@computer.org>
21149
21150 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21151 (kernel_img_LDFLAGS): Remove -static-libgcc.
21152
2aec1692
CF
211532010-04-24 Christian Franke <franke@computer.org>
21154
21155 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21156 and CHECK_END_SYMBOL if grub-emu is built.
21157 Unset TARGET_OBJ2ELF if grub-emu is built
21158 without module support.
21159
f67dc308
JS
211602010-04-24 Jiro SEKIBA <jir@unicus.jp>
21161
21162 Nilfs2 support.
21163
21164 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21165 (grub_fstest_SOURCES): Likewise.
21166 (pkglib_MODULES): Add nilfs2.mod.
21167 (nilfs2_mod_SOURCES): New variable.
21168 (nilfs2_mod_CFLAGS): Likewise.
21169 (nilfs2_mod_LDFLAGS): Likewise.
21170 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21171 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21172 * fs/nilfs2.c: New file.
21173
4ba8d354
VS
211742010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21177 is not supported.
21178
0d2c20c6
GS
211792010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21180
21181 Add grub-mkconfig support for NetBSD.
21182
21183 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21184 * util/grub-mkconfig.in: export new NetBSD specific variables.
21185 * po/POTFILES-shell: added 10_netbsd.in.
21186 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21187
bc4a2d83
BC
211882010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21189
21190 Fix emu build with grub-emu-pci and grub-emu-modules.
21191
21192 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21193 functions.
21194 * include/grub/libpciaccess.h: New file.
21195 * conf/any-emu.rmk: Update kernel headers for emu build.
21196
f48c87aa
VS
211972010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21200
18959385
VS
212012010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21204
0037de3f
VS
212052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21208 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21209 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21210 util/ieee1275/ofpath.c.
21211 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21212 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21213 * include/grub/sparc64/ieee1275/boot.h
21214 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21215 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21216 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21217 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21218 const char *.
21219 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21220 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21221 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21222 install.
21223
38e55e90
GS
212242010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21225
21226 * util/grub-mkconfig.in: Corrected two == equality tests.
21227 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21228 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21229 expect a number appended to it.
21230 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21231 expects a number appended to it.
21232
a9e6ff28
VS
212332010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21234
21235 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21236
0b830b8f
VS
212372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21238
21239 * util/hostdisk.c (make_device_name): Change to new partition naming.
21240
0973daeb
VS
212412010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21244
460d8402 212452010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
21246
21247 * Makefile.in: Add missing localedir setting.
21248
0b456309
CW
212492010-04-14 Colin Watson <cjwatson@ubuntu.com>
21250
21251 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21252 mistake in r2156. Noticed by Anthony Fok.
21253
21254 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21255 @localedir@.
21256 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21257
08f46d62
BC
212582010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21259
21260 Fix a spurious, uninitialized variable warning.
21261
21262 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21263 Initialize variable, shdr.
21264 (grub_freebsd_load_elfmodule): Likewise.
21265 (grub_freebsd_load_elf_meta): Likewise.
21266
8c4a72d4
BC
212672010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21268
21269 Fix for escaped dollar in double quoted strings.
21270
21271 * script/yylex.l: Updated flex rules.
21272 * conf/tests.rmk: Rule for new testcase.
21273 * tests/grub_script_dollar.in: New testcase.
21274
ce44826e
CPE
212752010-04-13 Carles Pina i Estany <carles@pina.cat>
212762010-04-13 Colin Watson <cjwatson@ubuntu.com>
21277
21278 Enclose all translated strings in grub.cfg in single quotes, and
21279 escape them appropriately (Ubuntu bug #552921).
21280
21281 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21282 * util/grub.d/10_hurd.in: Use it.
21283 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21284 * util/grub.d/10_linux.in (linux_entry): Likewise.
21285
4b0cd8f8
VS
212862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 Fix cygwin compilation.
21289
21290 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21291 * include/grub/misc.h (__register_frame_info)
21292 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21293 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21294 * kern/misc.c (__register_frame_info)
21295 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21296 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21297
01fcf061
VS
212982010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21301
5d04b11e
VS
213022010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 Unify libgcc processing.
21305
21306 * Makefile.in (kernel_img_LDFLAGS): New variable.
21307 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21308 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21309 overwriting.
21310 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21311 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21312 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21313 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21314 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21315 overwriting. Remove -lgcc and -static-libgcc
21316 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21317 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21318 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21319 (kernel_img_LDFLAGS): Append instead of overwriting.
21320 Remove -lgcc and -static-libgcc
21321 * conf/sparc64-ieee1275.rmk: Likewise.
21322 * include/grub/powerpc/libgcc.h: Move to ...
21323 * include/grub/libgcc.h: .. this.
21324 * include/grub/libgcc.h: Don't export most of the function on x86.
21325 (__bswapsi2): New export.
21326 (__bswapdi2): Likewise.
21327 * include/grub/mips/libgcc.h: Removed.
21328 * include/grub/sparc64/libgcc.h: Likewise.
21329
b7f3ac29
VS
213302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21333 disk_info_msg (conflicts with gettexting into languages with cases).
21334
2c7031b1
GS
213352010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21336
21337 Add grub-probe support for NetBSD.
21338
21339 * util/getroot.c (find_root_device): Convert block device to
21340 character device on NetBSD.
21341 * util/probe.c (probe): Require character device on NetBSD.
21342 * util/hostdisk.c: NetBSD specific headers.
21343 (configure_device_driver): new function to tune device driver
21344 parameters (currently only for NetBSD floppy driver).
21345 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21346 via disklabel ioctl).
21347 (open_device): call configure_device_driver on NetBSD.
21348 (convert_system_partition_to_system_disk): NetBSD specific code.
21349 (device_is_wholedisk): Likewise.
21350 (grub_util_biosdisk_get_grub_dev): Likewise.
21351 (make_device_name): Fixed a typo in bsd_part_str.
21352 * configure.ac: check for opendisk() and getrawpartition() on
21353 NetBSD and set LIBUTIL.
21354 * Makefile.in: add LIBUTIL to LIBS.
21355
f516290c
BC
213562010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21357
21358 Documentation fix.
21359
21360 * util/grub-script-check.c: Better help message.
21361
d8dcc0df
BC
213622010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21363
21364 Fix FreeBSD build.
21365
21366 * configure.ac: Flex version check.
21367 * conf/common.rmk: Add -Wno-error to sh.mod.
21368 * script/yylex.l: Remove all #pragma.
21369
6734334a
VS
213702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21373 prototype.
21374 Reported by: Seth Goldberg.
21375
daea6abd
VS
213762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21379 Rename "module" to "module2".
21380 Reported by: Seth Goldberg.
21381
f2fd9d2b
VS
213822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21383
21384 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21385 EXPORT_FUNC.
21386 Reported by: Seth Goldberg.
21387
be124579
VS
213882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 * lib/posix_wrap/locale.h: Add missing file.
21391 Reported by: Seth Goldberg.
21392
ef5da797
VS
213932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 grub-emu module load support.
21396
21397 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21398 NO_DYNAMIC_MODULES switched to this.
21399 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21400 (CFLAGS): Likewise.
21401 * conf/any-emu.rmk: Generate symlist.
21402 (kernel_img_HEADERS): Add util/datetime.h.
21403 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21404 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21405 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21406 kern/$(target_cpu)/cache.S.
21407 * configure.ac (grub-emu-modules): New option.
21408 * genmk.rb: Handle multiple source lists.
21409 * include/grub/sdl.h: New file.
21410 * include/grub/libusb.h: Likewise.
21411 * util/grub-emu.c (main): Hanle (host) root.
21412 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21413 GRUB_ERR_UNKNOWN_DEVICE.
21414 * util/misc.c: Move mm functions to ...
21415 * util/mm.c: ... here. All users updated.
21416
47822096
VS
214172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21420 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21421 missing files.
21422 (maintainer-clean): Remove libgcrypt-grub.
21423
5d7e7445
VS
214242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21427
25f4e252
EC
214282010-04-09 EFI Coder <eficoder@hotmail.com>
21429
21430 * normal/menu_text.c (print_message): Clean up the message and show
21431 the Fn information when on EFI
21432 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21433
027de555
VS
214342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21437 All users updated.
21438 * normal/crypto.c (read_crypto_list): Likewise.
21439 * normal/dyncmd.c (read_command_list): Likewise.
21440 * normal/term.c (read_terminal_list): Likewise.
21441 * normal/main.c (read_lists): Use explicit prefix.
21442 (read_lists_hook): Use read_lists.
21443 (grub_normal_execute): Likewise.
21444
47779711
VS
214452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21448 Reported by: Thomas Schmitt.
21449 Add -no-emul-boot to grub-mkisofs parameters.
21450
1118c32e
VS
214512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 * font/font.c: Indented.
21454
7d652447
BC
214552010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21456
21457 Elif support to GRUB script (by Deepak Vankadaru).
21458
21459 * tests/grub_script_if.in: New testcase.
21460 * conf/tests.rmk: Rule for new testcase.
21461 * script/parser.y: Grammar rules for elif.
21462
34bb22df
BC
214632010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21464
21465 While and until loops support to GRUB script.
21466
21467 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21468 (grub_script_create_cmdwhile): New function prototype.
21469 (grub_script_execute_cmdwhile): New function prototype.
21470 * script/execute.c (grub_script_execute_cmdwhile): New function.
21471 * script/parser.y (command): New commands.
21472 (whilecmd): New grammar rule.
21473 (untilcmd): New grammar rule.
21474 * script/script.c (grub_script_create_cmdwhile): New function.
21475 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21476 function.
21477
21478 * tests/grub_script_while1.in: New testcase.
21479 * conf/tests.rmk: Rule for new testcase.
21480
e215d8e0
VS
214812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21484 as *.jpg.
21485
d7c43ba1
MV
214862010-04-09 Mario Vazquez <mariovazq@gmail.com>
21487
21488 GRUB_BACKGROUND support.
21489
21490 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21491 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21492
d64795c0
VS
214932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21496 Idea by: Mario Vazquez
d64795c0
VS
21497
21498 * util/grub.d/00_header.in: Load pf2 and image modules.
21499
f267f83a
VS
215002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 grub-mkconfig multiple terminal support.
21503
21504 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21505 * util/grub.d/00_header.in: Likewise.
21506
b7841ceb
VS
215072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21510 we use cd $(srcdir).
21511
df60998c
CW
215122010-04-08 Colin Watson <cjwatson@ubuntu.com>
21513
21514 * util/grub.d/10_linux.in: Only use the first word of
21515 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21516 spaces in GRUB_DISTRIBUTOR.
21517 * util/grub.d/10_kfreebsd.in: Likewise.
21518 * util/grub.d/10_hurd.in: Likewise.
21519
fa09c82e
BC
215202010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21521
14e18ae3 21522 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21523
21524 * tests/util/grub-shell.in: Remove -serial stdio option.
21525
daf892b3
BC
215262010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 POSIX header file wrappers.
21529
21530 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21531 equivalents.
21532 * lib/posix_wrap/ctype.h: Likewise.
21533 * lib/posix_wrap/errno.h: Likewise.
21534 * lib/posix_wrap/langinfo.h: Likewise.
21535 * lib/posix_wrap/limits.h: Likewise.
21536 * lib/posix_wrap/localcharset.h: Likewise.
21537 * lib/posix_wrap/stdint.h: Likewise.
21538 * lib/posix_wrap/stdio.h: Likewise.
21539 * lib/posix_wrap/stdlib.h: Likewise.
21540 * lib/posix_wrap/string.h: Likewise.
21541 * lib/posix_wrap/sys/types.h: Likewise.
21542 * lib/posix_wrap/unistd.h: Likewise.
21543 * lib/posix_wrap/wchar.h: Likewise.
21544 * lib/posix_wrap/wctype.h: Likewise.
21545 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21546 (grub_script.yy.h): Likewise.
21547 * script/yylex.l: Remove POSIX emulation #defines.
21548 * Makefile.in (POSIX_CFLAGS): New variable.
21549 (GNULIB_UTIL_CFLAGS): Likewise.
21550
21551 Regexp support.
21552
21553 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21554 (regexp_mod_SOURCES): New variable.
21555 (regexp_mod_CFLAGS): Likewise.
21556 (regexp_mod_LDFLAGS): Likewise.
21557 * commands/regexp.c: New file.
21558 * gnulib/regcomp.c: New file. Imported from gnulib.
21559 * gnulib/regex.c: Likewise.
21560 * gnulib/regex_internal.c: Likewise.
21561 * gnulib/regex_internal.h: Likewise.
21562 * gnulib/regexec.c: Likewise.
21563 * gnulib/regex.h: Likewise.
21564
974ac4f7
VS
215652010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21568 unsupported video mode types.
21569
2622c3ff
VS
215702010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21573
064cb524
VS
215742010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21577 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21578
a8c3b552
VS
215792010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 Remove unused grub_vga_get_font.
21582
21583 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21584 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21585
187bbe3d
GS
215862010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21587
21588 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21589 * include/grub/misc.h: Likewise.
21590
b9396631
GS
215912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21592
21593 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21594 for which failure is fatal.
21595
50479feb
GS
215962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21597
21598 * util/grub-install.in: Use mkdir -p to create grub directory.
21599 * util/i386/efi/grub-install.in: Likewise.
21600 * util/ieee1275/grub-install.in: Likewise.
21601
b1654fdf
GS
216022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21603
21604 * Makefile.in (LEX): new variable.
21605
bd5a6415
GS
216062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21607
21608 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21609 `=' and added double quotes on operands of this equality test.
21610
3db3a82b
VS
216112010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 * Makefile.in (uninstall): Remove a leftover debug echo.
21614 Reported by: Grégoire Sutre
21615
38023412
VS
216162010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 MIPS multiboot2 support.
21619
21620 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21621 (multiboot2_mod_SOURCES): New variable.
21622 (multiboot2_mod_CFLAGS): Likewise.
21623 (multiboot2_mod_LDFLAGS): Likewise.
21624 (multiboot2_mod_ASFLAGS): Likewise.
21625 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21626 definition.
21627 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21628 (MULTIBOOT_MBI_REGISTER): Likewise.
21629 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21630 (MULTIBOOT_ELF32_MACHINE): Likewise.
21631 (MULTIBOOT_ELF64_MACHINE): Likewise.
21632 * include/grub/mips/multiboot.h: New file.
21633 * include/grub/video.h (grub_video_driver_id): New type
21634 GRUB_VIDEO_DRIVER_SM712.
21635 (grub_video_get_info_and_fini): Export.
21636 (grub_video_get_palette): Likewise.
21637 (grub_video_get_driver_id): Likewise.
21638 * include/multiboot2.h: Resynced with spec.
21639 * loader/i386/multiboot.c: Moved from here ...
21640 * loader/multiboot.c: ... here. All users updated.
21641 (grub_multiboot_boot): Use platform-specific macros.
21642 * loader/i386/multiboot_elfxx.c: Moved from here ...
21643 * loader/multiboot_elfxx.c: ... here. All users updated.
21644 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21645 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21646 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21647
47674667
VS
216482010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 Import gnulib argp module.
21651
21652 * gnulib/argp-ba.c: New file.
21653 * gnulib/argp-eexst.c: Likewise.
21654 * gnulib/argp-fmtstream.c: Likewise.
21655 * gnulib/argp-fmtstream.h: Likewise.
21656 * gnulib/argp-fs-xinl.c: Likewise.
21657 * gnulib/argp-help.c: Likewise.
21658 * gnulib/argp-namefrob.h: Likewise.
21659 * gnulib/argp-parse.c: Likewise.
21660 * gnulib/argp-pin.c: Likewise.
21661 * gnulib/argp-pv.c: Likewise.
21662 * gnulib/argp-pvh.c: Likewise.
21663 * gnulib/argp-version-etc.c: Likewise.
21664 * gnulib/argp-version-etc.h: Likewise.
21665 * gnulib/argp-xinl.c: Likewise.
21666 * gnulib/argp.h: Likewise.
21667
495442ed
VS
216682010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21669
21670 * kern/device.c (grub_device_iterate): Clear errors after failed
21671 opening device.
21672
f9fd65df
VS
216732010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21676 returned by firmware.
21677
af09641e
VS
216782010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21681 compilation on coreboot and qemu
21682
016883a5
VS
216832010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21684
21685 * include/multiboot2.h: Resync with spec.
21686
f97e1f7d
VS
216872010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21688
21689 Multiboot2 tag support
21690
21691 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21692 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21693 Remove loader/multiboot_loader.c.
21694 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21695 (grub_multiboot2_real_boot): Likewise.
21696 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21697 (grub_get_multiboot_mmap_count): New proto.
21698 (grub_fill_multiboot_mmap): Likewise.
21699 (grub_multiboot_set_video_mode): Likewise.
21700 (grub_multiboot_set_console): Likewise.
21701 (grub_multiboot_load): Likewise.
21702 (grub_multiboot_load_elf): Likewise.
21703 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21704 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21705 * include/multiboot.h: Resynced with specification.
21706 * include/multiboot2.h: Resynced with specification.
21707 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21708 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21709 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21710 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21711 users updated.
21712 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21713 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21714 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21715 Removed.
21716 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21717 Moved from here...
21718 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21719 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21720 Moved from here...
21721 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21722 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21723 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21724 All users updated.
21725 * loader/i386/multiboot_mbi2.c: New file.
21726
3506b90b
VS
217272010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 Resync with gnulib.
21730
21731 * Makefile.in (GNULIB_CFLAGS): New variable.
21732 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21733 (grub_script_check_CFLAGS): New variable.
21734 * gnulib/alloca.h: Resync with gnulib.
21735 * gnulib/error.c: Likewise.
21736 * gnulib/error.h: Likewise.
21737 * gnulib/fnmatch.c: Likewise.
21738 * gnulib/fnmatch_loop.c: Likewise.
21739 * gnulib/getdelim.c: Likewise.
21740 * gnulib/getline.c: Likewise.
21741 * gnulib/getopt.c: Likewise.
21742 * gnulib/getopt1.c: Likewise.
21743 * gnulib/getopt_int.h: Likewise.
21744 * gnulib/gettext.h: Likewise.
21745 * gnulib/progname.c: Likewise.
21746 * gnulib/progname.h: Likewise.
21747
394a3120
GS
217482010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21749
21750 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21751 which is the case with --disabled-nls.
21752
21753 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21754 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21755 * util/misc.c: Likewise.
21756 * util/mkisofs/mkisofs.c: Likewise.
21757 * util/mkisofs/mkisofs.h: Likewise.
21758
969d1c78
VS
217592010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21760
21761 Simplify Apple CC support.
21762
21763 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21764 Add 0 byte at the end not to have a symbol with empty target.
21765 * mmap/i386/pc/mmap_helper.S: Likewise.
21766 * genmk.rb: Ignore errors 2030 and 2050.
21767 * kern/i386/pc/startup.S: Use LOCAL when possible.
21768
8d2977bb
BC
217692010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21770
21771 Testcase and the fix for final semicolon on cmdline.
21772
21773 * tests/grub_script_final_semicolon.in: New testcase.
21774 * conf/tests.rmk: Rules for the new testcase.
21775 * script/parser.y: Grammar fix.
21776
a7bd6915
BC
217772010-03-26 BVK Chaitanya <bvk@localhost>
21778
21779 Blank lines testcase for GRUB script.
21780
21781 * tests/grub_script_blanklines.in: New testcase.
21782 * conf/tests.rmk: Rules for the new testcase.
21783
e4ff6628
VS
217842010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21785
21786 Don't use __FILE__.
21787
21788 * genmk.rb: Add -DGRUB_FILE to all C targets.
21789 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21790 * include/grub/list.h: Likewise.
21791 * include/grub/misc.h: Likewise.
21792 * include/grub/mm.h: Likewise.
21793 * include/grub/test.h: Likewise.
21794 * kern/mm.c: Likewise.
21795 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21796
6a5cf6b6
VS
217972010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21798
21799 Sunpc partitions support.
21800
21801 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21802 (grub_fstest_SOURCES): Likewise.
21803 (pkglib_MODULES): Add part_sunpc.mod.
21804 (part_sunpc_mod_SOURCES): New variable.
21805 (part_sunpc_mod_CFLAGS): Likewise.
21806 (part_sunpc_mod_LDFLAGS): Likewise.
21807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21808 * partmap/sunpc.c: New file.
21809
746d9045
BC
218102010-03-26 BVK Chaitanya <bvk@localhost>
21811
21812 For loop support to GRUB script.
21813
21814 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21815 (grub_script_create_cmdfor): New function prototype.
21816 (grub_script_execute_cmdfor): New function prototype.
21817 * script/execute.c (grub_script_execute_cmdfor): New function.
21818 * script/parser.y (command): New for command.
21819 (forcmd): New grammar rule.
21820 * script/script.c (grub_script_create_cmdfor): New function.
21821 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21822 function.
21823 * tests/grub_script_for1.in: New testcase.
21824 * conf/tests.rmk: Rules for new testcase.
21825
18486b18
VS
218262010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21827
21828 Nested partitions
21829
21830 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21831 'partition' is NULL, grub_partition_get_start already does that.
21832 * commands/loadenv.c (check_blocklists): Likewise.
21833 (write_blocklists): Likewise.
21834 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21835 (grub_fstest_SOURCES): Likewise.
21836 (pkglib_MODULES): Add part_bsd.mod.
21837 (part_bsd_mod_SOURCES): New variable.
21838 (part_bsd_mod_CFLAGS): Likewise.
21839 (part_bsd_mod_LDFLAGS): Likewise.
21840 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21841 (grub_emu_SOURCES): Likewise.
21842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21843 * include/grub/bsdlabel.h: New file.
21844 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21845 'get_name'.
21846 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21847 (grub_partition_map_list): New variable.
21848 (grub_partition_map_register): Inline.
21849 (grub_partition_map_unregister): Likewise.
21850 (FOR_PARTITION_MAPS): New macro.
21851 (grub_partition_map_iterate): Removed.
21852 (grub_partition_get_start): Handle nested partitions.
21853 * include/grub/msdos_partition.h: Remove bsd-related entries.
21854 (grub_pc_partition): Remove.
21855 * kern/disk.c (grub_disk_close): Free partition data.
21856 (grub_disk_adjust_range): Handle nested partitions.
21857 * kern/partition.c (grub_partition_map_probe): New function.
21858 (grub_partition_probe): Parse name to number, handle subpartitions.
21859 (get_partmap): New function.
21860 (grub_partition_iterate): Handle subpartitions.
21861 (grub_partition_get_name): Likewise.
21862 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21863 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21864 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21865 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21866 Set 'number'.
21867 (acorn_partition_map_probe): Remove.
21868 (acorn_partition_map_get_name): Likewise.
21869 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21870 Set 'number'.
21871 Set 'index' to 0 since there can be only one partition entry per sector.
21872 (amiga_partition_map_probe): Remove.
21873 (amiga_partition_map_get_name): Likewise.
21874 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21875 Set 'number'.
21876 Set 'offset' and 'index' to real positions of partitions.
21877 (apple_partition_map_probe): Remove.
21878 (apple_partition_map_get_name): Likewise.
21879 * partmap/bsdlabel.c: New file.
21880 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21881 Set 'number'.
21882 Allocate 'data' so it can be correctly freed.
21883 Set 'index' to offset inside sector.
21884 (gpt_partition_map_probe): Remove.
21885 (gpt_partition_map_get_name): Likewise.
21886 * partmap/msdos.c (grub_partition_parse): Remove.
21887 (pc_partition_map_iterate): Don't force raw access.
21888 Set 'number'.
21889 Make 'ext_offset' a local variable.
21890 (pc_partition_map_probe): Remove.
21891 (pc_partition_map_get_name): Remove.
21892 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21893 Set 'number'.
21894 (sun_partition_map_probe): Remove.
21895 (sun_partition_map_get_name): Likewise.
21896 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21897 (grub_pcpart_type): Likewise.
21898 * util/hostdisk.c (open_device): Handle new numbering scheme.
21899 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21900 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21901 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21902 * util/grub-install.in: Insert all subpartition modules.
21903 * util/ieee1275/grub-install.in: Likewise.
21904
a3940f88
AG
219052010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21906
21907 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21908 grammar.
21909
21b99926 219102010-03-24 Colin Watson <cjwatson@ubuntu.com>
21911
21912 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21913
bed1d352
CW
219142010-03-21 Colin Watson <cjwatson@ubuntu.com>
21915
21916 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21917 match where 'make install' puts them.
21918 * util/i386/efi/grub-install.in: Likewise.
21919
c9f58427
CW
219202010-03-19 Colin Watson <cjwatson@ubuntu.com>
21921
21922 * .bzrignore: Add gentrigtables, grub-script-check,
21923 grub_script_check_init.c, grub_script_check_init.h, and
21924 trigtables.c.
21925
f84afb27
VS
219262010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 * kern/parser.c: Indented.
21929
ed0e3d30
VS
219302010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21933
0ea81d98
VS
219342010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21937 alpha_mask_size == 0 case.
21938
0cdc2a09
BC
219392010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21940
21941 GRUB shell lexer and parser improvements.
21942
21943 * conf/any-emu.rmk: Build rule updates.
21944 * conf/common.rmk: Likewise.
21945 * conf/i386-coreboot.rmk: Likewise.
21946 * conf/i386-efi.rmk: Likewise.
21947 * conf/i386-ieee1275.rmk: Likewise.
21948 * conf/i386-pc.rmk: Likewise.
21949 * conf/powerpc-ieee1275.rmk: Likewise.
21950 * conf/x86_64-efi.rmk: Likewise.
21951
21952 * configure.ac: Configure check for flex.
21953
21954 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21955 types.
21956 (grub_lexer_param): Struct member updates.
21957 (grub_parser_param): Likewise.
21958 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21959 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21960 (grub_script_lexer_init): Prototype update.
21961 (grub_script_lexer_record_start): Likewise.
21962 (grub_script_lexer_record_stop): Likewise.
21963 (grub_script_lexer_yywrap): New function prototype.
21964 (grub_script_lexer_fini): Likewise.
21965 (grub_script_execute_argument_to_string): Removed by...
21966 (grub_script_execute_argument_to_argv): ...better version.
21967
21968 * script/execute.c (ROUND_UPTO): New macro.
21969 (grub_script_execute_cmdline): Out of memory fixes.
21970 (grub_script_execute_menuentry): Likewise.
21971 (grub_script_execute_argument_to_string): Removed. Update all
21972 users by...
21973 (grub_script_execute_argument_to_argv): ...better version.
21974 * script/function.c (grub_script_function_create): Use
21975 grub_script_execute_argument_to_argv instead of
21976 grub_script_execute_argument_to_string.
21977
21978 * script/lexer.c (check_varstate): Removed.
21979 (check_textstate): Removed.
21980 (grub_script_lexer_record_start): Likewise.
21981 (grub_script_lexer_record_stop): Likewise.
21982 (recordchar): Replaced with...
21983 (grub_script_lexer_record): ...new function.
21984 (nextchar): Removed.
21985 (grub_script_lexer_init): Rewritten.
21986 (grub_script_yylex): Rewritten.
21987 (append_newline): New function.
21988 (grub_script_lexer_yywrap): New function.
21989 (grub_script_lexer_fini): New function.
21990 (grub_script_yyerror): Sets error flag.
21991
21992 * script/yylex.l: New file.
21993 (grub_lexer_yyfree): Wrapper for flex yyffre.
21994 (grub_lexer_yyalloc): Likewise.
21995 (grub_lexer_yyrealloc): Likewise.
21996 * script/parser.y: Refactored.
21997
21998 * script/script.c (grub_script_arg_add): Out of memory fixes.
21999 (grub_script_add_arglist): Likewise.
22000 (grub_script_create_cmdline): Likewise.
22001 (grub_script_create_cmdmenu): Likewise.
22002 (grub_script_add_cmd): Likewise.
22003 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22004 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22005 unnecessary code.
22006
22007 * tests/grub_script_echo1.in: New testcase.
22008 * tests/grub_script_vars1.in: New testcase.
22009 * tests/grub_script_echo_keywords.in: New testcase.
22010
1d63a066
VS
220112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22012
22013 Remove some redundancy in build system.
22014
22015 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22016 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22017 (TARGET_LDFLAGS): Add -nostdlib.
22018 (TARGET_IMG_LDFLAGS): Likewise.
22019 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22020 anything since mmap isn't available.
22021 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22022 Add util/time.c.
22023 (pkglib_MODULES): Remove reboot.mod.
22024 (reboot_mod_SOURCES): Removed.
22025 (reboot_mod_CFLAGS): Likewise.
22026 (reboot_mod_LDFLAGS): Likewise.
22027 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22028 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22029 (DEFSYMFILES): Add kernel_syms.lst.
22030 (kernel_img_HEADERS): Add common headers.
22031 (symlist.c): New target.
22032 (kernel_syms.lst): Likewise.
22033 (pkglib_MODULES): Add memdisk.mod.
22034 (memdisk_mod_SOURCES): New variable.
22035 (memdisk_mod_CFLAGS): Likewise.
22036 (memdisk_mod_LDFLAGS): Likewise.
22037 (pkglib_MODULES): Add reboot.mod.
22038 (reboot_mod_SOURCES): New variable.
22039 (reboot_mod_CFLAGS): Likewise.
22040 (reboot_mod_LDFLAGS): Likewise.
22041 (pkglib_MODULES): Add date.mod.
22042 (date_mod_SOURCES): New variable.
22043 (date_mod_CFLAGS): Likewise.
22044 (date_mod_LDFLAGS): Likewise.
22045 (pkglib_MODULES): Add datehook.mod.
22046 (datehook_mod_SOURCES): New variable.
22047 (datehook_mod_CFLAGS): Likewise.
22048 (datehook_mod_LDFLAGS): Likewise.
22049 (pkglib_MODULES): Add lsmmap.mod.
22050 (lsmmap_mod_SOURCES): New variable.
22051 (lsmmap_mod_CFLAGS): Likewise.
22052 (lsmmap_mod_LDFLAGS): Likewise.
22053 (pkglib_MODULES): Add boot.mod.
22054 (boot_mod_SOURCES): New variable.
22055 (boot_mod_CFLAGS): Likewise.
22056 (boot_mod_LDFLAGS): Likewise.
22057 * conf/i386-coreboot.rmk: Removed redundant parts.
22058 * conf/i386-ieee1275.rmk: Likewise.
22059 * conf/i386-pc.rmk: Likewise.
22060 * conf/mips-yeeloong.rmk: Likewise.
22061 * conf/mips.rmk: Likewise.
22062 * conf/powerpc-ieee1275.rmk: Likewise.
22063 * conf/sparc64-ieee1275.rmk: Likewise.
22064 * conf/x86_64-efi.rmk: Likewise.
22065 * conf/i386-coreboot.rmk: Moved qemu parts ..
22066 * conf/i386-qemu.rmk: ... here
22067 * conf/i386-efi.rmk: Moved common parts to...
22068 * conf/x86-efi.rmk: ... here.
22069 * conf/i386.rmk: Added modules common to all x86 variants.
22070 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22071 * disk/memdisk.c: Remove grub/machine/kernel.h.
22072 * gensymlist.sh.in: Include symbol.h.
22073 * hook/datehook.c: Correct module name.
22074 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22075 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22076 * include/grub/i386/efi/serial.h: New file.
22077 * include/grub/x86_64/efi/serial.h: Likewise.
22078 * util/time.c: Likewise.
22079 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22080
463ac55f
CK
220812010-03-14 Colin King <colin.king@ubuntu.com>
220822010-03-14 Colin Watson <cjwatson@ubuntu.com>
22083
22084 Shrink the pre-partition-table part of boot.img by eight bytes.
22085
22086 * boot/i386/pc/boot.S (ERR): New macro.
22087 (chs_mode): Use ERR.
22088 (geometry_error): Likewise.
22089 (hd_probe_error): Remove. This is only used once, so we wrwite
22090 it inline instead.
22091 (read_error): Instead of printing read_error_string, just set up
22092 %si and fall through to ...
22093 (error_message): ... this new function, also used by ERR.
22094
08e46ede
CW
220952010-03-14 Colin Watson <cjwatson@ubuntu.com>
22096
22097 Speed up consecutive hostdisk operations on the same device.
22098
22099 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22100 (grub_util_biosdisk_open): Initialise disk->data.
22101 (struct linux_partition_cache): New structure.
22102 (linux_find_partition): Cache partition start positions; these are
22103 expensive to compute on every read and write.
22104 (open_device): Cache open file descriptor in disk->data, so that we
22105 don't have to reopen it and flush the buffer cache for consecutive
22106 operations on the same device.
22107 (grub_util_biosdisk_close): New function.
22108 (grub_util_biosdisk_dev): Set `close' member.
22109
22110 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22111 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22112 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22113 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22114 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22115
4a6d2d06
VS
221162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Compile parts of grub-emu as modules.
22119
22120 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22121 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22122 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22123 (all-local): Add $(GRUB_EMU).
22124 (install-local): Install $(GRUB_EMU).
22125 (uninstall): Uninstall $(GRUB_EMU).
22126 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22127 * kern/dl.c: Likewise.
22128 * commands/sleep.c: Not include machine/time.h.
22129 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22130 (COMMON_CFLAGS): Likewise.
22131 (sbin_UTILITIES): Remove grub-emu.
22132 (grub_emu_SOURCES): Removed.
22133 (kernel_img_RELOCATABLE): New variable.
22134 (pkglib_PROGRAMS): Add kernel.img.
22135 (kernel_img_SOURCES): New variable
22136 (kernel_img_CFLAGS): Likewise.
22137 (kernel_img_LDFLAGS): Likewise.
22138 (TARGET_NO_STRIP): Likewise.
22139 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22140 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22141 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22142 (grub-emu): New target.
22143 (GRUB_EMU): New variable.
22144 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22145 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22146 * loader/xnu.c: Likewise.
22147 * include/grub/pci.h: Likewise.
22148 * genemuinit.sh: New file.
22149 * genemuinitheader.sh: Likewise.
22150 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22151 Support TARGET_NO_DYNAMIC_MODULES.
22152 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22153 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22154 * disk/loopback.c: Likewise.
22155 * font/font_cmd.c: Likewise.
22156 * partmap/acorn.c: Likewise.
22157 * partmap/amiga.c: Likewise.
22158 * partmap/apple.c: Likewise.
22159 * partmap/gpt.c: Likewise.
22160 * partmap/msdos.c: Likewise.
22161 * partmap/sun.c: Likewise.
22162 * parttool/msdospart.c: Likewise.
22163 * term/gfxterm.c: Likewise.
22164 * video/bitmap.c: Likewise.
22165 * video/readers/jpeg.c: Likewise.
22166 * video/readers/png.c: Likewise.
22167 * video/readers/tga.c: Likewise.
22168 * video/video.c: Likewise.
22169 * util/grub-emu.c (read_command_list): Removed.
22170 (main): Don't call util_init_nls.
22171 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22172 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22173
91fdd2ed
VS
221742010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22177 date.mod, datehook.mod.
22178 (datetime_mod_SOURCES): New variable.
22179 (datetime_mod_CFLAGS): Likewise.
22180 (datetime_mod_LDFLAGS): Likewise.
22181 (date_mod_SOURCES): Likewise.
22182 (date_mod_CFLAGS): Likewise.
22183 (date_mod_LDFLAGS): Likewise.
22184 (datehook_mod_SOURCES): Likewise.
22185 (datehook_mod_CFLAGS): Likewise.
22186 (datehook_mod_LDFLAGS): Likewise.
22187 * conf/sparc64-ieee1275.rmk: Likewise.
22188 * lib/ieee1275/datetime.c: New file.
22189
873ccae6
VS
221902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22193 (ieee1275_fb_mod_SOURCES): New variable.
22194 (ieee1275_fb_mod_CFLAGS): Likewise.
22195 (ieee1275_fb_mod_LDFLAGS): Likewise.
22196 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22197 New proto.
22198 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22199 (HEAP_MAX_ADDR): Likewise.
22200 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22201 type.
22202 Correct stop condition.
22203 (grub_ieee1275_devices_iterate): New function.
22204 * video/ieee1275.c: New file.
22205
601c97c0
VS
222062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22207
22208 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22209
22210 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22211 as scratch.
22212 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22213 SCRATCH_PAD_DISKBOOT as scratch.
22214 (bootit): Pass Openfirmware pointer in %o4.
22215 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22216 of 0x200000.
22217 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22218 with util/grub-mkrawimage.c.
22219 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22220 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22221 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22222 (grub_aout_load) [GRUB_UTIL]: Likewise.
22223 * include/grub/kernel.h (grub_modules_get_end): New proto.
22224 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22225 (SCRATCH_PAD_BOOT): New definition.
22226 (SCRATCH_PAD_DISKBOOT): Likewise.
22227 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22228 * include/grub/sparc64/ieee1275/ieee1275.h
22229 (grub_ieee1275_original_stack): New variable
22230 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22231 New definition
22232 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22233 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22234 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22235 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22236 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22237 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22238 (grub_platform_image_format_t): New type.
22239 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22240 * kern/main.c (grub_modules_get_end)
22241 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22242 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22243 (codestart): Switch stacks.
22244 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22245 variable.
22246 (grub_heap_init): Use grub_modules_get_end.
22247 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22248 stack.
22249 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22250 (main): Likewise.
22251 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22252
d68b491e
TG
222532010-03-14 Thorsten Glaser <tg@mirbsd.org>
22254
22255 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22256
4e02ed50
MK
222572010-03-08 Matt Kraai <kraai@ftbfs.org>
22258
22259 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22260 bug #559005).
22261
1f15fc1e
VS
222622010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22263
22264 * genmoddep.awk: Output all missing symbols and not only first.
22265
fce5d8ff
VS
222662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22267
22268 * NEWS: Put the date of 1.98 release.
22269
d1e8a02f
VS
222702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22273 ft2build.h.
22274
696fd607
VS
222752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22276
22277 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22278 completition in the middle of string.
22279
33e2e6f3
VS
222802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22281
22282 * util/grub-mkrescue.in: Use mktemp with explicit template.
22283
b1f6d291
VS
222842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22287
2ac227c7
VS
222882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22291 right pointer.
22292
8f9a632b
VS
222932010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 Fix FreeBSD compilation.
22296
22297 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22298 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22299
60b03859
VS
223002010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22301
22302 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22303
48a5a769
VS
223042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22307
3ab4bd77
VS
223082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22309
22310 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22311
d116e0d8
RM
223122010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22313
22314 Support relative image path in theme file.
22315
22316 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22317 (image_set_property): Handle theme_dir and relative path.
22318
c7ef54aa
VS
223192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 * configure.ac: Alias amd64 to x86_64.
22322
fcee14ed
VS
223232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22324
22325 * NEWS: mention multiboot on EFI.
22326
d0780363
VS
223272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22328
22329 * kern/main.c (grub_load_modules): Handle errors from init functions of
22330 embeded modules.
22331
41168ea4
VS
223322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * normal/autofs.c (autoload_fs_module): Handle errors.
22335
b54d93ac
VS
223362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22337
22338 Disable linux.mod on qemu-mips since it's not functional and leads
22339 to compilation failure.
22340
22341 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22342 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22343 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22344 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22345 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22346 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22347 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22348 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22349 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22350 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22351 Reported by: BVK Chaitanya
22352
fc8345da
JU
223532010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22354
22355 * INSTALL: Add gettext as a dependency and add qemu to a new section
22356 "Prerequisites for make-check".
22357
4760f979
CF
223582010-03-04 Christian Franke <franke@computer.org>
22359
22360 * util/grub-pe2elf.c: Add missing include "progname.h".
22361
f209b5b2
VS
223622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * normal/crypto.c (read_crypto_list): Fix a typo.
22365 Reported by: Seth Goldberg.
22366
b4b7be98
VS
223672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22368
22369 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 22370 Reported by: Seth Goldberg.
b4b7be98 22371
c0ee0385
VS
223722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22375 ascii.bitmaps.
22376
a8efbf64
VS
223772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22380 Reported by: Seth Goldberg.
a8efbf64 22381
08dcd913
VS
223822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 * util/i386/efi/grub-install.in: Copy gettext files.
22385
c4d0b332
VS
223862010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22387
22388 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22389
c6f2fe52
VS
223902010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22391
22392 Wait for user entry basing on presence of output rather than on errors.
22393
22394 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22395 (grub_install_newline_hook): Likewise.
22396 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22397 * normal/menu.c (show_menu): Check line_counter to determine presence
22398 of output.
22399 * normal/term.c (grub_normal_line_counter): New variable.
22400 (grub_normal_get_line_counter): New function.
22401 (grub_install_newline_hook): Likewise.
22402
5382b1e4
VS
224032010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22406
5519963b
VS
224072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22408
22409 * configure.ac: Update version to 1.98.
22410
72b28631
VS
224112010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22412
22413 * util/grub.d/10_linux.in (linux_entry): Don't default to
22414 gfxpayload=keep if Linux doesn't support video handover.
22415
c140a180
VS
224162010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 Don't compile video modules on yeeloong since video subsystem is part
22419 of kernel.
22420
22421 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22422 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22423 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22424 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22425 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22426 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22427 * include/grub/bitmap_scale.h: Likewise.
22428 * include/grub/bufio.h: Likewise.
22429 * include/grub/font.h: Likewise.
22430 * include/grub/gfxterm.h: Likewise.
22431 * include/grub/video.h: Likewise.
22432 * include/grub/vbe.h: Don't include video_fb.h.
22433 * video/i386/pc/vbe.c: Include video_fb.h.
22434 * commands/i386/pc/vbetest.c: Include video.h.
22435
a0ca21c2
CW
224362010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22437
22438 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22439 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22440 default entry if GRUB_SAVEDEFAULT=true. This allows using
22441 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22442 saving a new default on every boot.
22443
4a8a763c
VS
224442010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22447 * normal/term.c (read_terminal_list): Likewise.
22448 * normal/main.c (grub_normal_init_page): Likewise.
22449 (grub_normal_read_line_real): Likewise.
22450
607ffde2
VS
224512010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22454 memory leak.
22455 Reported by: Seth Goldberg.
22456
2b8fa975
CW
224572010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22458
22459 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22460 duplicate declaration of `start'.
22461
618307dd
VS
224622010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22465 filename.
22466 Reported by: Georgy Buranov
22467
7dd05b96 224682010-02-20 Carles Pina i Estany <carles@pina.cat>
22469
22470 * util/grub-mkrawimage.c (usage): Change string formatting to
22471 improve gettext.
22472
d1484a42
MRA
224732010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22474
22475 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22476 backspace keys.
22477
42b1d186
VS
224782010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22479
22480 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22481 Reported by: Michael Suchanek.
22482
224832010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22484
22485 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22486 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22487
d9f31a41
VS
224882010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22489
22490 Remove any reference to non-free fonts.
22491
22492 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22493 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22494 uses non-free components.
22495 * font/font.c (grub_font_get_name): Remove example name.
22496 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22497 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22498 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22499 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22500
2793c71e
GB
225012010-02-16 Georgy Buranov <gburanov@gmail.com>
22502
22503 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22504
402e3779
VS
225052010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22508 Double divisor.
22509 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22510 features.
22511 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22512
0dd1e0dd
VS
225132010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22516
6fa7cfce
ST
225172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22518
22519 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22520 * docs/grub.texi (Command-line and menu entry commands): Document play
22521 command.
22522
37c8483b
ST
225232010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22524
22525 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22526 parse arguments as inline tempo and notes. Move code for playing notes
22527 to...
22528 (play): ... new function.
22529
14da0fb7
ST
225302010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22531
22532 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22533 grub_uint16_t instead of short.
22534 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22535 disk from little endian to cpu endianness.
22536
04459e70
ST
225372010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22538
22539 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22540 GRUB_TICKS_PER_SECOND instead of 120.
22541
a0876943
VS
225422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22543
22544 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22545 escape sequence after \e.
22546
e29f95dc
VS
225472010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22550 non-ASCII characters.
22551
d27859b2
VS
225522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22555 set root in single quotes to prevent \, from being unescaped.
22556
bc028f2f
VS
225572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 Prevent unknown commands from stopping menuentry execution.
22560
22561 * script/execute.c (grub_script_execute_cmdline): Print error after
22562 unknown command.
22563
095f5f82
VS
225642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22567 Reported by: Pavel Pisa.
22568
8c717950
VS
225692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22572
904935c3
VS
225732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22574
22575 Merge grub_ieee1275_map_physical into grub_map and rename to
22576 grub_ieee1275_map
22577
22578 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22579 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22580 Remove.
22581 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22582 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22583 necessary.
22584 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22585
5b59a4e3
VS
225862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22587
22588 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22589 opening and not after.
22590
69e137e8
VS
225912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22592
22593 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22594 constants.
22595
2c0fcc36
VS
225962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22599 (alloc_phys): Use ALIGN_UP instead of align_addr.
22600
8c6052ce
VS
226012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22604
17cec782
VS
226052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22606
22607 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22608
e0128bbd
VS
226092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22612 verbose dprintf.
22613
ca62070b
VS
226142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22615
22616 Fix over-4GiB seek on sparc64.
22617
22618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22619 Replace pos_i and pos_lo with pos. All users updated.
22620 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22621 New constant.
22622 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22623 Likewise.
22624 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22625 and pos_lo.
22626
bdca2607
VS
226272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22628
22629 * util/grub-mkrawimage.c (main): Call set_program_name.
22630
da278c4d
VS
226312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22632
22633 Properly align 64-bit targets.
22634
22635 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22636 (generate_image): Use ALIGN_ADDR.
22637
b274d734
VS
226382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 Properly create cross-endian images.
22641
22642 * include/grub/types.h (grub_host_to_target_addr): New macro
22643 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22644
82da2062
VS
226452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22646
22647 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22648
7cae4377
VS
226492010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22650
22651 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22652
22653 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22654 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22655 (grub_linux_boot): Divide by 64K when on VESA.
22656
65a533e7
VS
226572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 Support GRUB_GFXPAYLOAD_LINUX.
22660
22661 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22662 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22663
dd01d397
VS
226642010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22667 to show messages instead of discarding them.
22668 Process errors after executing command and not before. Keep old method
22669 too as precaution.
22670
660960d6
VS
226712010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22672
22673 * configure.ac: Check for ft2build.h.
22674
62509f04
VS
226752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22678
473df63d
VS
226792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 * genkernsyms.sh.in: Use TARGET_CC.
22682
c98d2a13
CW
226832010-02-07 Colin Watson <cjwatson@ubuntu.com>
22684
22685 * NEWS: Update.
22686
6e14234c
VS
226872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22688
22689 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22690 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22691 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22692
b255e9cf
YB
226932010-02-07 Yves Blusseau <blusseau@zetam.org>
22694
6e14234c 22695 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22696
98e6959d
VS
226972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22698
22699 Fix warnings in grub-emu when compiling with maximum warning options.
22700
22701 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22702 (grub_arch_modules_addr): Return 0 and not NULL.
22703 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22704 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22705 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22706 of disk to dsk to avoid shadowing.
74e4934e
VS
22707 (find_free_slot): Fix prototype.
22708 * util/getroot.c (grub_util_is_dmraid): Make static.
22709 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22710 Add missing prototype.
22711 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22712
74e31b5c
VS
227132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22716 appropriately.
22717
6b2ad14b
VS
227182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22721 code out.
22722
8f891adc
VS
227232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22724
22725 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22726 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22727 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22728 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22729 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22730 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22731
74b45184
VS
227322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * include/grub/err.h (grub_err_printf): Don't export.
22735
a4bced77
VS
227362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22739
007d0695
VS
227402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22743 * kern/misc.c (grub_gettext_dummy): Make static.
22744
b6c0d9c2
VS
227452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22748 by non-valid ones.
22749 * kern/term.c (grub_putchar): Likewise.
22750
f51a90d0
VS
227512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22754 buggy hook call and memory leak.
22755
6846cec5
VS
227562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22757
22758 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22759
468d69fe
VS
227602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22761
22762 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22763
51906b8c
VS
227642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22765
22766 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22767 modevar.
22768 Return grub_errno on allocation error.
22769
09706ce5
VS
227702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22771
22772 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22773
911df80c
YB
227742010-02-06 Yves Blusseau <blusseau@zetam.org>
22775
22776 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22777 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22778
3746a6bc
VS
227792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22780
22781 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22782 non-pxe disk.
22783 (grub_pxefs_open): Likewise.
22784
09706ce5
VS
227852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22788 * util/grub.d/10_kfreebsd.in: Likewise.
22789 * util/grub.d/10_linux.in: Likewise.
22790
7cc192d9
VS
227912010-02-06 Colin D Bennett <colin@gibibit.com>
22792
22793 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22794 (gfxmenu_mod_SOURCES): New variable.
22795 (gfxmenu_mod_CFLAGS): Likewise.
22796 (gfxmenu_mod_LDFLAGS): Likewise.
22797 * include/grub/term.h (grub_term_set_current_output): Declare
22798 argument as const.
22799 * docs/gfxmenu-theme-example.txt: New file.
22800 * gfxmenu/gfxmenu.c: Likewise.
22801 * gfxmenu/gui_box.c: Likewise.
22802 * gfxmenu/gui_canvas.c: Likewise.
22803 * gfxmenu/gui_circular_progress.c: Likewise.
22804 * gfxmenu/gui_image.c: Likewise.
22805 * gfxmenu/gui_label.c: Likewise.
22806 * gfxmenu/gui_list.c: Likewise.
22807 * gfxmenu/gui_progress_bar.c: Likewise.
22808 * gfxmenu/gui_string_util.c: Likewise.
22809 * gfxmenu/gui_util.c: Likewise.
22810 * gfxmenu/icon_manager.c: Likewise.
22811 * gfxmenu/model.c: Likewise.
22812 * gfxmenu/named_colors.c: Likewise.
22813 * gfxmenu/theme_loader.c: Likewise.
22814 * gfxmenu/view.c: Likewise.
22815 * gfxmenu/widget-box.c: Likewise.
22816 * include/grub/gfxmenu_model.h: Likewise.
22817 * include/grub/gfxmenu_view.h: Likewise.
22818 * include/grub/gfxwidgets.h: Likewise.
22819 * include/grub/gui.h: Likewise.
22820 * include/grub/gui_string_util.h: Likewise.
22821 * include/grub/icon_manager.h: Likewise.
22822
228232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 Agglomerate scrolling in gfxterm.
22826
22827 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22828 (grub_virtual_screen_setup): Initialise 'total_screen'.
22829 (write_char): Split to ...
22830 (paint_char): ... this ...
22831 (write_char): ... and this.
22832 (paint_char): Handle delayed scrolling.
22833 (draw_cursor): Likewise.
22834 (scroll_up): Split to ...
22835 (real_scroll): ... this ...
22836 (scroll_up): ... and this.
22837 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22838 characters.
22839 (grub_gfxterm_refresh): Call real_scroll.
22840
228412010-02-06 Colin D Bennett <colin@gibibit.com>
22842
22843 * include/grub/misc.h (grub_iscntrl): New inline function.
22844 (grub_isalnum): Likewise.
22845 (grub_strtol): Likewise.
22846
228472010-02-06 Colin D Bennett <colin@gibibit.com>
22848
22849 * normal/menu_text.c (get_entry_number): Move from here ...
22850 * normal/menu.c (get_entry_number): ... moved here.
22851 * include/grub/menu.h (grub_menu_get_default_entry_index):
22852 New prototype.
22853 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22854 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22855 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22856 (grub_menu_viewer_should_return): Likewise.
22857 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22858 * normal/menu_text.c (run_menu): Enable menu switching.
22859 * normal/menu_viewer.c (should_return): New variable.
22860 (menu_viewer_changed): Likewise.
22861 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22862 (grub_menu_viewer_should_return): New function.
22863 (menuviewer_write_hook): Likewise.
22864 (grub_menu_viewer_init): Likewise.
22865
228662010-02-06 Colin D Bennet <colin@gibibit.com>
228672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22868
22869 Support for gfxterm in a window.
22870
22871 * include/grub/gfxterm.h: New file.
22872 * include/grub/video.h (struct grub_video_rect): New declaration.
22873 (grub_video_rect_t): Likewise.
22874 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22875 (refcount): New variable.
22876 (render_target): Likewise.
22877 (window): Likewise.
22878 (repaint_callback): Likewise.
22879 (grub_virtual_screen_setup): Use 'render_target'.
22880 (init_window): New function.
22881 (grub_gfxterm_init_window): Likewise.
22882 (grub_gfxterm_init): Check reference counter.
22883 Use init_window.
22884 (destroy_window): New function.
22885 (grub_gfxterm_destroy_window): Likewise.
22886 (grub_gfxterm_fini): Check reference counter.
22887 Use destroy_window.
22888 (redraw_screen_rect): Restore viewport.
22889 Use 'render_target' and 'window'.
22890 Call 'repaint_callback'.
22891 (write_char): Use 'render_target'.
22892 (draw_cursor): Likewise.
22893 (scroll_up): Restore viewport.
22894 Use 'render_target' and 'window'.
22895 Call 'repaint_callback'.
22896 (grub_gfxterm_cls): Likewise.
22897 (grub_gfxterm_refresh): Use 'window'.
22898 (grub_gfxterm_set_repaint_callback): New function.
22899 (grub_gfxterm_background_image_cmd): Use 'window'.
22900 (grub_gfxterm_get_term): New function.
22901 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22902
229032010-02-06 Colin D Bennett <colin@gibibit.com>
22904
22905 Bitmap scaling support.
22906
22907 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22908 (bitmap_scale_mod_SOURCES): New variable.
22909 (bitmap_scale_mod_CFLAGS): Likewise.
22910 (bitmap_scale_mod_LDFLAGS): Likewise.
22911 * include/grub/bitmap_scale.h: New file.
22912 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22913 (background_image_cmd_options): New variable.
22914 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22915 (cmd): Rename and change type to ...
22916 (background_image_cmd_handle): ... this. All users updated.
22917 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22918 * video/bitmap_scale.c: New file.
22919
229202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 SDL support.
22923
22924 * Makefile.in (LIBSDL): New variable.
22925 (enable_grub_emu_sdl): Likewise.
22926 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22927 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22928 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22929 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22930 * util/sdl.c: New file.
22931
229322010-02-06 Colin D Bennett <colin@gibibit.com>
229332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 Double buffering support.
22936
22937 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22938 * include/grub/video.h: Update comment.
22939 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22940 New type.
22941 (grub_video_fb_doublebuf_blit_init): New prototype.
22942 * term/gfxterm.c (scroll_up): Support double buffering.
22943 (grub_gfxterm_refresh): Likewise.
22944 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22945 (grub_video_fb_doublebuf_blit_init): Likewise.
22946 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22947 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22948 'displayed_page', 'render_page' and 'update_screen'.
22949 (grub_video_vbe_fini): Free offscreen buffer.
22950 (doublebuf_pageflipping_commit): New function.
22951 (doublebuf_pageflipping_update_screen): Likewise.
22952 (doublebuf_pageflipping_init): Likewise.
22953 (double_buffering_init): Likewise.
22954 (grub_video_vbe_setup): Enable doublebuffering.
22955 (grub_video_vbe_swap_buffers): Implement.
22956 (grub_video_vbe_set_active_render_target): Handle double buffering.
22957 (grub_video_vbe_get_active_render_target): Likewise.
22958 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22959 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22960 (grub_video_vbe_enable_double_buffering): Likewise.
22961 (grub_video_vbe_swap_buffers): Use update_screen.
22962 (grub_video_set_mode): Use double buffering.
22963
229642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22965
22966 * maintainance/gentrigtables.py: Remove.
22967 * lib/trig.c: Likewise.
22968
22969 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22970
22971 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22972 `trigtables.c'.
22973 (trigtables.c): New rule.
22974 (gentrigtables): Likewise.
22975 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22976
229772010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22978
22979 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22980 integer constants.
22981
229822010-02-06 Colin D Bennet <colin@gibibit.com>
22983
22984 Trigonometry support.
22985
22986 * include/grub/trig.h: New file.
22987 * lib/trig.c: Likewise.
22988 * maintainance/gentrigtables.py: Likewise.
22989 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22990 (trig_mod_SOURCES): New variable.
22991 (trig_mod_CFLAGS): Likewise.
22992 (trig_mod_LDFLAGS): Likewise.
22993
5562834e
VS
229942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22997 disk devices.
22998
4f8528fc
VS
229992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23000
23001 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23002 error.
23003
2b4068e9
VS
230042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 * util/hostdisk.c (open_device): Don't use partition device when reading
23007 before the partition.
23008 (grub_util_biosdisk_read): Don't read from partition and before the
23009 partition in single operation.
23010 (grub_util_biosdisk_write): Don't write to partition and before the
23011 partition in single operation.
23012
399f6e4d
TL
230132010-02-03 Torsten Landschoff <torsten@debian.org>
23014
23015 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23016 last sectors.
23017
996649b0
VS
230182010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23019
23020 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23021 CDROM reads.
23022 (grub_biosdisk_write): Refuse to write to CDROM.
23023
3b205d4d
VS
230242010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23025
23026 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23027
61e89d9d
VS
230282010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 * font/font.c (find_glyph): Check that bmp_idx is available before
23031 using it.
23032 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23033 with (font == NULL).
23034
bf7fcba2
CS
230352010-01-28 Christian Schmitt <chris@ilovelinux.de>
23036
23037 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23038
f45d2663
BC
230392010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23040
23041 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23042 * util/grub-script-check.c (getline): Fix empty lines case.
23043
ec1444e6
RM
230442010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23045
23046 * Makefile.in (check): Exit with fail status when one of the tests
23047 fails.
23048 * tests/example_functional_test.c (example_test): Fix reversed assert.
23049 * tests/example_unit_test.c (example_test): Likewise.
23050
2e1cb9bb
CW
230512010-01-28 Colin Watson <cjwatson@ubuntu.com>
23052
23053 * util/grub.d/10_linux.in: This script does not use any of the
23054 contents of gettext.sh, only the external command `gettext', so stop
23055 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23056 the same prefix as GRUB.)
23057 * util/grub.d/10_kfreebsd.in: Likewise.
23058
63533ab0
VS
230592010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23062 of the line.
23063
989e1f93
VS
230642010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23065
23066 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23067 last sectors.
23068
e709ebe2
VS
230692010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23072 having a 4KiB and not 32KiB buffer size.
23073
27dea7ed
RM
230742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23075
23076 * util/hostfs.c: Include `<errno.h>'.
23077 (grub_hostfs_read): Handle errors from fseeko() and fread().
23078
67667b9c
RM
230792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23080
23081 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23082 loop when using read hooks on files whose size isn't sector-aligned.
23083
c294d9d8
RM
230842010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 Remove unused parameter.
23087
23088 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23089 (grub_iso9660_open): Remove initialization of `data->length'.
23090
af75a9f1
RM
230912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23092
23093 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23094 memleak conditions.
23095
254e2ce5 230962010-01-27 Carles Pina i Estany <carles@pina.cat>
23097
23098 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23099 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23100
b510928c 231012010-01-26 Carles Pina i Estany <carles@pina.cat>
23102
23103 * util/bin2h.c (usage): Fix warning (space after backslash).
23104
aa2f9dd2 231052010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 23106
23107 * font/font.c: Include `grub/fontformat.h.
23108 Remove font file format constants.
23109 (grub_font_load): Use the new macros.
23110 * include/grub/fontformat.h: New file.
23111 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23112 (write_font_pf2): Use the new macros.
23113
94e7e712
RM
231142010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23115
23116 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23117 does.
23118
3973a59a
RM
231192010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23120
23121 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23122
23123 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23124 (_start): Macroify `0x7F'.
23125
23126 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23127 (make_install_device): Use "(pxe)" as fallback prefix when booting
23128 via PXE.
23129
42e0cba3
GS
231302010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23131
23132 * configure.ac: Reset LIBS after check for libgcc symbols.
23133
847effd8
CW
231342010-01-25 Colin Watson <cjwatson@ubuntu.com>
23135
23136 * util/hostdisk.c (open_device): Add trailing newline to debug
23137 message.
23138
ea4a7e35
GS
231392010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23140
23141 * configure.ac: Check for `limits.h'.
23142 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23143
67951a53
RM
231442010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23145
23146 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23147 capitalize error strings.
23148
c273d4ce
ST
231492010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23150
23151 * util/grub.d/10_hurd.in: Add a recovery mode.
23152
69be5b74
VS
231532010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23154
23155 * configure.ac: Check for libgcc symbols with -nostdlib.
23156
fc9e5810
BC
231572010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23158
23159 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23160
4b358c0a
VS
231612010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23164 stack since heap may be unavailable at that point.
23165 (grub_ofconsole_gotoxy): Likewise.
23166
454fcd1c
VS
231672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23168
23169 * configure.ac: Check for _restgpr_14_x.
23170 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23171 and _savegpr_* prototypes.
23172
566863ca
RM
231732010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23174
23175 Use generic grub_reboot() for i386-efi.
23176
23177 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23178 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23179 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23180
bf86e59a
VS
231812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23182
23183 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23184 presence of "prefix" variable as it breaks when normal.mod is
23185 embedded.
23186
d645e0f8
VS
231872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23188
23189 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23190 stack since heap is unavailable at that point.
23191
f9ab2e25
VS
231922010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23195 (grub_freebsd_bootinfo): Rewritten.
23196 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23197
01fc7054
VS
231982010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23199
23200 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23201
caab4fd6
RM
232022010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23203
23204 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23205 domain now.
23206
67eb1427
FZ
232072010-01-20 Felix Zielcke <fzielcke@z-51.de>
23208
23209 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23210 around for handling "/" to the correct fix. Fix a memory leak. Use
23211 xstrdup instead of strdup.
23212
a9ed4ff3
VS
232132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23216
232172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
23218
23219 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23220
23221 * font/font.c (struct grub_font): New member 'bmp_idx'.
23222 (font_init): Initialise 'bmp_idx'.
23223 (load_font_index): Fill 'bmp_idx'.
23224 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23225
48209f4f
VS
232262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23227
23228 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23229 unnecessary calls.
23230
9f0a4bb7
VS
232312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 Move context handling out of the kernel.
23234
23235 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23236 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23237 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23238 * conf/i386-efi.rmk: Likewise.
23239 * conf/i386-ieee1275.rmk: Likewise.
23240 * conf/i386-pc.rmk: Likewise.
23241 * conf/powerpc-ieee1275.rmk: Likewise.
23242 * conf/sparc64-ieee1275.rmk: Likewise.
23243 * conf/x86_64-efi.rmk: Likewise.
23244 * include/grub/env.h: Include grub/menu.h.
23245 (grub_env_var_type): Removed.
23246 (grub_env_var): Replaced field 'type' with 'global'.
23247 (grub_env_find): New prototype.
23248 (grub_env_context_open): Remove EXPORT_FUNC.
23249 (grub_env_context_close): Likewise.
23250 (grub_env_export): Likewise.
23251 (grub_env_set_data_slot): Removed.
23252 (grub_env_get_data_slot): Likewise.
23253 (grub_env_unset_data_slot): Likewise.
23254 (grub_env_unset_menu): New prototype.
23255 (grub_env_set_menu): Likewise.
23256 (grub_env_get_menu): Likewise.
23257 * include/grub/env_private.h: New file.
23258 * include/grub/normal.h (grub_context_init): New prototype.
23259 (grub_context_fini): Likewise.
23260 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23261 * normal/context.c (grub_cmd_export): ... to here.
23262 * kern/env.c: Include env_private.h.
23263 (HASHSZ): Moved to include/grub/env_private.h.
23264 (grub_env_context): Likewise.
23265 (grub_env_sorted_var): Likewise.
23266 (current_context): Renamed from this ...
23267 (grub_current_context): ...to this. 'static' removed. All users updated.
23268 (grub_env_find): Removed 'static'.
23269 (grub_env_context_open): Moved to normal/context.c.
23270 (grub_env_context_close): Likewise.
23271 (grub_env_export): Likewise.
23272 (mangle_data_slot_name): Removed.
23273 (grub_env_set_data_slot): Likewise.
23274 (grub_env_get_data_slot): Likewise.
23275 (grub_env_unset_data_slot): Likewise.
23276 * kern/main.c (grub_set_root_dev): Don't export root.
23277 It will be done later.
23278 (grub_main): Don't export prefix.
23279 It will be done later.
23280 * normal/context.c: New file.
23281 * normal/main.c (free_menu): Use grub_env_unset_menu.
23282 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23283 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23284 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23285 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23286
8dd35b8c
VS
232872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23288
23289 setpci support.
23290
23291 * commands/setpci.c: New file.
23292 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23293 (setpci_mod_SOURCES): New variable.
23294 (setpci_mod_CFLAGS): Likewise.
23295 (setpci_mod_LDFLAGS): Likewise.
23296
449193d5
VS
232972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 Byte-addressable PCI configuration space.
23300
23301 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23302 dword address.
23303 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23304 GRUB_PCI_REG_CACHELINE.
23305 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23306 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23307 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23308 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23309 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23310 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23311 grub_pci_make_address.
23312 (lock_rom_area): Likewise.
23313 * commands/lspci.c (grub_lspci_iter): Use macroses
23314 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23315 of grub_pci_make_address.
23316 * disk/ata.c (grub_ata_pciinit): Likewise.
23317 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23318 (GRUB_PCI_REG_VENDOR): Likewise.
23319 (GRUB_PCI_REG_DEVICE): Likewise.
23320 (GRUB_PCI_REG_COMMAND): Likewise.
23321 (GRUB_PCI_REG_STATUS): Likewise.
23322 (GRUB_PCI_REG_REVISION): Likewise.
23323 (GRUB_PCI_REG_CLASS): Likewise.
23324 (GRUB_PCI_REG_CACHELINE): Likewise.
23325 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23326 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23327 (GRUB_PCI_REG_BIST): Likewise.
23328 (GRUB_PCI_REG_ADDRESSES): Likewise.
23329 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23330 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23331 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23332 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23333 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23334 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23335 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23336 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23337 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23338 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23339 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23340 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23341 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23342 (GRUB_PCI_REG_MIN_GNT): Likewise.
23343 (GRUB_PCI_REG_MAX_LAT): Likewise.
23344 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23345 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23346 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 23347 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
23348 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23349 space.
23350
96d73208
RM
233512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23352
23353 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23354 can be reliably determined to be supported.
23355
d4484482
RM
233562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23357
23358 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23359 that VESA is supported.
23360 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23361 supported.
23362
00308ecf
VS
233632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23366
f66924a4
RM
233672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23368
23369 * util/misc.c (make_system_path_relative_to_its_root): Work around
23370 special-casing of "/", as previous incarnation of this routine did.
23371
cbca0ada
VS
233722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23373
23374 Fix any-emu compilation.
23375
23376 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23377 * grub_bin2h_SOURCES: New variable.
23378
34a66d99
RM
233792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23380
23381 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23382
94fabf58
RM
233832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23384
23385 * util/grub.d/00_header.in: Fix handling of locale_dir.
23386
02cf98ca
VS
233872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23388
23389 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23390 as possible unifont location (Gentoo).
23391 Reported by: Alexander Brüning
23392
327dbcd7
VS
233932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23394
23395 Don't try to generate lists for kernel.img.
23396
23397 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23398 (pkglib_MODULES): Remove kernel.img.
23399 (kernel_img_EXPORTS): Removed.
23400 (kernel_img_RELOCATABLE): New variable.
23401 * conf/x86_64-efi.rmk: Likewise.
23402 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23403
ca467290
VS
234042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23405
23406 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23407 grub_xasprintf or grub_snprintf.
23408 (grub_vsprintf): Likewise.
23409 (grub_snprintf): New proto.
23410 (grub_vsnprintf): Likewise.
23411 (grub_xasprintf): Likewise.
23412 (grub_xvasprintf): Likewise.
23413 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23414 (grub_sprintf): Removed.
23415 (grub_vsnprintf): New function.
23416 (grub_snprintf): Likewise.
23417 (grub_xvasprintf): Likewise.
23418 (grub_xasprintf): Likewise.
23419 (grub_vsprintf): Renamed to ...
23420 (grub_vsnprintf_real): ...this. New argument max_len.
23421
aca655fd
BC
234222010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23423
23424 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23425 fix grub-script-check warning.
23426
7ee92c32
VS
234272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 * include/grub/font.h (grub_font_load): Fix prototype.
23430
f80927ca
VS
234312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23432
23433 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23434
119c50ea
VS
234352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23436
23437 * include/grub/x86_64/at_keyboard.h: New file.
23438
47d5f3c1
VS
234392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23440
23441 * loader/mips/linux.c: Include missing grub/i18n.h.
23442
55ff5266
RM
234432009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23444
23445 * normal/menu.c (notify_execution_failure): Clarify error message.
23446
c893cc87
RM
234472009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23448
23449 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23450 return value (and revert all return statements). Update users.
23451
917dd370
CW
234522010-01-20 Dan Merillat <debian@dan.merillat.org>
23453
23454 * kern/device.c (grub_device_iterate): Allocate new part_ent
23455 structure based on sizeof (*p) rather than sizeof (p->next), to
23456 account for structure padding.
23457
23458 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23459 disk is NULL, which might happen for LVM physical volumes with no
23460 LVM signature.
23461
d4a4ee57
RM
234622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23463
23464 * loader/mips/linux.c (grub_cmd_initrd)
23465 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23466
234672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23468
23469 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23470 (grub_video_video_init, grub_video_bitmap_init)
23471 (grub_font_manager_init, grub_term_gfxterm_init)
23472 (grub_at_keyboard_init): New extern declarations.
23473 (grub_machine_init): Initialize gfxterm and at_keyboard.
23474
23475 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23476
23477 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23478 `gfxterm.mod' into core image.
23479
23480 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23481 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23482 (kernel_img_FORMAT): Copy to ...
23483
23484 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23485 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23486 (kernel_img_FORMAT): ... here, and ...
23487
23488 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23489 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23490 (kernel_img_FORMAT): ... here.
23491
23492 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23493 and input (at_keyboard) terminals in kernel.
23494 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23495
23496 (pkglib_MODULES): Remove `pci.mod'.
23497 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23498 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23499 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23500 (at_keyboard_mod_LDFLAGS): Remove variables.
23501
235022010-01-11 Felix Zielcke <fzielcke@z-51.de>
23503
23504 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23505
235062009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 * include/grub/mips/libgcc.h: Only export symbols for functions
23509 that libgcc provides.
23510
235112009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23512
23513 MIPS support.
23514
23515 * bus/bonito.c: New file.
23516 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23517 GRUB_PCI_NUM_DEVICES.
23518 * term/i386/pc/serial.c: Move to ...
23519 * term/serial.c: ... here. All users updated.
23520 * util/i386/pc/grub-mkimage.c: Move to ...
23521 * util/grub-mkrawimage.c: ... here. All users updated.
23522 * term/i386/pc/at_keyboard.c: Move to ...
23523 * term/at_keyboard.c: ... here. All users updated.
23524 * conf/mips-qemu-mips.rmk: New file.
23525 * conf/mips-yeeloong.rmk: Likewise.
23526 * conf/mips.rmk: Likewise.
23527 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23528 mipsel-qemu-mips.
23529 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23530 to port addresses.
23531 (grub_ata_pciinit): Support CS5536.
23532 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23533 * font/font_cmd.c (loadfont_command): Open file before passing it to
23534 grub_font_load.
23535 (pseudo_file_read): New function.
23536 (pseudo_file_close): Likewise.
23537 (pseudo_fs): New structure.
23538 (load_font_module): New function.
23539 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23540 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23541 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23542 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23543 * include/grub/i386/at_keyboard.h: Split into ...
23544 * include/grub/at_keyboard.h: ... this ...
23545 * include/grub/i386/at_keyboard.h: ... and this.
23546 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23547 New prototype.
23548 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23549 updated.
23550 (grub_elf64_size): Likewise.
23551 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23552 filename.
23553 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23554 * include/grub/i386/coreboot/serial.h: Rewritten.
23555 * include/grub/i386/ieee1275/serial.h: Include
23556 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23557 * include/grub/i386/pc/serial.h: Moved from here ...
23558 * include/grub/serial.h: ... to here. All users updated.
23559 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23560 (GRUB_PCI_NUM_BUS): Likewise.
23561 (GRUB_PCI_NUM_DEVICES): Likewise.
23562 (grub_pci_device_map_range): Add missing volatile keyword.
23563 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23564 * include/grub/mips/at_keyboard.h: New file.
23565 * include/grub/mips/cache.h: Likewise.
23566 * include/grub/mips/io.h: Likewise.
23567 * include/grub/mips/kernel.h: Likewise.
23568 * include/grub/mips/libgcc.h: Likewise.
23569 * include/grub/mips/pci.h: Likewise.
23570 * include/grub/mips/qemu-mips/boot.h: Likewise.
23571 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23572 * include/grub/mips/qemu-mips/loader.h: Likewise.
23573 * include/grub/mips/qemu-mips/memory.h: Likewise.
23574 * include/grub/mips/qemu-mips/serial.h: Likewise.
23575 * include/grub/mips/qemu-mips/time.h: Likewise.
23576 * include/grub/mips/relocator.h: Likewise.
23577 * include/grub/mips/time.h: Likewise.
23578 * include/grub/mips/types.h: Likewise.
23579 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23580 * include/grub/mips/yeeloong/boot.h: Likewise.
23581 * include/grub/mips/yeeloong/kernel.h: Likewise.
23582 * include/grub/mips/yeeloong/loader.h: Likewise.
23583 * include/grub/mips/yeeloong/memory.h: Likewise.
23584 * include/grub/mips/yeeloong/pci.h: Likewise.
23585 * include/grub/mips/yeeloong/serial.h: Likewise.
23586 * include/grub/mips/yeeloong/time.h: Likewise.
23587 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23588 * kern/elf.c (grub_elf32_size): New parameter. All users
23589 updated.
23590 (grub_elf64_size): Likewise.
23591 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23592 Load modules before saying "Welcome to GRUB!".
23593 Call grub_refresh after saying "Welcome to GRUB!".
23594 * kern/mips/cache.S: New file.
23595 * kern/mips/cache_flush.S: Likewise.
23596 * kern/mips/dl.c: Likewise.
23597 * kern/mips/init.c: Likewise.
23598 * kern/mips/qemu-mips/init.c: Likewise.
23599 * kern/mips/startup.S: Likewise.
23600 * kern/mips/yeeloong/init.c: Likewise.
23601 * kern/term.c (grub_putcode): Handle NULL terminal.
23602 (grub_getcharwidth): Likewise.
23603 (grub_getkey): Likewise.
23604 (grub_checkkey): Likewise.
23605 (grub_getkeystatus): Likewise.
23606 (grub_getxy): Likewise.
23607 (grub_getwh): Likewise.
23608 (grub_gotoxy): Likewise.
23609 (grub_cls): Likewise.
23610 (grub_setcolorstate): Likewise.
23611 (grub_setcolor): Likewise.
23612 (grub_getcolor): Likewise.
23613 (grub_refresh): Likewise.
23614 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23615 (write_jump): Add hatch nop.
23616 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23617 * lib/mips/setjmp.S: New file.
23618 * loader/mips/linux.c: Likewise.
23619 * term/i386/pc/at_keyboard.c: Move from here ...
23620 * term/at_keyboard.c: ... to here.
23621 * term/i386/pc/serial.c: Moved from here ...
23622 * term/serial.c: ... to here. All users updated.
23623 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23624 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23625 (serial_translate_key_sequence): Avoid deadlock.
23626 (grub_serial_getkey): Handle backspace.
23627 (grub_serial_putchar): Fix newline handling.
23628 * util/i386/pc/grub-mkimage.c: Move from here ...
23629 * util/grub-mkrawimage.c: ... to here. All users updated.
23630 (generate_image): New parameters 'font_path' and 'format'.
23631 Support embedding font.
23632 Use grub_host_to_target* instead of grub_cpu_to_le*.
23633 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23634 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23635 (options): New option "--font".
23636 (usage): Likewise.
23637 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23638 (main): Handle "--font".
23639 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23640 (grub_virtual_screen_setup): Set bg_color_display.
23641 (redraw_screen_rect): Use bg_color_display instead of incorrect
23642 bg_color.
23643 (grub_gfxterm_cls): Likewise.
23644 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23645 Support embedding config file.
23646 (add_segments): Likewise.
23647 (options): New option "--config".
23648 (main): Handle "--config".
23649 * video/sm712.c: New file.
23650
25c2b5b3
RM
236512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23652
23653 Fix parallel builds.
23654
23655 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23656 font.c depend on ascii.h).
23657
236582010-01-12 Carles Pina i Estany <carles@pina.cat>
23659
23660 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23661
236622010-01-11 Carles Pina i Estany <carles@pina.cat>
23663
23664 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23665 By default: disabled.
23666 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23667 parameter.
23668
236692010-01-10 Carles Pina i Estany <carles@pina.cat>
23670
23671 * font/font.c: Update copyright years.
23672 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23673
236742010-01-10 Carles Pina i Estany <carles@pina.cat>
23675
23676 * font/font.c: Include `ascii.h'.
23677 (ASCII_BITMAP_SIZE): New macro.
23678 (ascii_font_glyph): Define.
23679 (ascii_glyph_lookup): New function.
23680 (grub_font_get_string_width): Change comment. If glyph not found, use
23681 ascii_glyph_lookup.
23682 (grub_font_get_glyph_with_fallback): If glyph not available returns
23683 ascii_glyph_lookup.
23684 * util/grub-mkfont.c (file_formats): New enum.
23685 (options): Add `ascii-bitmaps' new option.
23686 (usage): Add `asii-bitmaps' new option.
23687 (write_font_ascii_bitmap): New function.
23688 (write_font): Rename to ...
23689 (write_font_p2): ... this. Remove print_glyphs call.
23690 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23691 used. Call print_glyphs.
23692 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23693
236942010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23695
23696 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23697 (grub_bin2h_SOURCES): New variable.
23698 * util/bin2h.c: New file.
23699
915fc1b8
VS
237002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23701
23702 * include/multiboot.h: Resynced with spec.
23703 * include/multiboot2.h: Likewise.
23704 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23705 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23706
9444b678
RM
237072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23708
23709 * include/grub/term.h (grub_term_register_input,
23710 grub_term_register_output): Check return of terminal init()
23711 routines, and abort if errors are raised.
23712
23713 * commands/terminal.c: Update copyright year.
23714
cba98e8d
RM
237152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 * commands/terminal.c (grub_cmd_terminal_input)
23718 (grub_cmd_terminal_output): Check return of terminal init()
23719 routines, and abort if errors are raised.
23720
6f7db5d6
VS
237212010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23722
23723 * include/grub/i386/bsd.h: Fix include pathes.
23724
262bff8d
VS
237252010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23726
23727 Add missing *BSD copyright headers.
23728
23729 * include/grub/aout.h: Add BSD licence.
23730 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23731 * include/grub/i386/freebsd_linker.h: ... here,
23732 * include/grub/i386/freebsd_reboot.h: ... here,
23733 * include/grub/i386/netbsd_bootinfo.h: ... here,
23734 * include/grub/i386/netbsd_reboot.h: ... here,
23735 * include/grub/i386/openbsd_bootarg.h: ... here,
23736 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23737 licence to each file.
23738
b2cab848
RM
237392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 * acinclude.m4: Remove `nop' assembly instruction; it's not
23742 implemented by all architectures.
23743
2cb6be4b
RM
237442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23747 ELILO. This is no longer necessary.
23748
a2eaee15
BC
237492010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23750
23751 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23752
23753 * util/grub-script-check.c: grub-script-check tool.
23754 * conf/common.rmk: Make rules for grub-script-check.
23755
88d17012
RM
237562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23759 spotting it back in 2008. Shame on me for forgetting he did.
23760
23761 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23762
8040619d
RM
237632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23764
23765 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23766 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23767 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23768 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23769 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23770 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23771
a0c2a0f6
RM
237722010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23773
23774 * include/grub/test.h: Add license header.
23775 * tests/example_functional_test.c: Likewise.
23776 * tests/example_unit_test.c: Likewise.
23777 * tests/lib/functional_test.c: Likewise.
23778 * tests/lib/test.c: Likewise.
23779 * tests/lib/unit_test.c: Likewise.
23780
b0b13907
VS
237812010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Use flag-based instead of hook-based video mode selection and "auto"
23784 keyword.
23785
23786 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23787 (grub_video_set_mode): Changed prototype. All users updated.
23788 (grub_video_check_mode_flag): New inline function.
23789 * video/video.c (parse_modespec): New function.
23790 (grub_video_set_mode): Parse flags and keywords.
23791
ea379330 237922010-01-17 Carles Pina i Estany <carles@pina.cat>
23793
23794 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23795 fprintf call.
23796
e15c215e
FZ
237972010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23798
23799 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23800
409ae1c9 238012010-01-16 Carles Pina i Estany <carles@pina.cat>
23802
23803 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23804 string.
23805 * util/grub-emu.c (usage): Likewise.
23806 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23807 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23808 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23809 * util/i386/pc/grub-setup.c (usage): Likewise.
23810
70a14d3d 238112010-01-16 Carles Pina i Estany <carles@pina.cat>
23812
23813 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23814 the message.
23815 (grub_util_info): Likewise.
23816 (grub_util_error): Likewise.
23817 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23818 and/or new lines in `grub_util_warna', `grub_util_info',
23819 `grub_util_error' calls.
23820 * util/getroot.c: Likewise.
23821 * util/grub-editenv.c: Likewise.
23822 * util/grub-emu.c: Likewise.
23823 * util/grub-fstest.c: Likewise.
23824 * util/grub-mkdevicemap.c: Likewise.
23825 * util/grub-mkfont.c: Likewise.
23826 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23827 * util/grub-mkrelpath.c: Likewise.
23828 * util/grub-pe2elf.c: Likewise.
23829 * util/grub-probe.c: Likewise.
23830 * util/hostdisk.c: Likewise.
23831 * util/i386/efi/grub-mkimage.c: Likewise.
23832 * util/i386/pc/grub-mkimage.c: Likewise.
23833 * util/i386/pc/grub-setup.c: Likewise.
23834 * util/ieee1275/ofpath.c: Likewise.
23835 * util/mkisofs/eltorito.c: Likewise.
23836 * util/mkisofs/rock.c: Likewise.
23837 * util/mkisofs/write.c: Likewise.
23838 * util/raid.c: Likewise.
23839 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23840 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23841
a0b766fc
VS
238422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 Enable multiboot on non-pc.
23845
23846 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23847 multiboot.mod and multiboot2.mod to ...
23848 * conf/i386.rmk (pkglib_MODULES): ... here.
23849 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23850 Moved to ...
23851 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23852 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23853 Moved to ...
23854 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23855 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23856 Moved to ...
23857 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23858 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23859 Moved to ...
23860 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23861 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23862 relocator.mod.
23863 (ata_mod_SOURCES): Removed.
23864 (ata_mod_CFLAGS): Likewise.
23865 (ata_mod_LDFLAGS): Likewise.
23866 (relocator_mod_SOURCES): Removed.
23867 (relocator_mod_CFLAGS): Likewise.
23868 (relocator_mod_ASFLAGS): Likewise.
23869 (relocator_mod_LDFLAGS): Likewise.
23870 Include i386.mk.
23871 * include/grub/x86_64/multiboot.h: New file.
23872 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23873 Terminate EFI.
23874
884ade56
VS
238752010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23876
23877 Video multiboot support.
23878
23879 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23880 New prototype.
23881 * include/multiboot.h: Resynced with multiboot specification.
23882 * include/multiboot2.h: Likewise.
23883 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23884 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23885 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23886 (HAS_VGA_TEXT): Likewise.
23887 (accepts_video): New variable.
23888 (grub_multiboot_set_accepts_video): New function.
23889 (grub_multiboot_get_mbi_size): Account for video structures.
23890 (set_video_mode): New function.
23891 (retrieve_video_parameters): Likewise.
23892 (grub_multiboot_make_mbi): Fill video fields.
23893
0d90e8a6
VS
238942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 Video driver ids.
23897
23898 * include/grub/video.h (grub_video_driver_id): New type.
23899 (grub_video_adapter): New member 'id'. All users updated.
23900 (grub_video_get_driver_id): New proto.
23901 * video/video.c (grub_video_get_driver_id): New function.
23902
5c71db1b 239032010-01-14 Carles Pina i Estany <carles@pina.cat>
23904
23905 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23906 `var=val'.
23907
cca15b52 239082010-01-14 Carles Pina i Estany <carles@pina.cat>
23909
23910 * normal/cmdline.c (print_completion): Gettextizze.
23911
c586fbb2 239122001-01-14 Carles Pina i Estany <carles@pina.cat>
23913
23914 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23915
ba2f6848 239162010-01-14 Carles Pina i Estany <carles@pina.cat>
23917
23918 * gettext/gettext.c (grub_gettext_translate): Push and pop
23919 grub_errno.
23920 (grub_gettext_delete_list): Change comment style.
23921 * kern/err.c (grub_error): Gettextizze.
23922 (grub_fatal): Gettextizze.
23923
0a46429a
RM
239242010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23925
23926 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23927 (grub_linux16_real_boot): ... this.
23928 * kern/i386/loader.S: Likewise.
23929 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23930 (grub_linux16_boot): New function. Switches to text mode and calls
23931 grub_linux16_real_boot().
23932
23933 * loader/i386/bsd.c: Include `<grub/video.h>'.
23934 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23935 text mode before calling grub_unix_real_boot().
23936
23937 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23938 (grub_multiboot_boot): Switch to text mode before calling
23939 grub_relocator32_boot().
23940
23941 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23942 (grub_chainloader_boot): Switch to text mode before calling
23943 grub_chainloader_real_boot().
23944
d6f93a66
RM
239452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
239462010-01-05 Colin Watson <cjwatson@ubuntu.com>
23947
23948 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23949 non-empty value.
23950
239512010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
239522010-01-05 Colin Watson <cjwatson@ubuntu.com>
23953
23954 * util/grub.d/00_header.in: Define a "savedefault" function for use
23955 in menu entries.
23956 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23957
239582010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
239592010-01-05 Colin Watson <cjwatson@ubuntu.com>
23960
23961 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23962 saved_entry if boot_once is unset.
23963 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23964 previous saved entry (i.e. grub-reboot).
23965
239662009-12-08 Colin Watson <cjwatson@ubuntu.com>
23967
23968 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23969
239702009-12-08 Colin Watson <cjwatson@ubuntu.com>
23971
23972 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23973 `var=val'.
23974 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23975
239762009-12-08 Colin Watson <cjwatson@ubuntu.com>
23977
23978 * util/grub-reboot.in: Fix --version output.
23979 * util/grub-set-default.in: Likewise.
23980
239812009-12-08 Colin Watson <cjwatson@ubuntu.com>
23982
23983 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23984 blocks.
23985
239862009-12-08 Colin Watson <cjwatson@ubuntu.com>
23987
23988 * util/grub.d/00_header.in: Quote the value assigned to `default',
23989 in case it contains spaces.
23990
239912009-12-08 Colin Watson <cjwatson@ubuntu.com>
23992
23993 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23994 `save_default_entry' call from the macosx case to the linux case.
23995
239962009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
239972009-10-25 Colin Watson <cjwatson@ubuntu.com>
23998
23999 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24000 in `chosen' environment variable.
24001 * normal/menu_text.c (get_entry_number): Check if the variable
24002 matches the title of a menu entry.
24003 (run_menu): Pass menu to get_entry_number.
24004
24005 * util/grub-reboot.in: New file.
24006 * util/grub-set-default.in: New file.
24007 * conf/common.rmk (grub-reboot): New utility.
24008 (grub-set-default): New utility.
24009
24010 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24011 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24012 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24013 move it to `saved_entry' for the next boot. Load environment on
24014 initialisation.
24015 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24016 * util/grub.d/10_hurd.in: Likewise.
24017 * util/grub.d/10_linux.in (linux_entry): Likewise.
24018 * util/grub.d/10_windows.in: Likewise.
24019 * util/grub.d/30_os-prober.in: Likewise.
24020
24021 * util/grub-install.in: Create environment block.
24022 * util/i386/efi/grub-install.in: Likewise.
24023 * util/ieee1275/grub-install.in: Likewise.
24024 * util/sparc64/ieee1275/grub-install.in: Likewise.
24025
0934d184
BC
240262010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24027
24028 Unit testing framework for GRUB.
24029
24030 * Makefile.in: Test framework build rules for 'make check'.
24031 * conf/tests.rmk: Build rules for individual tests and framework.
24032
24033 * include/grub/test.h: Header file for whitebox tests.
24034 * tests/lib/functional_test.c: Framework support for whitebox
24035 functional tests.
24036 * tests/lib/test.c: Common whitebox testing code for unit and
24037 functional tests.
24038 * tests/lib/unit_test.c: Framework support for whitebox unit
24039 tests.
24040
24041 * tests/util/grub-shell-tester.in: Support utility for grub-script
24042 tests.
24043 * tests/util/grub-shell.in: Utility to execute grub-script
24044 commands in a Qemu instance.
24045
24046 * tests/example_functional_test.c: Example whitebox functional
24047 test.
24048 * tests/example_grub_script_test.in: Example grub-script test.
24049 * tests/example_scripted_test.in: Example scripted test.
24050 * tests/example_unit_test.c: Example whitebox unit test.
24051
9c4ffeeb
VS
240522010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24055 Add loader/i386/multiboot_mbi.c.
24056 (multiboot2_mod_SOURCES): Likewise.
24057 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24058 (multiboot2_mod_SOURCES): Likewise.
24059 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24060 (grub_multiboot_make_mbi): Likewise.
24061 (grub_multiboot_free_mbi): Likewise.
24062 (grub_multiboot_init_mbi): Likewise.
24063 (grub_multiboot_add_module): Likewise.
24064 (grub_multiboot_set_bootdev): Likewise.
24065 * loader/i386/multiboot.c (mbi): Removed.
24066 (mbi_dest): Likewise.
24067 (alloc_mbi): New variable.
24068 (grub_multiboot_payload_size): Removed. All users updated.
24069 (grub_multiboot_pure_size): New variable.
24070 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24071 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24072 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24073 (grub_fill_multiboot_mmap): Likewise.
24074 (grub_multiboot_get_bootdev): Likewise.
24075 (grub_multiboot): Use multiboot_mbi functions.
24076 * loader/i386/multiboot_mbi.c: New file.
24077
17383dfe
VS
240782010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24081 it would result in module crash.
24082
c1f28820
VS
240832010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24084
24085 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24086 (grub_ofconsole_getwh): Split to ...
24087 (grub_ofconsole_getwh): ... this.
24088 (grub_ofconsole_dimensions): ...and this.
24089 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24090
58655a16
RM
240912010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24092
24093 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24094
10891398
VS
240952010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 * loader/i386/pc/multiboot2.c: Removed stalled file.
24098
0b8a223c
VS
240992010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24100
24101 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24102 Reported by: Grégoire Sutre
24103
92ab12b0
RM
241042010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24105
24106 * util/misc.c (canonicalize_file_name): New function.
24107 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24108 instead of realpath().
24109
a788afb6
CW
241102010-01-11 Colin Watson <cjwatson@ubuntu.com>
24111
24112 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24113 and make it clearer that it's optional. Based on confusion
24114 witnessed on IRC.
24115
ffa8e3d2
VS
241162010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24117
24118 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24119 in premature implicit newline.
24120
e9060a9d
VS
241212010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24122
24123 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24124 which resulted in garbled command line at the end of screen.
24125
f0d0c0b7
RM
241262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24129 initialization with similar approach as with other Linux loaders.
24130
0e60bae7
RM
241312010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24132
24133 Fix i386-ieee1275 build.
24134
24135 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24136 and grub_term_height() for video_{width,height} initialization.
24137
241382010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
24139
24140 Fix grub-emu build.
24141
24142 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24143
cdb3f378
RM
241442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
241452010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24146
24147 Support for multiple terminals.
24148
24149 * Makefile.in (pkglib_DATA): terminal.lst.
24150 (terminal.lst): New target.
24151 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24152 (GRUB_MOD_INIT(handler)): Likewise.
24153 (GRUB_MOD_FINI(handler)): Likewise.
24154 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24155 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24156 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24157 (grub_cmd_sleep): Use grub_term_save_pos.
24158 * commands/terminal.c: New file.
24159 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24160 commands/terminal.c and lib/charset.c.
24161 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24162 (pkglib_MODULES): Add terminal.mod.
24163 (terminal_mod_SOURCES): New variable.
24164 (terminal_mod_CFLAGS): Likewise.
24165 (terminal_mod_LDFLAGS): Likewise.
24166 * genhandlerlist.sh: Don't handle terminals.
24167 * genmk.rb: Generate terminal-*.lst.
24168 * genterminallist.sh: New file.
24169 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24170 (grub_is_valid_utf8): Likewise.
24171 (grub_utf8_to_ucs4_alloc): Likewise.
24172 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24173 (grub_menu_register_viewer): Changed argument.
24174 (grub_menu_try_text): New proto.
24175 (grub_gfxmenu_try_hook): New declaration.
24176 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24177 (grub_menu_init_page): Additional argument term.
24178 (grub_normal_init_page): Likewise.
24179 (grub_cmdline_get): Arguments simplified.
24180 (grub_utf8_to_ucs4_alloc): Removed.
24181 (grub_print_ucs4): Additional argument term.
24182 (grub_getstringwidth): Likewise.
24183 (grub_print_message_indented): Likewise.
24184 (grub_menu_text_register_instances): New proto.
24185 (grub_show_menu): Likewise.
24186 (read_terminal_list): Likewise.
24187 (grub_set_more): Likewise.
24188 * include/grub/parser.h: Include handler.h.
24189 * include/grub/reader.h: Rewritten.
24190 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24191 (GRUB_TERM_WIDTH): Changed to function.
24192 (GRUB_TERM_HEIGHT): Likewise.
24193 (GRUB_TERM_BORDER_WIDTH): Likewise.
24194 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24195 (GRUB_TERM_NUM_ENTRIES): Likewise.
24196 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24197 (GRUB_TERM_CURSOR_X): Likewise.
24198 (grub_term_input_class): Likewise.
24199 (grub_term_output_class): Likewise.
24200 (grub_term_outputs_disabled): New declaration.
24201 (grub_term_inputs_disabled): Likewise.
24202 (grub_term_outputs): Likewise.
24203 (grub_term_inputs): Likewise.
24204 (grub_term_register_input): Rewritten.
24205 (grub_term_register_output): Likewise.
24206 (grub_term_unregister_input): Likewise.
24207 (grub_term_unregister_output): Likewise.
24208 (FOR_ACTIVE_TERM_INPUTS): New macro.
24209 (FOR_DISABLED_TERM_INPUTS): Likewise.
24210 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24211 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24212 * include/grub/terminfo.h: Add oterm argument to all protypes.
24213 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24214 Use grub_rescue_run.
24215 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24216 All users updated.
24217 * kern/reader.c: Removed. All users updated.
24218 * kern/rescue_reader.c (grub_rescue_init): Removed.
24219 (grub_rescue_reader): Likewise.
24220 (grub_register_rescue_reader): Likewise.
24221 (grub_rescue_run): New function based on kern/reader.c.
24222 * kern/term.c: Adapted for multiterm.
24223 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24224 (grub_is_valid_utf8): Likewise.
24225 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24226 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24227 right terminal.
24228 * loader/i386/linux.c (grub_linux_boot): Likewise.
24229 * normal/auth.c (grub_username_get): New function.
24230 (grub_auth_check_authentication): Use grub_username_get.
24231 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24232 * normal/color.c: Adapt for multiterm.
24233 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24234 (grub_normal_init_page): Additional argument term.
24235 (read_lists): Call read_terminal_lists.
24236 (grub_enter_normal_mode): Call grub_cmdline_run.
24237 Handle grub_normal_exit_level.
24238 (grub_cmd_normal): Make reentrant.
24239 (grub_cmd_normal_exit): New function.
24240 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24241 * normal/menu.c: Adapt for multiterm.
24242 * normal/menu_entry.c: Likewise.
24243 * normal/menu_text.c: Likewise.
24244 * normal/menu_viewer.c: Removed. All users updated.
24245 * normal/term.c: New file.
24246 * util/console.c: Change order of includes to workaround a bug in
24247 ncurses headers.
24248 * term/terminfo.c: New argument oterm on all exported functions.
24249 All users updated.
24250 * util/grub-editenv.c (grub_term_input_class): Removed.
24251 (grub_term_output_class): Likewise.
24252
1a064917
RM
242532010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24254
24255 Make loader output a bit more user-friendly.
24256
24257 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24258 is being loaded. Likewise for the Hurd.
24259
24260 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24261 that kernel of FreeBSD ${version} is being loaded.
24262
24263 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24264 grub_dprintf().
24265 (grub_cmd_initrd): Likewise.
24266 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24267 that Linux ${version} is being loaded. Likewise for initrd.
24268
5ce0a83a 242692010-01-09 Carles Pina i Estany <carles@pina.cat>
24270
24271 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24272
809bbfeb 242732010-01-08 Carles Pina i Estany <carles@pina.cat>
24274
24275 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24276 (GRUB_MOD_INIT): Gettextizze.
24277 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24278 (GRUB_MOD_INIT): Gettextizze.
24279 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24280 (grub_cmd_linux): Capitalise Linux.
24281 (GRUB_MOD_INIT): Gettextizze.
24282 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24283 (grub_cmd_linux): Capitalise Linux.
24284 (GRUB_MOD_INIT): Gettextizze.
24285 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24286 (grub_cmd_linux): Capitalise Linux.
24287 (GRUB_MOD_INIT): Gettextizze.
24288 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24289 (GRUB_MOD_INIT): Gettextizze.
24290 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24291 (grub_cmd_linux): Capitalise Linux.
24292 (GRUB_MOD_INIT): Gettextizze.
24293 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24294 (grub_cpu_xnu_init): Gettextizze.
24295 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24296 (GRUB_MOD_INIT): Gettextizze.
24297 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24298 (GRUB_MOD_INIT): Gettextizze.
24299 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24300 (grub_linux_load64): Capitalise Linux.
24301 (GRUB_MOD_INIT): Gettextizze.
24302 * loader/xnu.c: Include `<grub/i18n.h>'.
24303 (GRUB_MOD_INIT): Gettextizze.
24304 * po/POTFILES: Add `loader/efi/appleloader.c',
24305 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24306 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24307 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24308 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24309 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24310 and `loader/xnu.c'.
24311
b394b2ca
RM
243122010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24313
24314 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24315
243162010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
24317
24318 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24319 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24320 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24321
bc8b32b3
RM
243222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24323
24324 Reset Multiboot 2 support. New loader implements the draft in
24325 /branches/multiboot2 and shares as much code as possible with the
24326 production Multiboot 1 implementation.
24327
24328 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24329 * loader/multiboot2.c: Likewise.
24330 * loader/i386/multiboot_helper.S: Likewise.
24331 * include/multiboot2.h: Replace with latest version from the draft
24332 in /branches/multiboot2.
24333
24334 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24335 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24336 and `loader/multiboot2.c'.
24337 (pkglib_MODULES): Add `multiboot2.mod'.
24338 (multiboot2_mod_SOURCES): New variable.
24339 (multiboot2_mod_LDFLAGS): Likewise.
24340 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24341
24342 * conf/i386-pc.rmk: Likewise.
24343
24344 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24345 (multiboot_mod_SOURCES): Remove variable.
24346 (multiboot_mod_LDFLAGS): Likewise.
24347 (multiboot_mod_CFLAGS): Likewise.
24348
24349 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24350 `<multiboot2.h>' instead of `<multiboot.h>'.
24351 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24352 (MULTIBOOT_HEADER_MAGIC): New macros.
24353
24354 * loader/multiboot_loader.c (module_version_status): Remove variable.
24355 (find_multi_boot2_header): Remove function.
24356 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24357 logic. Always check for the Multiboot version we're compiling for.
24358 (grub_cmd_module_loader): Likewise.
24359 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24360 command instead of `multiboot'.
24361
5d2c52b8
RM
243622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24363
24364 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24365 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24366 all users.
24367
53108d92
RM
243682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
243692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24370
24371 Fix breakage introduced with previous commit.
24372
24373 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24374 commands.
24375 * normal/handler.c (read_handler_list): Revert part of previous commit
24376 affecting this file.
24377 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24378 (grub_normal_execute): ... here.
24379
e2e936b2
RM
243802010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24381
24382 Merge prefix-redefinition-fix branch.
24383
24384 * normal/autofs.c (read_fs_list): Make function capable of being
24385 run multiple times, gracefuly replacing the previous data
24386 structures.
24387 * normal/dyncmd.c (read_command_list): Likewise.
24388 * normal/handler.c (read_handler_list): Likewise.
24389 * normal/main.c (read_lists): New function. Calls all the
24390 list reading functions.
24391 (grub_normal_execute): Use read_lists() instead of calling all
24392 list reading functions explicitly. Register read_lists() as a
24393 variable hook attached to ${prefix}.
24394
607a3701
VS
243952010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24396
24397 Merge crypto branch.
24398
24399 * Makefile.in (pkglib_DATA): Add crypto.lst.
24400 (crypto.lst): New target.
24401 * commands/hashsum.c: New file.
24402 * commands/password.c (check_password): Use grub_crypto_memcmp.
24403 * commands/password_pbkdf2.c: New file.
24404 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24405 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24406 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24407 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24408 -I$(srcdir)/lib/libgcrypt_wrap.
24409 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24410 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24411 password_pbkdf2.mod.
24412 (crypto_mod_SOURCES): New variable.
24413 (crypto_mod_CFLAGS): Likewise.
24414 (crypto_mod_LDFLAGS): Likewise.
24415 (hashsum_mod_SOURCES): New variable.
24416 (hashsum_mod_CFLAGS): Likewise.
24417 (hashsum_mod_LDFLAGS): Likewise.
24418 (pbkdf2_mod_SOURCES): New variable.
24419 (pbkdf2_mod_CFLAGS): Likewise.
24420 (pbkdf2_mod_LDFLAGS): Likewise.
24421 (password_pbkdf2_mod_SOURCES): New variable.
24422 (password_pbkdf2_mod_CFLAGS): Likewise.
24423 (password_pbkdf2_mod_LDFLAGS): Likewise.
24424 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24425 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24426 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24427 Include conf/gcry.rmk.
24428 * include/grub/auth.h: Rewritten.
24429 * include/grub/crypto.h: New file.
24430 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24431 * include/grub/normal.h (read_crypto_list): New prototype.
24432 * lib/crypto.c: New file.
24433 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24434 * lib/pbkdf2.c: Likewise.
24435 * normal/auth.c (grub_auth_strcmp): Removed.
24436 (grub_iswordseparator): Likewise.
24437 (grub_auth_strword): Likewise.
24438 (is_authenticated): Use grub_strword.
24439 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24440 and grub_strword. Pass entered password to authentication callback.
24441 * normal/crypto.c: New file.
24442 * normal/main.c: Call read_crypto_list.
24443 * util/grub-mkpasswd-pbkdf2.c: New file.
24444 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24445
42841caa
VS
244462010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24447
24448 Fix descent and ascent calculation.
24449
24450 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24451 (options): New option "asce".
24452 (usage): Likewise.
24453 (add_char): Ignore invalid glyphs for descent calculation.
24454 Calculate ascent from actual content.
24455 (print_glyphs): Use 'asce'.
24456 (write_font): Likewise. Allow ascent override.
24457 (main): Handle "asce" option.
24458
e7730de7 244592010-01-06 Carles Pina i Estany <carles@pina.cat>
24460
24461 * kern/err.c: Include `<grub/i18n.h>'.
24462 (grub_print_error): Add full stop. Gettextizze.
24463 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24464 (grub_bsd_load_elf): Capitalise ELF.
24465 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24466 (grub_cmd_freebsd_module): Likewise.
24467 (grub_cmd_freebsd_module_elf): Likewise.
24468 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24469
40e3a41f 244702010-01-06 Carles Pina i Estany <carles@pina.cat>
24471
24472 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24473 * commands/search_file.c (HELP_MESSAGE): New macro.
24474 * commands/search_label.c (HELP_MESSAGE): Likewise.
24475 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24476 * po/POTFILES: Add `commands/search_file.c',
24477 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24478 `commands/search.c'.
24479
83507e68
RM
244802010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24481
24482 * config.rpath: Update from Gnulib.
24483
465c787b
YB
244842010-01-05 Yves Blusseau <blusseau@zetam.org>
24485
24486 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24487
6581dd3a
YB
244882010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24489
24490 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24491
3bff18c5
CW
244922010-01-05 Colin Watson <cjwatson@ubuntu.com>
24493
24494 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24495 arguments to fread so that we get a return value in bytes, rather
24496 than something that will normally be rounded down to 0.
24497 Adjust error handling to avoid producing garbage when size_t is not
24498 the same size as long long.
24499
a1368118
CW
245002010-01-05 Colin Watson <cjwatson@ubuntu.com>
24501
24502 * util/mkisofs/write.c (padblock_write): Check return value of
24503 fread.
24504
7c302978
RM
245052010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24506
24507 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24508 floppy images now.
24509
24510 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24511
e33ace06
RM
245122010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24513
24514 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24515 instead of manual alignment.
24516 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24517 verbose). Avoid attempts to read past end of the device
24518 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24519 but GRUB_DISK_CACHE_SIZE may exceed that).
24520
4b856776
RM
245212010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24522
24523 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24524 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24525 it to upper layer.
24526
52c2d97f
VS
245272010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24530 New constant.
24531 (grub_efi_piwg_device_path): New structure
24532 (grub_efi_piwg_device_path_t): New type.
24533 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24534 (devpath_1): Transform to a structure. All users updated.
24535 (devpath_2): Likewise.
24536 (devpath_3): Likewise.
24537 (devpath_4): Likewise.
24538 (devpath_5): Likewise.
24539
98ff6a54
VS
245402010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24541
24542 * loader/efi/appleloader.c: Restored. Update all users.
24543
3a73dcb6
RM
245442010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24547
24548 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24549 (struct boot_blocklist): Move from here ...
24550 * include/grub/i386/pc/boot.h [ASM_FILE]
24551 (struct grub_boot_blocklist): ... to here. Update all users.
24552 (setup): Only initialize `start' member of `first_block'
24553 structure. Add assert() calls to verify the other members.
24554
24555 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24556 (generate_image): Fix broken blocklist length initialization.
24557 Add assert() call to verify blocklist `segment' field.
24558
ab0eeb0c
RM
245592010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24560
24561 * loader/efi/appleloader.c: Remove. Update all users.
24562
58bc8bd5
RM
245632010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24564
24565 * boot/i386/pc/boot.S: Update copyright year.
24566 * boot/i386/pc/cdboot.S: Likewise.
24567 * boot/i386/pc/diskboot.S: Likewise.
24568 * boot/i386/pc/lnxboot.S: Likewise.
24569 * boot/i386/pc/pxeboot.S: Likewise.
24570 * bus/pci.c: Likewise.
24571 * commands/cmp.c: Likewise.
24572 * commands/help.c: Likewise.
24573 * commands/hexdump.c: Likewise.
24574 * commands/i386/pc/halt.c: Likewise.
24575 * commands/i386/pc/play.c: Likewise.
24576 * commands/i386/pc/vbeinfo.c: Likewise.
24577 * commands/ls.c: Likewise.
24578 * commands/test.c: Likewise.
24579 * disk/dmraid_nvidia.c: Likewise.
24580 * disk/i386/pc/biosdisk.c: Likewise.
24581 * disk/ieee1275/nand.c: Likewise.
24582 * disk/ieee1275/ofdisk.c: Likewise.
24583 * disk/lvm.c: Likewise.
24584 * disk/raid.c: Likewise.
24585 * disk/raid6_recover.c: Likewise.
24586 * disk/scsi.c: Likewise.
24587 * fs/affs.c: Likewise.
24588 * fs/cpio.c: Likewise.
24589 * fs/ext2.c: Likewise.
24590 * fs/hfs.c: Likewise.
24591 * fs/iso9660.c: Likewise.
24592 * fs/ntfs.c: Likewise.
24593 * fs/sfs.c: Likewise.
24594 * fs/udf.c: Likewise.
24595 * fs/ufs.c: Likewise.
24596 * fs/xfs.c: Likewise.
24597 * gencmdlist.sh: Likewise.
24598 * genmk.rb: Likewise.
24599 * include/grub/disk.h: Likewise.
24600 * include/grub/efi/api.h: Likewise.
24601 * include/grub/efi/efi.h: Likewise.
24602 * include/grub/efi/pe32.h: Likewise.
24603 * include/grub/elf.h: Likewise.
24604 * include/grub/fs.h: Likewise.
24605 * include/grub/i386/at_keyboard.h: Likewise.
24606 * include/grub/i386/pc/memory.h: Likewise.
24607 * include/grub/i386/pc/vbe.h: Likewise.
24608 * include/grub/i386/pci.h: Likewise.
24609 * include/grub/i386/tsc.h: Likewise.
24610 * include/grub/ieee1275/ieee1275.h: Likewise.
24611 * include/grub/ntfs.h: Likewise.
24612 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24613 * include/grub/sparc64/libgcc.h: Likewise.
24614 * include/grub/symbol.h: Likewise.
24615 * include/grub/types.h: Likewise.
24616 * include/multiboot2.h: Likewise.
24617 * io/gzio.c: Likewise.
24618 * kern/device.c: Likewise.
24619 * kern/disk.c: Likewise.
24620 * kern/efi/efi.c: Likewise.
24621 * kern/efi/mm.c: Likewise.
24622 * kern/elf.c: Likewise.
24623 * kern/file.c: Likewise.
24624 * kern/i386/dl.c: Likewise.
24625 * kern/i386/pc/init.c: Likewise.
24626 * kern/i386/pc/startup.S: Likewise.
24627 * kern/ieee1275/ieee1275.c: Likewise.
24628 * kern/ieee1275/init.c: Likewise.
24629 * kern/main.c: Likewise.
24630 * kern/mm.c: Likewise.
24631 * kern/powerpc/dl.c: Likewise.
24632 * kern/sparc64/dl.c: Likewise.
24633 * kern/x86_64/dl.c: Likewise.
24634 * lib/hexdump.c: Likewise.
24635 * loader/efi/appleloader.c: Likewise.
24636 * loader/i386/ieee1275/linux.c: Likewise.
24637 * loader/i386/pc/chainloader.c: Likewise.
24638 * loader/i386/pc/linux.c: Likewise.
24639 * loader/i386/pc/multiboot2.c: Likewise.
24640 * loader/ieee1275/multiboot2.c: Likewise.
24641 * loader/multiboot2.c: Likewise.
24642 * loader/multiboot_loader.c: Likewise.
24643 * loader/powerpc/ieee1275/linux.c: Likewise.
24644 * normal/completion.c: Likewise.
24645 * normal/menu_entry.c: Likewise.
24646 * partmap/apple.c: Likewise.
24647 * util/grub.d/10_hurd.in: Likewise.
24648 * util/hostfs.c: Likewise.
24649 * video/readers/png.c: Likewise.
24650
e2d70b5c
CW
246512010-01-03 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * include/grub/misc.h (GNUC_PREREQ): New macro.
24654 (ATTRIBUTE_ERROR): New macro.
24655 * include/grub/list.h (grub_bad_type_cast_real): Use
24656 ATTRIBUTE_ERROR.
24657
a173283f 246582010-01-03 Carles Pina i Estany <carles@pina.cat>
24659
24660 * normal/menu_text.c (print_message): Change messages.
24661
7fa7ff74 246622010-01-03 Carles Pina i Estany <carles@pina.cat>
24663
24664 * normal/menu_entry.c (store_completion): Gettextizze.
24665
136d24f6 246662010-01-03 Carles Pina i Estany <carles@pina.cat>
24667
24668 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24669
f936862e 246702010-01-03 Carles Pina i Estany <carles@pina.cat>
24671
24672 * po/POTFILES: Sort correctly.
24673
29c44ad1 246742010-01-03 Carles Pina i Estany <carles@pina.cat>
24675
24676 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24677 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24678 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24679 full stop.
24680 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24681 summary. Gettextizze the strings.
24682 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24683 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24684 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24685 full stop.
24686 (GRUB_MOD_INIT): Remove command name from summary.
24687 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24688 summary.
24689 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24690 * term/i386/pc/serial.c (options): Add full stops.
24691 (GRUB_MOD_INIT): Remove command name from the summary.
24692
77a79592 246932010-01-03 Carles Pina i Estany <carles@pina.cat>
24694
24695 * commands/acpi.c: Gettextizze help strings and/or options. Include
24696 `grub/i18n.h' if needed.
24697 * commands/blocklist.c: Likewise.
24698 * commands/boot.c: Likewise.
24699 * commands/cat.c: Likewise.
24700 * commands/cmp.c: Likewise.
24701 * commands/configfile.c: Likewise.
24702 * commands/crc.c: Likewise.
24703 * commands/date.c: Likewise.
24704 * commands/echo.c: Likewise.
24705 * commands/efi/fixvideo.c: Likewise.
24706 * commands/efi/loadbios.c: Likewise.
24707 * commands/gptsync.c: Likewise.
24708 * commands/halt.c: Likewise.
24709 * commands/handler.c: Likewise.
24710 * commands/hdparm.c: Likewise.
24711 * commands/hexdump.c: Likewise.
24712 * commands/i386/cpuid.c: Likewise.
24713 * commands/i386/pc/drivemap.c: Likewise.
24714 * commands/i386/pc/halt.c: Likewise.
24715 * commands/i386/pc/pxecmd.c: Likewise.
24716 * commands/i386/pc/vbeinfo.c: Likewise.
24717 * commands/i386/pc/vbetest.c: Likewise.
24718 * commands/ieee1275/suspend.c: Likewise.
24719 * commands/keystatus.c: Likewise.
24720 * commands/loadenv.c: Likewise.
24721 * commands/ls.c: Likewise.
24722 * commands/lsmmap.c: Likewise.
24723 * commands/lspci.c: Likewise.
24724 * commands/memrw.c: Likewise.
24725 * commands/minicmd.c: Likewise.
24726 * commands/parttool.c: Likewise.
24727 * commands/password.c: Likewise.
24728 * commands/probe.c: Likewise.
24729 * commands/read.c: Likewise.
24730 * commands/reboot.c: Likewise.
24731 * commands/search.c: Likewise.
24732 * commands/sleep.c: Likewise.
24733 * commands/test.c: Likewise.
24734 * commands/true.c: Likewise.
24735 * commands/usbtest.c: Likewise.
24736 * commands/videotest.c: Likewise.
24737 * commands/xnu_uuid.c: Likewise.
24738 * disk/loopback.c: Likewise.
24739 * hello/hello.c: Likewise.
24740 * loader/i386/bsd.c: Likewise.
24741 * term/i386/pc/serial.c: Likewise.
24742 * po/POTFILES: Add new files.
24743
da8d5c53
CW
247442010-01-02 Colin Watson <cjwatson@ubuntu.com>
24745
24746 * term/i386/pc/at_keyboard.c
24747 (keyboard_controller_wait_untill_ready): Rename to ...
24748 (keyboard_controller_wait_until_ready): ... this. Update all users.
24749
33937904 247502010-01-01 Carles Pina i Estany <carles@pina.cat>
24751
24752 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24753 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24754 string using string width.
24755 * normal/menu_text.c (grub_print_message_indented): Use
24756 grub_print_spaces and not print_spaces.
24757 (print_timeout): Likewise.
24758 (print_spaces): Move to...
24759 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24760
3fd3b8d8
RM
247612010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24762
24763 Import from Gnulib.
24764
24765 * gnulib/getdelim.c: New file.
24766 * gnulib/getline.c: Likewise.
24767
33433555
VS
247682009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24769
24770 * include/grub/list.h (grub_assert_fail): Removed.
24771 (grub_bad_type_cast_real): New function.
24772 (grub_bad_type_cast): New macro.
24773 (GRUB_AS_LIST): Use grub_bad_type_cast.
24774 (GRUB_AS_LIST_P): Likewise.
e44721e8 24775 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24776 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24777 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24778 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24779 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24780
f5a51306
VS
247812009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24784 Fix syntax error.
24785
90d1e879
RM
247862009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24787
24788 * configure.ac: Check for TARGET_CFLAGS initialization before we
24789 initialize it ourselves (sigh).
24790 Move a few modifications to TARGET_CFLAGS to be unconditional
24791 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24792 eh_frame)
24793
24794 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24795 * term/i386/pc/at_keyboard.c
24796 (keyboard_controller_wait_untill_ready): Likewise.
24797 (keyboard_controller_led): Rename `led_status' paramter to avoid
24798 name conflict.
24799
465b5a81 248002009-12-28 Carles Pina i Estany <carles@pina.cat>
24801
24802 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24803 quotes.
24804
c181849b
VS
248052009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24806
24807 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24808
9c8739a4
VS
248092009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 * normal/menu_text.c (grub_print_message_indented): Prevent
24812 past-the-end-of-array dereference.
24813
3e74249c
VS
248142009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24817 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24818
64fd18ed 248192009-12-27 Carles Pina i Estany <carles@pina.cat>
24820
24821 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24822 * normal/main.c (grub_normal_read_line): Remove a space from the
24823 default prompt.
24824
714af9b9 248252009-12-27 Carles Pina i Estany <carles@pina.cat>
24826
24827 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24828 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24829 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24830 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24831 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24832 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24833 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24834
82f3e412 248352009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24836
24837 * video/readers/jpeg.c (cmd): Declare.
24838 (grub_cmd_jpegtest): Use `grub_command_t' type.
24839 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24840 Assign to `cmd'.
24841 (GRUB_MOD_FINI): Use `cmd' to unregister.
24842 * video/readers/png.c (cmd): Declare.
24843 (grub_cmd_pngtest): Use `grub_command_t' type.
24844 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24845 Assign to `cmd'.
24846 (GRUB_MOD_FINI): Use `cmd' to unregister.
24847 * video/readers/tga.c (cmd): Declare.
24848 (grub_cmd_tgatest): Use `grub_command_t' type.
24849 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24850 Assign to `cmd'.
24851 (GRUB_MOD_FINI): Use `cmd' to unregister.
24852
82f3e412 248532009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24854
24855 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24856 stops.
24857 * kern/corecmd.c (grub_register_core_commands): Likewise.
24858 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24859 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24860 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24861 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24862 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24863 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24864 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24865 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24866 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24867 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24868 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24869 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24870 * normal/handler.c (insert_handler): Likewise.
24871 * normal/main.c (GRUB_MOD_INIT): Likewise.
24872 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24873
fdcdbb66 248742009-12-26 Carles Pina i Estany <carles@pina.cat>
24875
24876 * commands/help.c (grub_cmd_help): Print the command name before the
24877 summary.
24878 (GRUB_MOD_INIT): Remove command name from the summary.
24879 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24880 string as summary.
fdcdbb66 24881 * lib/arg.c (find_long): Print the command name before the summary.
24882 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24883 summary.
24884 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24885 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24886 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24887 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24888 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24889 * commands/date.c (GRUB_MOD_INIT): Likewise.
24890 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24891 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24892 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24893 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24894 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24895 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24896 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24897 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24898 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24899 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24900 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24901 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24902 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24903 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24904 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24905 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24906 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24907 * commands/password.c (GRUB_MOD_INIT): Likewise.
24908 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24909 * commands/read.c (GRUB_MOD_INIT): Likewise.
24910 * commands/search.c (GRUB_MOD_INIT): Likewise.
24911 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24912 * commands/test.c (GRUB_MOD_INIT): Likewise.
24913 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24914 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24915 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24916 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24917 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24918 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24919 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24920 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24921 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24922 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24923 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24924 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24925 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24926 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24927
9c288be2
VS
249282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24929
24930 Use search command for preliminar UUID search.
24931
24932 * commands/search.c: Split into ...
24933 * commands/search_wrap.c: ...this
24934 * commands/search.c: ...and this.
24935 * commands/search_file.c: New file.
24936 * commands/search_label.c: New file.
24937 * commands/search_uuid.c: New file.
24938 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24939 Add commands/search_wrap.c, commands/search_file.c,
24940 commands/search_label.c and commands/search_uuid.c.
24941 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24942 (search_mod_SOURCES): Set to commands/search_wrap.c.
24943 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24944 search_label.mod.
24945 (search_fs_file_mod_SOURCES): New variable.
24946 (search_fs_file_mod_CFLAGS): Likewise.
24947 (search_fs_file_mod_LDFLAGS): Likewise.
24948 (search_label_mod_SOURCES): Likewise.
24949 (search_label_mod_CFLAGS): Likewise.
24950 (search_label_mod_LDFLAGS): Likewise.
24951 (search_fs_uuid_mod_SOURCES): New variable.
24952 (search_fs_uuid_mod_CFLAGS): Likewise.
24953 (search_fs_uuid_mod_LDFLAGS): Likewise.
24954 (fs_file_mod_SOURCES): Removed.
24955 (fs_file_mod_CFLAGS): Likewise.
24956 (fs_file_mod_LDFLAGS): Likewise.
24957 (fs_uuid_mod_SOURCES): Removed.
24958 (fs_uuid_mod_CFLAGS): Likewise.
24959 (fs_uuid_mod_LDFLAGS): Likewise.
24960 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24961 Set to util/grub-install.in.
24962 * disk/fs_file.c: Removed.
24963 * disk/fs_uuid.c: Likewise.
24964 * include/grub/search.h: New file.
24965 * util/grub-install.in: Handle sparc64.
24966 Create and use load.cfg.
24967 * util/sparc64/ieee1275/grub-install.in: Removed.
24968
db943399
VS
249692009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24970
24971 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24972 Ignore return status if CF is cleared.
24973 (grub_biosdisk_get_diskinfo_standard): Likewise.
24974
3fdae612
RM
249752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24976
24977 * term/i386/pc/at_keyboard.c
24978 (keyboard_controller_wait_untill_ready): New function.
24979 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24980 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24981 for keyboard polling, rather than duplicate the same loop. This
24982 saves a few bytes in code size.
24983
7ebaa2b4
VS
249842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 Support for (pxe[:server[:gateway]]) syntax and
24987 use environment variable for PXE.
24988
24989 * commands/i386/pc/pxecmd.c (options): Removed.
24990 (print_ip): Removed.
24991 (grub_cmd_pxe): Removed
24992 (grub_cmd_pxe_unload): New function.
24993 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24994 (grub_pxe_your_ip): Made static.
24995 (grub_pxe_default_server_ip): Likewise.
24996 (grub_pxe_default_gateway_ip): Likewise.
24997 (grub_pxe_blksize): Likewise.
24998 (parse_ip): New function.
24999 (grub_pxe_open): Support server and gateway specification.
25000 (grub_pxe_close): Free disk->data.
25001 (grub_pxefs_open): Use disk->data.
25002 (grub_pxefs_read): Likewise.
25003 (grub_env_write_readonly): New function.
25004 (set_mac_env): Likewise.
25005 (set_env_limn_ro): Likewise.
25006 (parse_dhcp_vendor): Likewise.
25007 (grub_pxe_detect): Set the environment variables.
25008 (set_ip_env): New function.
25009 (write_ip_env): Likewise.
25010 (grub_env_write_pxe_default_server): Likewise.
25011 (grub_env_write_pxe_default_gateway): Likewise.
25012 (grub_env_write_pxe_blocksize): Likewise.
25013 (GRUB_MOD_INIT(pxe)): Set environment variables.
25014 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25015 (grub_pxe_mac_addr_t): ... this. All users updated.
25016 (grub_pxe_your_ip): Removed.
25017 (grub_pxe_server_ip): Likewise.
25018 (grub_pxe_gateway_ip): Likewise.
25019 (grub_pxe_blksize): Likewise.
25020
ec5f98ab 250212009-12-25 Carles Pina i Estany <carles@pina.cat>
25022
25023 * commands/help.c: Include `<grub/i18n.h>'.
25024 (grub_cmd_help): Gettextizze.
25025 (GRUB_MOD_INIT): Likewise.
25026 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25027 (GRUB_MOD_INIT): Gettextizze.
25028 * commands/search.c: Include `<grub/i18n.h>'.
25029 (options): Gettextizze.
25030 (GRUB_MOD_INIT): Gettextizze.
25031 * lib/arg.c: Include `<grub/i18n.h>'.
25032 (help_options): Gettextizze.
25033 (find_long): Likewise.
25034 (grub_arg_show_help): Likewise.
25035 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25036 (read_command_list): Gettextizze.
25037 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 25038 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 25039
22815526
RM
250402009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25041
25042 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25043 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25044 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25045 (led_status): New variable.
25046 (keyboard_controller_led): New function.
25047 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25048 update led status for caps lock, num lock and scroll lock.
25049
0ad46fd7
FZ
250502009-12-25 Felix Zielcke <fzielcke@z-51.de>
25051
25052 * util/hostdisk.c (open_device): Fix a comment.
25053
d0e158c2
RM
250542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25055
25056 * util/grub-install.in (host_os): New variable.
25057 * util/i386/efi/grub-install.in (host_os): Likewise.
25058
401c0ad6
RM
250592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25060
25061 * util/mkisofs/write.c (padblock_write): Abort when given an
25062 excedingly large embed image, instead of silently truncating it.
25063
d14d3370
RM
250642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25065
25066 * include/multiboot.h: Indentation fixes.
25067
eeed10b4
RM
250682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25069
25070 * include/multiboot.h (struct multiboot_aout_symbol_table)
25071 (struct multiboot_elf_section_header_table): New structure
25072 declarations (stolen from GRUB Legacy).
25073 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25074 table information.
25075
25076 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25077 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25078 type aliases.
25079
681c70ab
RM
250802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25081
25082 * include/multiboot.h: Make comments src2texi-friendly.
25083
e4d47d8d
RM
250842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25085
25086 For consistency with [multiboot]/docs/boot.S.
25087
25088 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25089 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25090 (MULTIBOOT_MAGIC2): Rename from this ...
25091 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25092
a0b70bda
RM
250932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25094
25095 * include/multiboot.h: Remove `<grub/types.h>'.
25096 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25097 types. Update all users.
25098
61ba42be 250992009-12-25 Carles Pina i Estany <carles@pina.cat>
25100
25101 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25102 `couldn't' and `can not' by `cannot'.
25103 * commands/i386/pc/drivemap.c: Likewise.
25104 * disk/ata.c: Likewise.
25105 * disk/ieee1275/nand.c: Likewise.
25106 * fs/affs.c: Likewise.
25107 * fs/fat.c: Likewise.
25108 * fs/hfs.c: Likewise.
25109 * fs/hfsplus.c: Likewise.
25110 * fs/iso9660.c: Likewise.
25111 * fs/jfs.c: Likewise.
25112 * fs/minix.c: Likewise.
25113 * fs/reiserfs.c: Likewise.
25114 * fs/sfs.c: Likewise.
25115 * fs/udf.c: Likewise.
25116 * fs/ufs.c: Likewise.
25117 * fs/xfs.c: Likewise.
25118 * loader/powerpc/ieee1275/linux.c: Likewise.
25119 * loader/sparc64/ieee1275/linux.c: Likewise.
25120 * util/grub-probe.c: Likewise.
25121 * util/misc.c: Likewise.
25122
7fd0baee 251232009-12-24 Carles Pina i Estany <carles@pina.cat>
25124
25125 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25126 grub_errno calls.
25127 * commands/acpi.c: Likewise.
25128 * commands/blocklist.c: Likewise.
25129 * commands/efi/loadbios.c: Likewise.
25130 * commands/i386/pc/drivemap.c: Likewise.
25131 * commands/loadenv.c: Likewise.
25132 * commands/memrw.c: Likewise.
25133 * commands/password.c: Likewise.
25134 * commands/videotest.c: Likewise.
25135 * disk/ata.c: Likewise.
25136 * disk/ata_pthru.c: Likewise.
25137 * disk/dmraid_nvidia.c: Likewise.
25138 * disk/ieee1275/nand.c: Likewise.
25139 * disk/ieee1275/ofdisk.c: Likewise.
25140 * disk/loopback.c: Likewise.
25141 * disk/lvm.c: Likewise.
25142 * disk/mdraid_linux.c: Likewise.
25143 * disk/raid.c: Likewise.
25144 * disk/raid6_recover.c: Likewise.
25145 * disk/scsi.c: Likewise.
25146 * efiemu/main.c: Likewise.
25147 * efiemu/mm.c: Likewise.
25148 * efiemu/pnvram.c: Likewise.
25149 * efiemu/symbols.c: Likewise.
25150 * font/font.c: Likewise.
25151 * fs/cpio.c: Likewise.
25152 * fs/hfsplus.c: Likewise.
25153 * fs/iso9660.c: Likewise.
25154 * fs/jfs.c: Likewise.
25155 * fs/minix.c: Likewise.
25156 * fs/ntfs.c: Likewise.
25157 * fs/ntfscomp.c: Likewise.
25158 * fs/reiserfs.c: Likewise.
25159 * fs/ufs.c: Likewise.
25160 * fs/xfs.c: Likewise.
25161 * gettext/gettext.c: Likewise.
25162 * include/grub/auth.h: Likewise.
25163 * kern/elf.c: Likewise.
25164 * kern/file.c: Likewise.
25165 * kern/ieee1275/init.c: Likewise.
25166 * kern/ieee1275/mmap.c: Likewise.
25167 * kern/ieee1275/openfw.c: Likewise.
25168 * kern/powerpc/dl.c: Likewise.
25169 * kern/sparc64/dl.c: Likewise.
25170 * lib/arg.c: Likewise.
25171 * loader/i386/bsd.c: Likewise.
25172 * loader/i386/bsdXX.c: Likewise.
25173 * loader/i386/efi/linux.c: Likewise.
25174 * loader/i386/efi/xnu.c: Likewise.
25175 * loader/i386/ieee1275/linux.c: Likewise.
25176 * loader/i386/linux.c: Likewise.
25177 * loader/i386/multiboot.c: Likewise.
25178 * loader/i386/pc/linux.c: Likewise.
25179 * loader/i386/pc/multiboot2.c: Likewise.
25180 * loader/i386/xnu.c: Likewise.
25181 * loader/ieee1275/multiboot2.c: Likewise.
25182 * loader/macho.c: Likewise.
25183 * loader/machoXX.c: Likewise.
25184 * loader/multiboot2.c: Likewise.
25185 * loader/multiboot_loader.c: Likewise.
25186 * loader/powerpc/ieee1275/linux.c: Likewise.
25187 * loader/sparc64/ieee1275/linux.c: Likewise.
25188 * loader/xnu.c: Likewise.
25189 * loader/xnu_resume.c: Likewise.
25190 * mmap/i386/pc/mmap.c: Likewise.
25191 * normal/menu_viewer.c: Likewise.
25192 * partmap/acorn.c: Likewise.
25193 * partmap/amiga.c: Likewise.
25194 * partmap/apple.c: Likewise.
25195 * script/lexer.c: Likewise.
25196 * term/gfxterm.c: Likewise.
25197 * term/i386/pc/serial.c: Likewise.
25198 * term/i386/pc/vga.c: Likewise.
25199 * term/ieee1275/ofconsole.c: Likewise.
25200 * term/terminfo.c: Likewise.
25201 * video/bitmap.c: Likewise.
25202 * video/efi_gop.c: Likewise.
25203 * video/efi_uga.c: Likewise.
25204 * video/fb/video_fb.c: Likewise.
25205 * video/i386/pc/vbe.c: Likewise.
25206 * video/readers/tga.c: Likewise.
25207 * video/video.c: Likewise.
25208
0ad46fd7 252092009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
25210
25211 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25212 * commands/lspci.c: Likewise.
25213 * commands/probe.c: Likewise.
25214 * commands/xnu_uuid.c: Likewise.
25215 * conf/i386-coreboot.rmk: Likewise.
25216 * conf/i386-efi.rmk: Likewise.
25217 * conf/i386-ieee1275.rmk: Likewise.
25218 * conf/i386-pc.rmk: Likewise.
25219 * conf/powerpc-ieee1275.rmk: Likewise.
25220 * conf/sparc64-ieee1275.rmk: Likewise.
25221 * conf/x86_64-efi.rmk: Likewise.
25222 * fs/i386/pc/pxe.c: Likewise.
25223 * gettext/gettext.c: Likewise.
25224 * include/grub/efi/graphics_output.h: Likewise.
25225 * include/grub/i386/pc/memory.h: Likewise.
25226 * kern/env.c: Likewise.
25227 * kern/i386/qemu/startup.S: Likewise.
25228 * lib/i386/pc/biosnum.c: Likewise.
25229 * lib/i386/relocator.c: Likewise.
25230 * lib/i386/relocator_asm.S: Likewise.
25231 * lib/relocator.c: Likewise.
25232 * loader/i386/bsd.c: Likewise.
25233 * loader/i386/multiboot.c: Likewise.
25234 * loader/i386/pc/chainloader.c: Likewise.
25235 * loader/i386/xnu.c: Likewise.
25236 * loader/xnu.c: Likewise.
25237 * normal/main.c: Likewise.
25238 * normal/menu_text.c: Likewise.
25239 * util/getroot.c: Likewise.
25240 * util/grub-mkconfig_lib.in: Likewise.
25241 * util/grub.d/00_header.in: Likewise.
25242 * util/i386/pc/grub-mkimage.c: Likewise.
25243 * util/mkisofs/eltorito.c: Likewise.
25244 * util/mkisofs/exclude.h: Likewise.
25245 * util/mkisofs/hash.c: Likewise.
25246 * util/mkisofs/iso9660.h: Likewise.
25247 * util/mkisofs/joliet.c: Likewise.
25248 * util/mkisofs/mkisofs.c: Likewise.
25249 * util/mkisofs/mkisofs.h: Likewise.
25250 * util/mkisofs/multi.c: Likewise.
25251 * util/mkisofs/name.c: Likewise.
25252 * util/mkisofs/rock.c: Likewise.
25253 * util/mkisofs/tree.c: Likewise.
25254 * util/mkisofs/write.c: Likewise.
25255 * video/efi_gop.c: Likewise.
25256
009ec743
VS
252572009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25258
25259 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25260 size counting.
25261
0ad46fd7 252622009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
25263
25264 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25265 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25266
d3d30ea0
VS
252672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25268
25269 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25270 (GRUB_MOD_INIT(memrw)): Update help line.
25271
a34f5c70
VS
252722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25273
25274 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25275 Use grub_extcmd_t. All users updated.
25276 (options): New variable.
25277 (grub_cmd_read): Restructure for readability. Support "-v" option.
25278 (grub_cmd_write): Restructure for readability.
25279
0ad46fd7 252802009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
25281
25282 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25283
0ad46fd7 252842009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
25285
25286 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25287 with the actual contents of the correspondending make variable.
25288 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25289 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25290 specifying `*.lst' and `efiemu??.o'
25291
0ad46fd7 252922009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
25293
25294 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25295 after function name.
25296 Noticed by Rene Engelhard <rene@debian.org>.
25297
dc77a799
VS
252982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25299
25300 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25301 (options): New variable.
25302 (iospace): Likewise.
25303 (grub_lspci_iter): List IO spaces if "-i" was given.
25304 (grub_cmd_lspci): Parse options.
25305 (GRUB_MOD_INIT(lspci)): Use extcmd.
25306 (GRUB_MOD_FINI(lspci)): Likewise.
25307
0ad46fd7 253082009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
25309
25310 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25311 `function' keyword.
25312 Patch by Tony Mancill <tmancill@debian.org>.
25313
b5d5993b
VS
253142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25317 (grub_uhci_portstatus): Likewise.
25318 (grub_uhci_portstatus): Add necessary delay.
11d18281 25319 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 25320
941903f2 253212009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 25322
941903f2 25323 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25324 (GRUB_MOD_INIT): Likewise.
25325 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 25326 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25327 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 25328 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25329 (enable_rom_area): Likewise.
25330 (GRUB_MOD_INIT): Likewise.
25331 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25332 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25333 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25334 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25335 * commands/hexdump.c (options): Likewise.
25336 * commands/i386/cpuid.c (options): Likewise.
25337 (GRUB_MOD_INIT): Likewise.
25338 * commands/i386/pc/drivemap.c (options): Likewise.
25339 (GRUB_MOD_INIT): Likewise.
25340 * commands/i386/pc/halt (options): Likewise.
25341 (GRUB_MOD_INIT): Likewise.
25342 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25343 * commands/i386/pc/pxecmd.c (options): Likewise.
25344 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25345 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25346 * commands/keystatus.c (options): Likewise.
25347 (GRUB_MOD_INIT): Likewise.
25348 * commands/loadenv.c (options): Likewise.
25349 * commands/ls.c (options): Likewise.
25350 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25351 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25352 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25353 * commands/parttool.c (helpmsg): Likewise.
25354 * commands/probe.c (options): Likewise.
25355 * commands/read.c (GRUB_MOD_INIT): Likewise.
25356 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25357 * commands/search.c (options): Likewise.
25358 * commands/sleep.c (options): Likewise.
25359 * commands/test.c (GRUB_MOD_INIT): Likewise.
25360 * commands/true.c (GRUB_MOD_INIT): Likewise.
25361 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25362 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25363 * lib/arg.c (help_options): Likewise.
e9bbb4e7 25364 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25365 `$(XGETTEXT)'.
98a50553 25366 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 25367
0ad46fd7 253682009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 25369
ef3c2c3a 25370 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
25371 instead of specifying them explicit.
25372
7922f68b
RM
253732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25374
25375 * NEWS: Add grub-probe support for GNU/Hurd.
25376
537ce47f
RM
253772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25378
25379 * NEWS: gettext was added after 1.97.
25380
9b214e3a
RM
253812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25382
25383 * util/mkisofs/msdos_partition.h: New file (based on
25384 include/grub/msdos_partition.h).
25385 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25386 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25387 (ld_options, main): Recognize --protective-msdos-label.
25388 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25389 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25390 (padblock_write): If `use_protective_msdos_label' is set, patch a
25391 protective DOS-style label in the output image.
25392
25393 * util/grub-mkrescue.in: Use --protective-msdos-label.
25394
e9309813
RM
253952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25396
25397 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25398 boot.
25399
0ae56929
RM
254002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25401
25402 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25403 variables.
25404 (ld_options, main): Recognize `--embedded-boot'.
25405 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25406 declarations.
25407 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25408 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25409 (padblock_write): Likewise. Rewrite to support embedded boot image.
25410
25411 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25412 for BIOS-based disk boot instead of only ElTorito.
25413
b15937b1
RM
254142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25415
25416 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25417 build (not needed for bootstrap).
25418
52cc3ce0
RM
254192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25420
25421 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25422 from i386-pc build (not needed for bootstrap).
25423 Rewrite a pair of strings.
25424
36f5ff04
RM
254252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25426
25427 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25428
973c6c85 254292009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25430
25431 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25432
05d21547
AB
254332009-12-21 Andreas Born <futur.andy@googlemail.com>
25434
25435 * kern/env.c (grub_env_context_open): Mark exported variable for
25436 reexport.
25437
0175d51f
AB
254382009-12-21 Andreas Born <futur.andy@googlemail.com>
25439
25440 * kern/env.c (grub_env_export): Create nonexistent variables before
25441 exporting.
25442
7f39d92f 254432009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25444
7f39d92f 25445 * include/grub/auth.h: Include `<grub/i18n.h>'.
25446 (GRUB_GET_PASSWORD): Gettextizze string.
25447 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25448 menu_text.c.
25449 (grub_utf8_to_ucs4_alloc): Fix indentation.
25450 (grub_print_ucs4): Likewise.
25451 (grub_getstringwidth): Likewise.
25452 (print_message_indented): New declaration.
25453 * normal/auth.c: Include `<grub/i18n.h>'.
25454 (grub_auth_check_authentication): Gettexttize string.
25455 * normal/cmdline.c: Include `<grub/i18n.h>'.
25456 (grub_cmdline_get): Gettextizze.
25457 * normal/color.c: Include `<grub/i18n.h>'.
25458 (grub_parse_color_name_pair): Gettexttize strings.
25459 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25460 string (use `print_message_indented').
25461 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25462 `include/grub/normal.h'.
25463 (print_message_indented): Renamed to ...
25464 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25465 used in normal/main.c).
25466 (print_message): Use `grub_print_message_indented' instead of
25467 `print_message_indented'.
25468 (print_timeout): Likewise.
25469 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25470 (grub_normal_print_device_info): Gettexttize strings.
25471 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25472
3041d898
VS
254732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25474
25475 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25476 of arguments. Return number of tokens and not arguments. All users
25477 updated.
25478
de15bf8e
VS
254792009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25480
25481 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25482 non-MSDOS paritions.
25483
e0a6ca52
VS
254842009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25485
25486 * include/grub/types.h (UNUSED): Removed since it conflicts with
25487 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25488 Reported by Grégoire Sutre.
25489
b99518d1 254902009-12-19 Carles Pina i Estany <carles@pina.cat>
25491
25492 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25493 (grub_print_ucs4_alloc): Likewise.
25494 (grub_getstringwidth): Likewise.
25495 * normal/main.c (grub_normal_init_page): Gettextize version string.
25496 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25497 (getstringwidth): Renamed to ...
25498 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25499 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25500 (grub_print_ucs4): Remove `static' qualifer (now used in
25501 normal/main.c).
25502 * po/POTFILES: Add normal/main.c.
25503
bfd5e52b 255042009-12-19 Carles Pina i Estany <carles@pina.cat>
25505
25506 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25507 (print_message_indented): Add `margin_left' and `margin_right'
25508 parameters.
25509 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25510 strings.
25511 (print_timeout): Use `print_message_indented' to print the message.
25512 Deletes `second_stage' parameter.
25513 (run_menu): Update `print_timeout' calls.
25514
5a1ad2b9
VS
255152009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25516
25517 Fix console palette on OpenFirmware.
25518
25519 * term/ieee1275/ofconsole.c (MAX): Removed.
25520 (colors): Redone based on VGA palette.
25521 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25522 colors are supported.
25523 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25524
b045f00a
VS
255252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25526
25527 Fix potential EfiEmu double prepare.
25528
25529 * efiemu/main.c (prepared): New variable
25530 (grub_efiemu_unload): Set prepare to '0'.
25531 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25532
25533 set_virtual_address_map support.
25534
25535 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25536 prototype.
25537 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25538 prototype.
25539 (grub_efiemu_crc32): Likewise.
25540 (grub_efiemu_crc64): Likewise.
25541 (grub_efiemu_set_virtual_address_map): Likewise.
25542 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25543 New definition.
25544 (grub_autoefi_set_virtual_address_map): Likewise.
25545 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25546 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25547 Restructure flow to accomodate it.
25548 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25549 (grub_efiemu_crc): Recompute CRC32.
25550 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25551 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25552 * efiemu/symbols.c (relocated_handle): New variable.
25553 (grub_efiemu_free_syms): Free relocated_handle.
25554 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25555 (grub_efiemu_write_sym_markers): New function.
25556 (grub_efiemu_set_virtual_address_map): Likewise.
25557
25558 Newer XNU parameters.
25559
25560 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25561 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25562 (grub_xnu_fill_devicetree): New prototype.
25563 (grub_xnu_heap_real_start): New variable.
25564 * loader/xnu.c (get_name_ptr): New function.
25565 (grub_xnu_load_driver): Fill namelen and name.
25566
25567 64-bit xnu support.
25568
25569 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25570 and 'loader/macho64.c'.
25571 * conf/i386-pc.rmk: Likewise.
25572 * conf/x86_64-efi.rmk: Likewise.
25573 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25574 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25575 * include/grub/macho.h (grub_macho_segment64): New structure.
25576 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25577 (grub_macho_size32): ... to this.
25578 (grub_macho32_get_entry_point): Renamed from ...
25579 (grub_macho_get_entry_point32): ... to this.
25580 (grub_macho_contains_macho64): New prototype.
25581 (grub_macho_size64): Likewise.
25582 (grub_macho_get_entry_point64): Likewise.
25583 (grub_macho32_load): Renamed from ...
25584 (grub_macho_load32): ... to this.
25585 (grub_macho32_filesize): Renamed from ...
25586 (grub_macho_filesize32): ... to this.
25587 (grub_macho32_readfile): Renamed from ...
25588 (grub_macho_readfile32): ... to this.
25589 (grub_macho_filesize64): New prototype.
25590 (grub_macho_readfile64): Likewise.
25591 (grub_macho_parse32): Likewise.
25592 (grub_macho_parse64): Likewise.
25593 * loader/macho.c: Split into ...
25594 * loader/machoXX.c: ... and this. Replace 32 with XX.
25595 * loader/macho32.c: New file.
25596 * loader/macho64.c: Likewise.
25597 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25598 (grub_cmd_xnu_kernel): Make 32-bit only.
25599 (grub_cmd_xnu_kernel64): New function.
25600 (grub_xnu_load_driver): Support Mach-O 64.
25601 (grub_cmd_xnu_mkext): Likewise.
25602 * util/grub.d/30_os-prober.in (osx_entry): New function.
25603 Generate entries for 64-bit boot too.
25604
25605 Eliminate ad-hoc tree format in XNU and EfiEmu.
25606
25607 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25608 * efiemu/pnvram.c: Rewritten to use environment variables.
25609 All users updated.
25610
25611 Inline utf16_to_utf8.
25612
25613 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25614 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25615 All users updated.
25616 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25617
25618 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25619 * commands/usbtest.c (grub_usb_get_string): ... move here.
25620 (usb_print_str): Fix error handling.
25621 * include/grub/usb.h (grub_usb_get_string): Remove.
25622
25623 UTF-8 to UTF-16 transformation.
25624
25625 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25626 (charset_mod_SOURCES): New variable.
25627 (charset_mod_CFLAGS): Likewise.
25628 (charset_mod_LDFLAGS): Likewise.
25629 * include/grub/utf.h: New file.
25630 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25631
25632 Support for device properties.
25633
25634 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25635 (grub_xnu_devprop_device_header): Likewise.
25636 (grub_xnu_devprop_device_descriptor): Likewise.
25637 (grub_xnu_devprop_add_device): New prototype.
25638 (grub_xnu_devprop_remove_device): Likewise.
25639 (grub_xnu_devprop_remove_property): Likewise.
25640 (grub_xnu_devprop_add_property_utf8): Likewise.
25641 (grub_xnu_devprop_add_property_utf16): Likewise.
25642 (grub_cpu_xnu_init): Likewise.
25643 (grub_cpu_xnu_fini): Likewise.
25644 (grub_cpu_xnu_unload): Likewise.
25645 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25646 (property_descriptor): Likewise.
25647 (devices): New variable.
25648 (grub_xnu_devprop_remove_property): New function.
25649 (grub_xnu_devprop_add_device): Likewise.
25650 (grub_xnu_devprop_remove_device): Likewise.
25651 (grub_xnu_devprop_add_property): Likewise.
25652 (grub_xnu_devprop_add_property_utf8): Likewise.
25653 (grub_xnu_devprop_add_property_utf16): Likewise.
25654 (hextoval): Likewise.
25655 (grub_cpu_xnu_fill_devprop): Likewise.
25656 (grub_cmd_devprop_load): Likewise.
25657 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25658 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25659 (cmd_devprop_load): New variable.
25660 (grub_cpu_xnu_init): New function.
25661 (grub_cpu_xnu_fini): Likewise.
25662 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25663 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25664 (grub_cmd_xnu_devtree): Likewise.
25665 (hextoval): New function.
25666 (unescape): Likewise.
25667 (grub_xnu_fill_devicetree): Likewise.
25668
25669 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25670 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25671
0945f181
VS
256722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25673
25674 Workaround for broken ATI VBE.
25675
25676 * video/i386/pc/vbe.c (last_set_mode): New variable.
25677 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25678 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25679 (grub_video_vbe_setup): Don't check for reserved flag.
25680
0ad46fd7 256812009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25682
25683 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25684 the `find' command.
25685
c179ebe4
VS
256862009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 UUID support for HFS.
25689
25690 * fs/hfs.c (grub_hfs_uuid): New function.
25691 (grub_hfs_fs): New value .uuid.
25692 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25693
0ad46fd7 256942009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25695
25696 Fix a segfault with parsing unknown long options.
25697
25698 * util/grub-mkrelpath.c (options): Zero terminate it.
25699
c4a3e41a
CPE
257002009-12-13 Carles Pina i Estany <carles@pina.cat>
25701
25702 * include/grub/misc.h (grub_puts): New declaration.
25703 (grub_puts_): Likewise.
a22008a6 25704 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25705 (grub_puts_): Likewise.
25706
2e8a7602
RM
257072009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25708
25709 * util/grub-probe.c (probe): Improve error message.
25710
b50b77b9
RM
257112009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25712
25713 * loader/i386/multiboot_elfxx.c
25714 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25715 initialization.
25716
257172009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25718
25719 Relocator framework
25720
25721 * loader/i386/xnu_helper.S: Removed. All users updated.
25722 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25723 (relocator_mod_SOURCES): New variable.
25724 (relocator_mod_CFLAGS): Likewise.
25725 (relocator_mod_LDFLAGS): Likewise.
25726 (relocator_mod_ASFLAGS): Likewise.
25727 * conf/x86_64.rmk: Likewise.
25728 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25729 (grub_multiboot_payload_entry_offset): Likewise.
25730 (grub_multiboot_forward_relocator): Likewise.
25731 (grub_multiboot_forward_relocator_end): Likewise.
25732 (grub_multiboot_backward_relocator): Likewise.
25733 (grub_multiboot_backward_relocator_end): Likewise.
25734 (grub_multiboot_payload_eip): New variable.
25735 (grub_multiboot_payload_orig): Likewise.
25736 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25737 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25738 * include/grub/i386/memory.h
25739 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25740 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25741 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25742 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25743 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25744 * include/grub/i386/relocator.h: New file.
25745 * include/grub/x86_64/relocator.h: Likewise.
25746 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25747 (XNU_RELOCATOR): New macro.
25748 (grub_xnu_launcher_start): Remove.
25749 (grub_xnu_launcher_end): Likewise.
25750 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25751 (grub_xnu_heap_real_start): Remove.
25752 (grub_xnu_heap_start): Change to void *. All users updated.
25753 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25754 * lib/i386/relocator.c: New file.
25755 * lib/i386/relocator_asm.S: Likewise.
25756 * lib/i386/relocator_backward.S: Likewise.
25757 * lib/mips/relocator.c: Likewise.
25758 * lib/mips/relocator_asm.S: Likewise.
25759 * lib/relocator.c: Likewise.
25760 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25761 (entry): Removed.
25762 (playground): Likewise.
25763 (grub_multiboot_payload_orig): New variable.
25764 (grub_multiboot_payload_dest): Likewise.
25765 (grub_multiboot_payload_size): Likewise.
25766 (grub_multiboot_payload_eip): Likewise.
25767 (grub_multiboot_payload_esp): Likewise.
25768 (grub_multiboot_boot): Use grub_relocator32_boot.
25769 (grub_multiboot_unload): Free relocators.
25770 (grub_multiboot): Setup stack. Use relocators.
25771 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25772 (grub_multiboot_load_elfXX): Use relocators.
25773 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25774 (grub_multiboot_payload_size): Likewise.
25775 (grub_multiboot_payload_dest): Likewise.
25776 (grub_multiboot_payload_entry_offset): Likewise.
25777 (grub_multiboot_forward_relocator): Likewise.
25778 (grub_multiboot_backward_relocator): Likewise.
25779 (grub_multiboot_real_boot): Likewise.
25780 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25781 (grub_xnu_entry_point): Likewise.
25782 (grub_xnu_arg1): Likewise.
25783 (grub_xnu_stack): Likewise.
25784 (grub_xnu_launch): Removed.
25785 (grub_xnu_boot_resume): New function.
25786 (grub_xnu_boot): Use relocators.
25787 * loader/i386/xnu_helper.S: Removed.
25788 * loader/xnu.c (grub_xnu_heap_start): New variable.
25789 (grub_xnu_heap_size): Likewise.
25790 (grub_xnu_heap_malloc): Use relocators.
25791 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25792
29eb90c6
VS
257932009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25796 anything.
25797
31027430
CPE
257982009-12-13 Carles Pina i Estany <carles@pina.cat>
25799
25800 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25801 GRUB_ERR_NONE before calling grub_env_set.
25802
dc0c71d9
RM
258032009-12-12 Robert Millan <rmh@aybabtu.com>
25804
25805 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25806 * genmk.rb (video): New variable.
25807 (CLEANFILES, VIDEOFILES): Add #{video}.
25808 (#{video}): New target rule.
25809 * genvideolist.sh: New file.
25810 * Makefile.in (pkglib_DATA): Add video.lst.
25811 (video.lst): New target rule.
25812 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25813 `video.lst'.
25814 * util/grub.d/30_os-prober.in: Replace `vbe' with
25815 ${GRUB_VIDEO_BACKEND}.
25816
2a4bfcf0
RM
258172009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25818
25819 * THANKS: Add David Miller.
25820
2a3aa4d5
RM
258212009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 libpciaccess support.
25824
25825 * Makefile.in (LIBPCIACCESS): New variable.
25826 (enable_grub_emu_pci): Likewise.
25827 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25828 util/pci.c and commands/lspci.c.
25829 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25830 * configure.ac (grub-emu-pci): New option.
25831 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25832 (grub_pci_device_unmap_range): Likewise.
25833 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25834 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25835 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25836 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25837 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25838 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25839 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25840 * include/grub/pciutils.h: New file.
25841 * util/pci.c: Likewise.
25842
0ad46fd7 258432009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25844
25845 * util/misc.c: Don't include <errno.h> twice.
25846
0ad46fd7 258472009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25848
25849 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25850 name in an error message.
25851 (grub_biosdisk_rw): Likewise.
25852
2e59983c
VS
258532009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25854
25855 Eliminate NTFS 4Gib barrier.
25856
25857 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25858 (read_run_data): Likewise.
25859 (grub_ntfs_read_run_list): Likewise.
25860 (grub_ntfs_read_block): Likewise.
25861 (grub_ntfs_iterate_dir): Likewise.
25862 (read_mft): Likewise.
25863 (read_data): Likewise.
25864 Use COM_LOG_LEN.
25865 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25866 to avoid 64-bit division
25867 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25868 (grub_ntfs_rlst): Use grub_disk_addr_t.
25869
71ee178a
VS
258702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 Eliminate grub-fstest 4Gib barrier.
25873
25874 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25875 (read_file): Fix error reporting.
25876
2520d4b8
VS
258772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25878
25879 Eliminate hexdump 4Gib barrier.
25880
25881 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25882 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25883
e1f27065
VS
258842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25885
25886 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25887 Fixes amarsh bug.
25888
1a0f7f45
RM
258892009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25890
25891 Remove miscellaneous files in distclean target.
25892
25893 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25894
c631d9fb
CW
258952009-12-09 Colin Watson <cjwatson@ubuntu.com>
25896
25897 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25898 if they're already set. This resolves the conflict between my
25899 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25900 fixing the --grub-probe option again.
25901 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25902 change on 2009-10-06, so that we now once again source
25903 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25904
7c7b6106
RM
259052009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25906
25907 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25908 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25909 `util/devicemap.c'.
25910
e3069ec1
CPE
259112009-12-08 Carles Pina i Estany <carles@pina.cat>
25912
25913 * include/grub/misc.h (grub_printf_): New declaration.
25914 * kern/misc.c (grub_printf_): New definition.
25915 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25916 instead of `grub_printf' and `_'.
25917 * normal/menu_entry.c (store_completion): Likewise.
25918 (run): Likewise.
25919 (grub_menu_entry_run): Likewise.
25920 * normal/menu_text.c (grub_wait_after_message): Likewise.
25921 (notify_booting): Likewise.
25922 (notify_fallback): Likewise.
25923 (notify_execution_failure): Likewise.
25924
d6ceebf1
CW
259252009-12-07 Colin Watson <cjwatson@ubuntu.com>
25926
25927 * configure.ac: Check for vasprintf.
25928 * util/misc.c (asprintf): Move allocation from here ...
25929 (vasprintf): ... to here. New function.
25930 (xasprintf): New function.
25931 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25932 prototypes.
25933 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25934 * util/grub-mkfont.c (write_font): Likewise.
25935 * util/grub-probe.c (probe): Likewise.
25936 * util/hostdisk.c (make_device_name): Likewise.
25937
de6daa8b
DM
259382009-12-06 David S. Miller <davem@sunset.davemloft.net>
25939
25940 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25941 anything even prefixed with 'cdrom' as a cdrom.
25942
0ad46fd7 259432009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25944
25945 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25946 mount points.
25947
98d3dc02
CPE
259482009-12-05 Carles Pina i Estany <carles@pina.cat>
25949
25950 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25951 grub_gettext_msg_list.
25952 (grub_gettext_gettranslation_from_position): Return const char *
25953 and not char *.
a2c1332b 25954 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25955 returns from the list if existing there.
25956 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25957 (grub_gettext_delete_list): Delete the list.
25958 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25959 lang environment variable is changed.
25960 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25961
b283f108
VS
259622009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 Rename kernel.mod to kernel.img.
25965
25966 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25967 (kernel_mod_EXPORTS): Rename to ...
25968 (kernel_img_EXPORTS): ... this.
25969 (kernel_mod_SOURCES): Rename to ...
25970 (kernel_img_SOURCES): ... this.
25971 (kernel_mod_HEADERS): Rename to ...
25972 (kernel_img_HEADERS): ... this. All users updated.
25973 (kernel_mod_CFLAGS): Rename to ...
25974 (kernel_img_CFLAGS): ... this.
25975 (kernel_mod_ASFLAGS): Rename to ...
25976 (kernel_img_ASFLAGS): ... this.
25977 (kernel_mod_LDFLAGS): Rename to ...
25978 (kernel_img_LDFLAGS): ... this.
25979 * conf/x86_64-efi.rmk: Likewise.
25980 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25981 (read_kernel_image): ... this. All users updated.
25982 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25983
69055f8a
CPE
259842009-12-05 Carles Pina i Estany <carles@pina.cat>
25985
25986 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25987 (print_spaces): New function.
25988 (grub_print_ucs4): New function.
25989 (getstringwidth): New function.
25990 (print_message_indented): New function.
25991 (print_message): Gettexttize strings using print_message_indented.
25992 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25993 width.
25994 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25995 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25996 Gettextize.
25997 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25998 string.
25999 (run): Likewise.
26000 (grub_menu_entry_run): Likewise.
26001 * PO/POTFILES: Add normal/menu_entry.c.
26002
f616f51c
VS
260032009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26004
26005 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26006
57bbe3be
CPE
260072009-12-05 Carles Pina i Estany <carles@pina.cat>
26008
26009 * util/grub-install.in: Install gettext .mo files.
26010 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26011
013d67a1
CPE
260122009-12-05 Carles Pina i Estany <carles@pina.cat>
26013
26014 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26015 grub_dprintf.
26016
fb954db0
RM
260172009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26018
26019 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26020 non-firmware-dependant one in realmode.S takes precedence.
26021
6b8474f8
RM
260222009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26023
26024 * commands/halt.c: Replace misc arch-specific headers with
26025 `<grub/misc.h>'.
26026 * commands/reboot.c: Likewise.
26027 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26028 `<grub/misc.h>'.
26029 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26030 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26031 (kernel_img_SOURCES): ... to here.
26032
26033 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26034 * include/grub/i386/pc/init.h: Likewise.
26035 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26036 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26037
26038 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26039
26040 * include/grub/i386/halt.h: Remove.
26041 * include/grub/i386/reboot.h: Likewise.
26042
26043 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26044
4b2e6ca2
DM
260452009-12-03 David S. Miller <davem@sunset.davemloft.net>
26046
26047 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26048 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26049 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26050 "progname.h"
26051 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26052 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26053 (usage): Add missing comma in printf.
26054
5239348f
RM
260552009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26056
26057 Use the same reboot approach on i386 coreboot and qemu as we do on
26058 BIOS.
26059
26060 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26061 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26062 * kern/i386/reboot.c: Remove.
26063 * include/grub/i386/reboot.h (grub_reboot): Export function.
26064 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26065 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26066 0xf000:0xfff0 instead of 0xffff:0x0000.
26067 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26068 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26069
ef34cbd4
RM
260702009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26071
26072 Fix $srcdir != $objdir build.
26073
26074 * Makefile.in (po/%.po): Rewrite as ...
26075 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26076
dc9837ea
ST
260772009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26078
26079 Fix GNU/Hurd grub-install crash.
26080 * util/grub-probe.c (probe): Try to access `path' only when it is not
26081 NULL.
26082
2f857f98
VS
260832009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 Correct module naming.
26086
26087 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26088 (GRUB_MOD_INIT(efi_uga)): ... to this
26089 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26090 (GRUB_MOD_FINI(efi_uga)): ... to this
26091 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26092 (GRUB_MOD_INIT(efi_gop)): ... to this
26093 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26094 (GRUB_MOD_FINI(efi_gop)): ... to this
26095
c5448046
RM
260962009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26097
26098 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26099 translatable.
26100 (usage): Translate `arg' strings using gettext().
26101 Thanks to Jordi Mallach for the suggestion.
26102
c85184ad
VS
261032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26104
26105 GOP support. Based on patch from Bean
26106 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26107
26108 * video/efi_gop.c: New file.
26109 * include/grub/efi/graphics_output.h: Likewise.
26110 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26111 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26112 variables.
26113 * conf/x86_64-efi.rmk: Likewise.
26114
8a4c48d8
VS
261152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26116
26117 Rename efi_fb to efi_uga.
26118
26119 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26120 'efi_uga.mod'.
26121 (efi_fb_mod_SOURCES): Rename this ...
26122 (efi_uga_mod_SOURCES): ... to this.
26123 (efi_fb_mod_CFLAGS): Rename this ...
26124 (efi_uga_mod_CFLAGS): ... to this.
26125 (efi_fb_mod_LDFLAGS): Rename this ...
26126 (efi_uga_mod_LDFLAGS): ... to this.
26127 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26128 'efi_uga.mod'.
26129 (efi_fb_mod_SOURCES): Rename this ...
26130 (efi_uga_mod_SOURCES): ... to this.
26131 (efi_fb_mod_CFLAGS): Rename this ...
26132 (efi_uga_mod_CFLAGS): ... to this.
26133 (efi_fb_mod_LDFLAGS): Rename this ...
26134 (efi_uga_mod_LDFLAGS): ... to this.
26135 * video/efi_fb.c: Move this ...
26136 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26137
fb6c1a7b
RM
261382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26139
26140 * po/README: New file. Explain our PO file workflow.
26141
3bc7896c
RM
261422009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26143
26144 * po/ChangeLog: Remove. Move relevant entries back to ...
26145 * ChangeLog: ... here.
26146 * po/ca.po: Remove (now handled by TLP).
26147 * po/id.po: Likewise.
26148 * po/zh_CN.po: Likewise.
26149 * Makefile.in (LINGUAS): Initialize in a way that supports
26150 empty set.
26151
9ed4841d
RM
261522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26153
26154 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26155 reliing on po/LINGUAS.
26156 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26157 (po/%.po): ... this.
26158
0ad46fd7 261592009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
26160
26161 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26162 (main): Use `program_name' instead of nonexistent `progname'.
26163
e30dd392
FZ
261642009-11-26 Felix Zielcke <fzielcke@z-51.de>
26165
26166 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26167 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26168
7656de4f
RM
261692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26170
26171 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26172 commit.
26173 * conf/i386-efi.rmk: Likewise.
26174 * conf/i386-ieee1275.rmk: Likewise.
26175 * conf/powerpc-ieee1275.rmk: Likewise.
26176 * conf/sparc64-ieee1275.rmk: Likewise.
26177 * conf/x86_64-efi.rmk: Likewise.
26178
db77c4d4
FZ
261792009-11-26 Felix Zielcke <fzielcke@z-51.de>
26180
26181 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26182
a755bb04
FZ
261832009-11-26 Felix Zielcke <fzielcke@z-51.de>
26184
26185 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26186
8a4c07fd
RM
261872009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26188
26189 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26190 (grub_mkdevicemap_SOURCES): New variable.
26191 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26192 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26193 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26194 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26195 (grub_mkdevicemap_SOURCES): Remove.
26196 * conf/i386-efi.rmk: Likewise.
26197 * conf/i386-ieee1275.rmk: Likewise.
26198 * conf/i386-pc.rmk: Likewise.
26199 * conf/powerpc-ieee1275.rmk: Likewise.
26200 * conf/sparc64-ieee1275.rmk: Likewise.
26201 * conf/x86_64-efi.rmk: Likewise.
26202 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26203 (usage): Fix strings to use `program_name'.
26204 (main): Initialize gettext.
26205 * util/grub-editenv.c: Likewise.
26206 * util/grub-emu.c: Likewise.
26207 * util/grub-fstest.c: Likewise.
26208 * util/grub-mkdevicemap.c: Likewise.
26209 * util/grub-mkfont.c: Likewise.
26210 * util/grub-mkrelpath.c: Likewise.
26211 * util/grub-pe2elf.c: Likewise.
26212 * util/grub-probe.c: Likewise.
26213 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26214 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26215 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26216
26217 * util/misc.c: Include `"progname.h"'.
26218 (progname): Remove variable.
26219 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26220
6f61ed55
FZ
262212009-11-25 Felix Zielcke <fzielcke@z-51.de>
26222
26223 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26224 printf and print a newline after the menuentry header line.
26225 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26226
f022876b
FZ
262272009-11-25 Felix Zielcke <fzielcke@z-51.de>
26228
26229 autoconf >= 2.60 support $(localedir).
26230
26231 * INSTALL: Note that autoconf 2.60 is required.
26232 * configure.ac (AC_PREREQ): Bump to 2.60.
26233 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26234 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26235
6717926e
YB
262362009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26237
26238 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26239 aclocal is run.
26240
08806a54
RM
262412009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26242
26243 * normal/main.c (grub_normal_read_line): Fix off-by-one
26244 buffer overflow.
26245
13b33fba
RM
262462009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26247
26248 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26249 "parser.grub" in grub_command_execute() call.
26250
4a8572e9
CPE
262512009-11-24 Carles Pina i Estany <carles@pina.cat>
26252
26253 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26254 * conf/i386-efi.rmk: Likewise.
26255 * conf/i386-ieee1275.rmk: Likewise.
26256 * conf/i386-pc.rmk: Likewise.
26257 * conf/powerpc-ieee1275.rmk: Likewise.
26258 * conf/sparc64-ieee1275.rmk: Likewise.
26259 * conf/x86_64-efi.rmk: Likewise.
26260 * gettext/gettex.c: Include <grub/i18n.h>.
26261 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26262 here ...
26263 * include/grub/i18n.h: ... to here
26264 * include/grub/i18n.h: ... to here.
26265 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 26266 (grub_gettext_dummy): Move above user.
4a8572e9 26267
bee48093
FZ
262682009-11-24 Felix Zielcke <fzielcke@z-51.de>
26269
26270 * util/Makefile.in (install-local): Convert a `for' into a normal
26271 shell expansion.
26272
a031e91c
RM
262732009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26274
26275 * autogen.sh: Add automake call.
26276 * config.guess: Remove.
26277 * config.sub: Likewise.
26278 * install-sh: Likewise.
26279
26bec39d
FZ
262802009-11-24 Felix Zielcke <fzielcke@z-51.de>
26281
26282 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26283
8e2532fd
FZ
262842009-11-24 Felix Zielcke <fzielcke@z-51.de>
26285
26286 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26287 function to a normal shell `for'.
26288
fefa1b7d
FZ
262892009-11-24 Felix Zielcke <fzielcke@z-51.de>
26290
26291 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26292
4501250b
FZ
262932009-11-24 Felix Zielcke <fzielcke@z-51.de>
26294
26295 * util/grub-mkrelpath.c: New file.
26296 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26297 (grub_mkrelpath_SOURCES): New variable.
26298 * include/grub/util/misc.h: New function prototype.
26299 * util/misc.c (make_system_path_relative_to_its_root): New function.
26300
26301 * util/grub-mkconfig_lib.in (bindir): New variable.
26302 (grub_mkrelpath): Likewise.
26303 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26304
26305 * util/probe.c (probe): Make the file path relative to its root.
26306 Change a info message to use the GRUB path. Enable again the
26307 check if we can read the file with GRUB facilities.
26308
26309 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26310 to its root.
26311
11d9778b
FZ
263122009-11-24 Felix Zielcke <fzielcke@z-51.de>
26313
26314 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26315 platform.
26316
4465287d
FZ
263172009-11-24 Felix Zielcke <fzielcke@z-51.de>
26318
26319 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26320 strncmp().
26321
62b47f22
FZ
263222009-11-24 Felix Zielcke <fzielcke@z-51.de>
26323
26324 * util/getroot.c (grub_util_is_dmraid): New function.
26325 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26326 devices as normal ones, not as LVM.
26327
1eafb9b9 263282009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
26329
26330 * conf/common.rmk: Add grub-gettext_lib target and updates
26331 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26332 LDFLAGS.
26333 * gettext/gettext.c: New file. (Reads mo files).
26334 * include/grub/file.h (grub_file_pread): New prototype.
26335 * include/grub/i18n.h (_): New prototype.
26336 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26337 prototypes.
26338 * kern/misc.c (grub_gettext_dummy): New function.
26339 * normal/menu_text.c: Include <grub/i18n.h>.
26340 * normal/menu_text.c (print_timeout): Gettexttize string.
26341 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
26342 * po/POTFILES: Add `normal/menu_text.c'.
26343 * po/ca.po: Add new translations.
c3ea6bd4
CPE
26344 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26345 gettext module and defines locale_dir and lang in grub.cfg.
26346 * NEWS: Add gettext support.
26347
0fdb2568
RM
263482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26349
26350 * util/hostdisk.c: Include `<grub/i18n.h>'.
26351 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26352 (make_device_name): Rewrite using asprintf.
26353 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26354 (find_system_device): If a device is not found, generate one just
26355 by reusing the OS path name.
26356 (read_device_map): Make it permissible for device.map not to exist.
26357
f515aa62
RM
263582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26359
26360 * script/sh/execute.c: Move from here ...
26361 * script/execute.c: ... to here. Update all users.
26362 * script/sh/function.c: Move from here ...
26363 * script/function.c: ... to here. Update all users.
26364 * script/sh/lexer.c: Move from here ...
26365 * script/lexer.c: ... to here. Update all users.
26366 * script/sh/main.c: Move from here ...
26367 * script/main.c: ... to here. Update all users.
26368 * script/sh/parser.y: Move from here ...
26369 * script/parser.y: ... to here. Update all users.
26370 * script/sh/script.c: Move from here ...
26371 * script/script.c: ... to here. Update all users.
26372
f84b481b
RM
263732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26374
26375 * configure.ac: Detect all `emu' platforms. Define
26376 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26377 --enable-grub-emu logic. Disable include/grub/machine
26378 symlink on `emu' platforms.
26379
26380 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26381 * gensymlist.sh.in: Likewise.
26382
26383 * include/grub/i386/coreboot/machine.h: Remove file.
26384 * include/grub/i386/efi/machine.h: Likewise.
26385 * include/grub/i386/ieee1275/machine.h: Likewise.
26386 * include/grub/i386/pc/machine.h: Likewise.
26387 * include/grub/i386/qemu/machine.h: Likewise.
26388 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26389 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26390 * include/grub/x86_64/efi/machine.h: Likewise.
26391
26392 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26393 * commands/halt.c: Likewise.
26394 * commands/reboot.c: Likewise.
26395 * include/grub/autoefi.h: Likewise.
26396 * include/grub/i386/at_keyboard.h: Likewise.
26397 * include/grub/i386/kernel.h: Likewise.
26398 * include/grub/i386/loader.h: Likewise.
26399 * include/grub/i386/pc/memory.h: Likewise.
26400 * kern/dl.c: Likewise.
26401 * kern/i386/coreboot/init.c: Likewise.
26402 * loader/i386/bsd.c: Likewise.
26403 * loader/i386/linux.c: Likewise.
26404 * loader/multiboot_loader.c: Likewise.
26405 * term/i386/pc/serial.c: Likewise.
26406 * term/usb_keyboard.c: Likewise.
26407
26408 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26409 `<grub/machine/machine.h>'
26410 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26411 * util/misc.c: Remove `<grub/machine/machine.h>' and
26412 `<grub/machine/time.h>'.
26413
26414 * Makefile.in (enable_grub_emu): Remove variable.
26415 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26416
26417 * conf/any-emu.rmk: New file.
26418 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26419 (grub_emu_init.c): Move from here ...
26420 * conf/any-emu.rmk: ... to here.
26421
26422 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26423 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26424 * conf/any-emu.rmk: ... to here.
26425
4efeab03
RM
264262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26427
26428 * include/grub/parser.h (grub_parser_register): Document need
26429 of `name' parameter.
26430 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26431 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26432 "sh" to "grub".
26433
ea1dd8bf
RM
264342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26435
26436 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26437 `$(XGETTEXT)'.
26438 * include/grub/i18n.h (N_): New macro.
26439 * util/mkisofs/mkisofs.h: Likewise.
26440 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26441 around N_().
26442 (usage): Use gettext() to translate help strings when printing them.
26443
0c140626
RM
264442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26445
26446 Based on patch from Bean
26447 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26448
26449 * video/efi_fb.c: New file.
26450 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26451 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26452 variables.
26453 * conf/x86_64-efi.rmk: Likewise.
26454
87d58298
RM
264552009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26456
26457 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26458 * util/i386/pc/grub-setup.c: Likewise.
26459
994cc3a3
ST
264602009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26461
26462 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26463 <hurd/fs.h>
26464 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26465 file_get_storage_info to implement grub_guess_root_device.
26466
26a61d6a
FZ
264672009-11-21 Felix Zielcke <fzielcke@z-51.de>
26468
26469 * Makefile.in (target): Use make's builtin $(shell) function
26470 instead of calling directly $(SHELL) to create the locale directories,
26471 inside the $(foreach) function.
26472
74ff1dd5
FZ
264732009-11-21 Felix Zielcke <fzielcke@z-51.de>
26474
26475 * util/grub-mkrescue.in: Print an error and usage if output option
26476 has not been given.
26477
0b787d0e
FZ
264782009-11-21 Felix Zielcke <fzielcke@z-51.de>
26479
26480 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26481 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26482 root and /boot are on different devices.
26483
1164b270
RM
264842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26485
26486 Fix build for srcdir != objdir.
26487
26488 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26489 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26490 $(srcdir).
26491 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26492 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26493 reference for input.
26494
13774a2f
RM
264952009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26496
26497 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26498 or hardlinking it). Remove -J option, Joliet is not compatible with
26499 multiple source directories.
26500
efda854e
RM
265012009-11-21 Carles Pina i Estany <carles@pina.cat>
265022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26503
26504 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26505 (process_input_dir): New function. Process an arbitrary input
26506 directory.
26507 Misc adjustments to support both "override mode" and system-wide mode.
26508
6c09890c
FZ
265092009-11-20 Felix Zielcke <fzielcke@z-51.de>
26510
26511 * configure.ac (UNIFONT_BDF): Rename to ...
26512 (FONT_SOURCE): ... this. Update all users.
26513
a797824f
FZ
265142009-11-20 Felix Zielcke <fzielcke@z-51.de>
26515
26516 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26517 to the list of unifont files to look for.
26518
cd4f42b0
RM
265192009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26520
26521 Patch from Joe Auricchio <jauricchio@gmail.com>
26522 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26523 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26524 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26525
393c783d
FZ
265262009-11-19 Felix Zielcke <fzielcke@z-51.de>
26527
26528 * Makefile.in (install-local): Add a missing backslash.
26529
b2f1e327
FZ
265302009-11-19 Felix Zielcke <fzielcke@z-51.de>
26531
26532 * include/grub/x86_64/io.h: New file.
26533
f577f7a0
RM
265342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26535
26536 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26537 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26538 Include `"progname.h"'.
26539 (main): Initialize gettext.
26540 * util/i386/pc/grub-setup.c: Gettexttize.
26541 * util/i386/pc/grub-mkimage.c: Likewise.
26542
26543 * Makefile.in (po/*.po): Redefine as ...
26544 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26545
3bc7896c
RM
26546 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26547
c37943b6
RM
265482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26549
26550 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26551 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26552 (program_name): Remove.
26553 (main): Initialize gettext support.
6323f705
RM
26554 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26555 Include `<libintl.h>'.
26556 (_): New macro.
c37943b6
RM
26557
26558 * util/mkisofs/eltorito.c: Gettexttize.
26559 * util/mkisofs/joliet.c: Likewise.
26560 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26561 * util/mkisofs/multi.c: Likewise.
26562 * util/mkisofs/rock.c: Likewise.
26563 * util/mkisofs/tree.c: Likewise.
26564 * util/mkisofs/write.c: Likewise.
26565
3bc7896c
RM
26566 * po/POTFILES: Update with new files.
26567
5ce77c6e
RM
265682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26569
26570 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26571 * util/mkisofs/iso9660.h: Likewise.
26572 * util/mkisofs/joliet.c: Likewise.
26573 * util/mkisofs/mkisofs.c: Likewise.
26574 * util/mkisofs/mkisofs.h: Likewise.
26575 * util/mkisofs/rock.c: Likewise.
26576 * util/mkisofs/tree.c: Likewise.
26577 * util/mkisofs/write.c: Likewise.
26578
26579 * util/mkisofs/eltorito.c (rcsid): Remove.
26580 * util/mkisofs/hash.c: Likewise.
26581 * util/mkisofs/joliet.c: Likewise.
26582 * util/mkisofs/name.c: Likewise.
26583 * util/mkisofs/rock.c: Likewise.
26584 * util/mkisofs/tree.c: Likewise.
26585 * util/mkisofs/write.c: Likewise.
26586
1dabbc77
RM
265872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26588
26589 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26590 instead of static allocation.
26591 * util/mkisofs/match.h: Likewise.
26592
633877cb
RM
265932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26594
3bc7896c
RM
26595 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26596 and `util/grub.d/10_linux.in'.
633877cb
RM
26597 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26598 translatable Shell files.
26599
af1c0c85
RM
266002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26601
26602 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26603
769ae37b
RM
266042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26605
26606 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26607 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26608 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26609 Add gettext initialization.
26610 (kfreebsd_entry): Make menuentry output translatable.
26611
266122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26615 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26616 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26617 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26618 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26619 * po/LINGUAS: New file.
769ae37b
RM
26620
266212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26622
26623 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26624 other things).
26625 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26626 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26627 bindtextdomain() calls for gettext initialization.
26628
266292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26630
26631 * gnulib/progname.c: New file (imported from Gnulib).
26632 * gnulib/progname.h: Likewise.
26633 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26634 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26635 (usage): Replace `progname' with `program_name'.
26636 (main): Use set_program_name() for program name initialization.
26637
266382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26639
26640 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26641 from here ...
26642 * Makefile.in (CPPFLAGS): ... to here.
26643
266442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26645
26646 * aclocal.m4: Move from here ...
26647 * acinclude.m4: ... to here.
26648 * autogen.sh: Add call to `aclocal'.
26649 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26650
266512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26652
26653 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26654 (LINGUAS): New variable.
26655 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26656 (install-local): Install MO files.
26657 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26658 * include/grub/i18n.h: New file.
3bc7896c
RM
26659 * po/POTFILES: New file.
26660 * po/ca.po: New file.
769ae37b
RM
26661 * util/grub.d/10_linux.in (bindir): New variable.
26662 Add gettext initialization.
26663 (linux_entry): Make menuentry output translatable.
26664 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26665 (usage): Make --help output translatable.
26666 (main): Initialize gettext.
26667
02c0a6ad
RM
266682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26669
26670 * import_gcry.py: New file (written by Vladimir with minor
26671 adjustments).
26672 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26673 ciphers.
26674 * INSTALL: Document that Python is required for bootstrap.
26675
266762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26677
26678 Import ciphers from libgcrypt 1.4.4.
26679
26680 * lib/libgcrypt/cipher/ChangeLog
26681 * lib/libgcrypt/cipher/ac.c
26682 * lib/libgcrypt/cipher/arcfour.c
26683 * lib/libgcrypt/cipher/bithelp.h
26684 * lib/libgcrypt/cipher/blowfish.c
26685 * lib/libgcrypt/cipher/camellia-glue.c
26686 * lib/libgcrypt/cipher/camellia.c
26687 * lib/libgcrypt/cipher/camellia.h
26688 * lib/libgcrypt/cipher/cast5.c
26689 * lib/libgcrypt/cipher/cipher.c
26690 * lib/libgcrypt/cipher/crc.c
26691 * lib/libgcrypt/cipher/des.c
26692 * lib/libgcrypt/cipher/dsa.c
26693 * lib/libgcrypt/cipher/ecc.c
26694 * lib/libgcrypt/cipher/elgamal.c
26695 * lib/libgcrypt/cipher/hash-common.c
26696 * lib/libgcrypt/cipher/hash-common.h
26697 * lib/libgcrypt/cipher/hmac-tests.c
26698 * lib/libgcrypt/cipher/md.c
26699 * lib/libgcrypt/cipher/md4.c
26700 * lib/libgcrypt/cipher/md5.c
26701 * lib/libgcrypt/cipher/primegen.c
26702 * lib/libgcrypt/cipher/pubkey.c
26703 * lib/libgcrypt/cipher/rfc2268.c
26704 * lib/libgcrypt/cipher/rijndael-tables.h
26705 * lib/libgcrypt/cipher/rijndael.c
26706 * lib/libgcrypt/cipher/rmd.h
26707 * lib/libgcrypt/cipher/rmd160.c
26708 * lib/libgcrypt/cipher/rsa.c
26709 * lib/libgcrypt/cipher/seed.c
26710 * lib/libgcrypt/cipher/serpent.c
26711 * lib/libgcrypt/cipher/sha1.c
26712 * lib/libgcrypt/cipher/sha256.c
26713 * lib/libgcrypt/cipher/sha512.c
26714 * lib/libgcrypt/cipher/tiger.c
26715 * lib/libgcrypt/cipher/twofish.c
26716 * lib/libgcrypt/cipher/whirlpool.c
26717
af2f93ac
RM
267182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26719
26720 Fix build for systems without error().
26721
26722 * gnulib/error.c: New file (imported from Gnulib).
26723 * gnulib/error.h: Likewise.
26724 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26725 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26726 (this variable is now used by error()).
26727
73fb3dd5
FZ
267282009-11-16 Felix Zielcke <fzielcke@z-51.de>
26729
814f5e96
FZ
26730 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26731 instead of relying that char is signed.
73fb3dd5 26732
a691ca33
VS
267332009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26734
26735 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26736 blocksize different from specified.
26737 (grub_pxefs_read): Likewise.
26738
2af8f0f4
FZ
267392009-11-16 Felix Zielcke <fzielcke@z-51.de>
26740
26741 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26742
26743 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26744 (grub_ata_readwrite): Likewise. Update 2 format strings.
26745 (grub_atapi_read): Likewise.
26746
26747 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26748 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26749 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26750 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26751 (ata_mod_LDFLAGS): Move from here ...
26752 * conf/i386.rmk: ... to here ...
26753 * conf/x86_64-efi.rmk: ... and here.
26754 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26755 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26756
83bdecaf
RM
267572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26758
26759 Relicense multiboot.h, with RMS' blessing.
26760
26761 * include/multiboot.h: Change to X11 license.
26762
fd6fd3d7
RM
267632009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26764
26765 Support --version in grub-mkisofs.
26766
26767 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26768 (OPTION_VERSION): New macro.
26769 (ld_options): Recognize --version.
26770 (usage): Move `program_name' from here ...
26771 (program_name): ... to here. Add `static' qualifier.
26772 (main): Recognize `OPTION_VERSION'.
26773
16a88c49
FZ
267742009-11-15 Felix Zielcke <fzielcke@z-51.de>
26775
26776 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26777 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26778
a4158476
RM
267792009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26780
26781 Fix help2man generation for mkisofs.
26782
26783 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26784 (usage): Send output to stdout (rather than stderr).
26785
fc2208b0
RM
267862009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26787
26788 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26789 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26790 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26791 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26792 (bin_SCRIPTS): Add `grub-mkfloppy'.
26793 (grub_mkfloppy_SOURCES): New variable.
26794
26795 * util/grub-mkrescue.in: New file.
26796 * util/i386/pc/grub-mkfloppy.in: New file.
26797
26798 * util/i386/coreboot/grub-mkrescue.in: Remove.
26799 * util/i386/pc/grub-mkrescue.in: Remove.
26800
8d0edf4a
RM
268012009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26802
26803 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26804 from here ...
26805 * include/multiboot.h (struct multiboot_header): ... to here. Update
26806 all users.
26807 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26808 from here ...
26809 * include/multiboot.h (struct multiboot_info): ... to here. Update
26810 all users.
26811 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26812 from here ...
26813 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26814 Update all users.
26815 * include/grub/multiboot.h (struct grub_mod_list): Move
26816 from here ...
26817 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26818 Update all users.
26819
a73f5969
RM
268202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26821
26822 * include/multiboot2.h (multiboot_word): Rename from this ...
26823 (multiboot2_word): ... to this. Update all users.
26824 (multiboot_header): Rename from this ...
26825 (multiboot2_header): ... to this. Update all users.
26826 (multiboot_tag_header): Rename from this ...
26827 (multiboot2_tag_header): ... to this. Update all users.
26828 (multiboot_tag_start): Rename from this ...
26829 (multiboot2_tag_start): ... to this. Update all users.
26830 (multiboot_tag_name): Rename from this ...
26831 (multiboot2_tag_name): ... to this. Update all users.
26832 (multiboot_tag_module): Rename from this ...
26833 (multiboot2_tag_module): ... to this. Update all users.
26834 (multiboot_tag_memory): Rename from this ...
26835 (multiboot2_tag_memory): ... to this. Update all users.
26836 (multiboot_tag_unused): Rename from this ...
26837 (multiboot2_tag_unused): ... to this. Update all users.
26838 (multiboot_tag_end): Rename from this ...
26839 (multiboot2_tag_end): ... to this. Update all users.
26840
1c8927f0
RM
268412009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26842
26843 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26844 this platform we should support Multiboot1 first.
26845
26846 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26847 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26848 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26849
6e1e0d89
RM
268502009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26851
26852 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26853 of write calls (converting them to fwrite() if they aren't already).
26854 (get_torito_desc): Likewise.
26855 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26856
7f2b34d8
RM
268572009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26858
26859 * util/i386/pc/grub-install.in: Move from here ...
26860 * util/grub-install.in: ... to here. Update all users.
26861
c0ef3311
CW
268622009-11-11 Colin Watson <cjwatson@ubuntu.com>
26863
26864 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26865
e1f240ff
RM
268662009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26867
26868 Support for El Torito without floppy emulation.
26869
26870 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26871 (init_boot_catalog): Improve error handling.
26872 (get_torito_desc): Don't use floppy emulation unless requested by
26873 user. Patch boot information table when requested via
26874 `-boot-info-table'.
26875 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26876 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26877 (use_boot_info_table): New variables.
26878 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26879 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26880 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26881 `--eltorito-emul-floppy'.
26882 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26883 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26884 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26885 (use_boot_info_table, get_731): New prototypes.
26886 * util/mkisofs/write.c (get_731): New function.
26887
af7d4de5
FZ
268882009-11-11 Felix Zielcke <fzielcke@z-51.de>
26889
26890 Fix the generation of the man page.
26891
26892 * util/pc/i386/grub-install.in: Source
26893 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26894
2c55dbc0
RM
268952009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26896
26897 Large file support for grub-mkisofs.
26898
26899 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26900 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26901 (session_start): Upgrade type to `uint64_t'. Update all users.
26902 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26903 (struct directory_entry): Upgrade type of `starting_block' and
26904 `size' to `uint64_t'. Update all users.
26905 (struct deferred): Remove unused structure.
26906 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26907 Update all users.
26908 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26909 file is larger than `UINT32_MAX'.
26910 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26911 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26912 return value.
26913 (struct deferred_write): Upgrade type of `extent' and `size' to
26914 `uint64_t'. Update all users.
26915 (last_extent_written): Upgrade type to `uint64_t'. Update all
26916 users.
26917 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26918 Update all users. Upgrade type of `remain' to `int64_t' and
26919 `use' to `size_t'. Use error() to handle fread() errors.
26920 (write_files): Rely on write_one_file() rather than calling
26921 xfwrite() directly.
26922
6a9cead5
FZ
269232009-11-09 Felix Zielcke <fzielcke@z-51.de>
26924
26925 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26926
4825d790
RM
269272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26928
26929 * util/mkisofs/fnmatch.c: Remove.
26930 * util/mkisofs/getopt1.c: Likewise.
26931 * util/mkisofs/getopt.c: Likewise.
26932 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26933 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26934 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26935 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26936 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26937
26938 * configure.ac: Detect `mingw32msvc' host_os.
26939 Check for lstat(), getuid() and getgid().
26940
26941 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26942 instances of `u_char' with `uint8_t'.
26943
26944 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26945 [!HAVE_GETUID] (getuid): New function (stub).
26946 [!HAVE_GETGID] (getgid): Likewise.
26947 [!HAVE_LSTAT] (lstat): Likewise.
26948 [!S_IROTH] (S_IROTH): New macro (dummy).
26949 [!S_IRGRP] (S_IRGRP): Likewise.
26950
84b860d8
RM
269512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26952
26953 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26954 conditional expression).
26955
66e9b712
RM
269562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26957
26958 Import from Gnulib.
26959
26960 * gnulib/fnmatch.c: New file.
26961 * gnulib/fnmatch.h: Likewise.
26962 * gnulib/fnmatch_loop.c: Likewise.
26963 * gnulib/getopt.c: Likewise.
26964 * gnulib/getopt.h: Likewise.
26965 * gnulib/getopt1.c: Likewise.
26966 * gnulib/getopt_int.h: Likewise.
26967 * gnulib/gettext.h: Likewise.
26968
34f4a5b0
RM
269692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26970
26971 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26972 * normal/handler.c (read_handler_list): Likewise.
26973
ac451143
RM
269742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26975
26976 Misc cleanup.
26977
26978 * kern/command.c (grub_register_command_prio): Use
26979 grub_zalloc() instead of explicitly zeroing data.
26980 * kern/list.c: Include `<grub/mm.h>'.
26981 (grub_named_list_find): Replace `0' with `NULL'.
26982 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26983 (fs_module_list): Change type to `grub_named_list_t'. Update all
26984 users.
26985 * normal/dyncmd.c (read_command_list): Add space between function
26986 call and parenthesis.
26987 * normal/handler.c (read_handler_list): Likewise.
26988
4089b167
RM
269892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26990
26991 * normal/auth.c (punishment_delay): Moved from here ...
26992 (grub_auth_strcmp): ... to here (inside function).
26993
325f5037
RM
269942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26995
26996 * include/grub/list.h (struct grub_named_list): Remove `const'
26997 qualifier from `name'.
26998 (struct grub_prio_list): Likewise.
26999
7aea29a3
RM
270002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27001
27002 * normal/auth.c: Include `<grub/time.h>'.
27003 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27004
3fd6f044
RM
270052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27006
27007 * normal/auth.c (punishment_delay): New variable.
27008 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27009 (grub_auth_check_authentication): Punish failed login attempts with
27010 an incremental (2^N) delay.
27011
a4cd68e4
RM
270122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27013
27014 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27015 path with $(srcdir).
27016
7ad12f43
VS
270172009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27018
27019 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27020
c1129f03
RM
270212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27022
27023 * util/i386/coreboot/grub-mkrescue.in: New file.
27024 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27025 variables.
27026
27027 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27028 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27029 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27030 requirements.
27031 * util/mkisofs/defaults.h: New file.
27032 * util/mkisofs/eltorito.c: Likewise.
27033 * util/mkisofs/exclude.h: Likewise.
27034 * util/mkisofs/fnmatch.c: Likewise.
27035 * util/mkisofs/getopt.c: Likewise.
27036 * util/mkisofs/getopt1.c: Likewise.
27037 * util/mkisofs/hash.c: Likewise.
27038 * util/mkisofs/include/fctldefs.h: Likewise.
27039 * util/mkisofs/include/mconfig.h: Likewise.
27040 * util/mkisofs/include/prototyp.h: Likewise.
27041 * util/mkisofs/include/statdefs.h: Likewise.
27042 * util/mkisofs/iso9660.h: Likewise.
27043 * util/mkisofs/joliet.c: Likewise.
27044 * util/mkisofs/match.c: Likewise.
27045 * util/mkisofs/match.h: Likewise.
27046 * util/mkisofs/mkisofs.c: Likewise.
27047 * util/mkisofs/mkisofs.h: Likewise.
27048 * util/mkisofs/multi.c: Likewise.
27049 * util/mkisofs/name.c: Likewise.
27050 * util/mkisofs/rock.c: Likewise.
27051 * util/mkisofs/tree.c: Likewise.
27052 * util/mkisofs/write.c: Likewise.
27053
ec8bb77d
VS
270542009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27055
27056 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27057 being insecure.
27058
3716b12c
RM
270592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27060
27061 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27062 `grub-mkimage' (and use $0 when possible).
27063
b97b7b91
RM
270642009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27065
27066 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27067 error message for excessively large memory map.
27068
04114812
RM
270692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27070
27071 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27072 executable bit.
27073
e4eb2373
RM
270742009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27075
27076 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27077 message for coreboot users.
27078
c926e1d5 270792009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 Fix build with GNU gold.
27082
27083 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27084 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27085 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27086 link addresses.
27087 * aclocal.m4: Likewise.
27088
86e5b1db 270892009-11-04 Felix Zielcke <fzielcke@z-51.de>
27090
27091 * configure.ac (AC_PREREQ): Bump to 2.59d.
27092 * INSTALL: Make it more clear when Autoconf and Ruby are
27093 needed and when to run `./autogen.sh'.
27094
246cd78f 270952009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27096
27097 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27098 OSes.
27099
4f9dfb37 271002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27101
27102 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27103
b82bd5e1 271042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27105
27106 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27107 giving it to GNU Mach.
27108
ff1a9bca 271092009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27110
27111 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27112 GNU partition number to get internal GRUB partition number.
27113
61697d9c 271142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27115
27116 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27117 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27118
a50569e1 271192009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27120
27121 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27122 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27123 case.
27124
5b153867 271252009-11-01 Felix Zielcke <fzielcke@z-51.de>
27126
27127 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27128
d9e2cd70 271292009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27130
27131 Fix build problem.
27132
27133 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27134 `-isystem=$(srcdir)/include'.
27135
805111a4 271362009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27137
27138 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27139 checked (grub-install doesn't currently rely on it).
27140
fa6e945f 271412009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27142
27143 Revert SVN r2660.
27144
27145 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27146 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27147 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27148 * conf/i386-ieee1275.rmk: Likewise.
27149 * conf/i386-pc.rmk: Likewise.
27150 * conf/powerpc-ieee1275.rmk: Likewise.
27151 * conf/sparc64-ieee1275.rmk: Likewise.
27152 * conf/x86_64-efi.rmk: Likewise.
27153
cee15086 271542009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27155
27156 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27157
95b9239e 271582009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27159
27160 * include/grub/misc.h: Stop checking for APPLE_CC.
27161
2ed19dfd 271622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27163
27164 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27165 doesn't cause an infinite call loop.
27166
fdcdde19 271672009-10-28 Felix Zielcke <fzielcke@z-51.de>
27168
27169 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27170 strings.
27171
cefabfe1 271722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27173
27174 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27175 variable.
27176 * Makefile.in: Likewise.
27177
ed96ab6d 271782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27179
27180 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27181
0579b753 271822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27183
27184 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27185
478df409 271862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27187
27188 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27189
083d1679 271902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27191
27192 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27193 from here ...
27194 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27195
5947ae32 271962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27197
27198 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27199 in $(MAKEINFO) invocation. This makes it clear in output that
27200 errors are being ignored.
27201
94180ff6 272022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27203
27204 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27205 from here ...
27206 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27207 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27208 * conf/i386-ieee1275.rmk: Likewise.
27209 * conf/i386-pc.rmk: Likewise.
27210 * conf/powerpc-ieee1275.rmk: Likewise.
27211 * conf/sparc64-ieee1275.rmk: Likewise.
27212 * conf/x86_64-efi.rmk: Likewise.
27213
9031b03a 272142009-10-26 Colin Watson <cjwatson@ubuntu.com>
27215
27216 * util/grub-editenv.c (main): If only a command is given, use
27217 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27218 (usage): FILENAME is now optional and has a default.
27219
e4f6809b 272202009-10-26 Colin Watson <cjwatson@ubuntu.com>
27221
27222 Improve grub-mkconfig performance when there are several menu
27223 entries on a single filesystem.
27224
27225 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27226 prepare_grub_to_access_device.
27227 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27228 * util/grub.d/30_os-prober.in: Likewise.
27229
67937d4d 272302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27231
27232 * util/grub.d/10_freebsd.in: Remove.
27233 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27234 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27235
ee3756cc 272362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27237
5c35048e 27238 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 27239
4dea1c6f 272402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27241
27242 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27243 grub_util_error() call.
27244
042484d7 272452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27248 `reserved_first_sector' member.
27249 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27250 `reserved_first_sector' to 1.
27251 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27252 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27253 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27254 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27255 filesystems which begin at first sector.
27256 (options): New option --skip-fs-probe.
27257 (main): Handle --skip-fs-probe and pass it to setup().
27258
d64448a7 272592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27262 (memset): Fix function prototype.
27263
508d42ec 272642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
272652009-10-25 Vasily Averin <vvs@parallels.com>
27266
27267 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27268 `dirent.direntlen == 0'.
27269
b240e30c 272702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27271
27272 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27273 `cpio'.
27274 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27275
346e7fbe 272762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27277
27278 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27279 `__trampoline_setup' and `__ucmpdi2'.
27280 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27281 that libgcc provides.
27282
cdb308b0 272832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27284
27285 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27286 * include/grub/sparc64/libgcc.h (memset): Likewise.
27287 * include/grub/misc.h (memset, memcmp): New function prototypes.
27288
fb26abc2 272892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27290
27291 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27292 `cpio'.
27293 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27294
f6693890 272952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27296
27297 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27298 * docs/grub.cfg: Compensate for recent change in multiboot
27299 loader (since 2009-08-14 it won't pass filename to payload).
27300 * util/grub.d/10_hurd.in: Likewise.
27301
0933cdc0 273022009-10-21 Felix Zielcke <fzielcke@z-51.de>
27303
27304 * config.guess: Update to latest version from config git
27305 repository.
27306 * config.sub: Likewise.
27307
3b2fe8c2 273082009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27309
27310 Fix build on sparc64.
27311
27312 * configure.ac: Perform checks for libgcc symbols before
27313 adding `-nostdlib' to LDFLAGS.
27314
46695a62 273152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27316
27317 Let user specify OpenBSD root device.
27318
27319 * loader/i386/bsd.c (openbsd_root): New variable.
27320 (openbsd_opts): New option 'root'.
27321 (OPENBSD_ROOT_ARG): New macro.
27322 (grub_openbsd_boot): Use 'openbsd_root'.
27323 (grub_cmd_openbsd): Fill 'openbsd_root'.
27324
d2b6b7fc 273252009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27326
27327 * NEWS: Misc adjustments.
27328
421bd7ac 273292009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27330
27331 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27332
f1d29d87 273332009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27334
27335 * configure.ac: Bump version to 1.97.
27336
6f3cd880 273372009-10-16 Colin Watson <cjwatson@ubuntu.com>
27338
27339 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27340 -mno-3dnow on x86 architectures. Some toolchains enable these
27341 features by default, but they rely on registers that aren't enabled
27342 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27343
035f7122 273442009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27345
27346 Make entry text a bit more readable.
27347
27348 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27349
44998e58 273502009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27353
cd2851b3 273542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27355
27356 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27357 operations.
27358
c6f3b249 273592009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27360
27361 * configure.ac: Add missing dollar.
27362
6b5886ba 273632009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27364
27365 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27366
27367 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27368 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27369 exports.
27370 * include/grub/sparc64/libgcc.h: Likewise. Use
27371 preprocessor conditionals.
27372
e9d66f6d 273732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27374
27375 * conf/common.rmk (grub-dumpbios): Remove rule.
27376 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27377 * util/grub-dumpbios.in: Remove file.
27378
9155bc17 273792009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27380
27381 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27382 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27383
27384 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27385 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27386 users.
27387
27388 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27389 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27390 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27391 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27392 users.
27393
bf7f7a18 273942009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27395
27396 * term/tparm.c: Switch to GPLv3.
27397
86564c26 273982009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27399
27400 * include/grub/i386/cpuid.h: Add header protection.
27401
5c936493 274022009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27403
27404 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27405
27406 * include/grub/i386/cpuid.h: New file.
27407 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27408 (has_longmode): Rename to ...
27409 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27410 `static' attribute.
27411 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27412 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27413 on a CPU that doesn't implement AMD64 instruction set.
27414
186e7cf2 274152009-10-06 Colin Watson <cjwatson@ubuntu.com>
27416
27417 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27418 that version.texi is rebuilt on version number changes.
27419
83b65c4a 274202009-10-06 Colin Watson <cjwatson@ubuntu.com>
27421
27422 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27423 Fixes bug #27602.
27424
d244281c 274252009-10-06 Colin Watson <cjwatson@ubuntu.com>
27426
27427 * util/i386/pc/grub-install.in: Source
27428 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27429 that the --grub-probe option will work.
27430 * util/sparc64/ieee1275/grub-install.in: Likewise.
27431
da25306d 274322009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27433
27434 * configure.ac: Bump version to 1.97~beta4.
27435
e8ee83c0 274362009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27437
27438 Resync grub-mkdevicemap in x86_64-efi.
27439
27440 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27441 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27442 `util/devicemap.c'.
27443
50dcabcf 274442009-10-01 Colin Watson <cjwatson@ubuntu.com>
27445
27446 * util/grub-editenv.c (create_envblk_file): Write new block with a
27447 .new suffix and then rename it into place, to ensure atomic
27448 creation.
27449
0e51c3a7 274502009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27451
27452 Do not automatically install headers.
27453
27454 * Makefile.in (include_DATA): Remove. Update all users.
27455
31299a95 274562009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27457
27458 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27459 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27460
27461 * util/osdetect.lua: Remove.
27462 * script/lua/lauxlib.c: Likewise.
27463 * script/lua/ldebug.c: Likewise.
27464 * script/lua/grub_main.c: Likewise.
27465 * script/lua/lauxlib.h: Likewise.
27466 * script/lua/ldebug.h: Likewise.
27467 * script/lua/ltablib.c: Likewise.
27468 * script/lua/liolib.c: Likewise.
27469 * script/lua/lstrlib.c: Likewise.
27470 * script/lua/lualib.h: Likewise.
27471 * script/lua/ldo.c: Likewise.
27472 * script/lua/ldump.c: Likewise.
27473 * script/lua/ldo.h: Likewise.
27474 * script/lua/loslib.c: Likewise.
27475 * script/lua/lundump.c: Likewise.
27476 * script/lua/grub_lib.c: Likewise.
27477 * script/lua/ldblib.c: Likewise.
27478 * script/lua/lundump.h: Likewise.
27479 * script/lua/lmem.c: Likewise.
27480 * script/lua/grub_lib.h: Likewise.
27481 * script/lua/lmathlib.c: Likewise.
27482 * script/lua/lstate.c: Likewise.
27483 * script/lua/ltm.c: Likewise.
27484 * script/lua/lvm.c: Likewise.
27485 * script/lua/lmem.h: Likewise.
27486 * script/lua/lstate.h: Likewise.
27487 * script/lua/ltm.h: Likewise.
27488 * script/lua/ltable.c: Likewise.
27489 * script/lua/lvm.h: Likewise.
27490 * script/lua/llex.c: Likewise.
27491 * script/lua/lgc.c: Likewise.
27492 * script/lua/grub_lua.h: Likewise.
27493 * script/lua/loadlib.c: Likewise.
27494 * script/lua/lfunc.c: Likewise.
27495 * script/lua/lopcodes.c: Likewise.
27496 * script/lua/lparser.c: Likewise.
27497 * script/lua/ltable.h: Likewise.
27498 * script/lua/llex.h: Likewise.
27499 * script/lua/lgc.h: Likewise.
27500 * script/lua/lfunc.h: Likewise.
27501 * script/lua/lbaselib.c: Likewise.
27502 * script/lua/lopcodes.h: Likewise.
27503 * script/lua/lparser.h: Likewise.
27504 * script/lua/lzio.c: Likewise.
27505 * script/lua/linit.c: Likewise.
27506 * script/lua/lobject.c: Likewise.
27507 * script/lua/llimits.h: Likewise.
27508 * script/lua/lstring.c: Likewise.
27509 * script/lua/lzio.h: Likewise.
27510 * script/lua/lapi.c: Likewise.
27511 * script/lua/lcode.c: Likewise.
27512 * script/lua/lua.h: Likewise.
27513 * script/lua/lobject.h: Likewise.
27514 * script/lua/lstring.h: Likewise.
27515 * script/lua/lapi.h: Likewise.
27516 * script/lua/lcode.h: Likewise.
27517 * script/lua/luaconf.h: Likewise.
27518
cb8a2c38 275192009-09-26 Colin Watson <cjwatson@ubuntu.com>
27520
27521 * docs/grub.texi (Command-line and menu entry commands): Document
27522 date and echo commands.
27523
6b9b6276 275242009-09-24 Pavel Roskin <proski@gnu.org>
27525
27526 * include/grub/kernel.h (struct grub_module_header): Remove
27527 `grub_module_header_types'. Make `type' unsigned. Make `size'
27528 32-bit on all platforms.
27529 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27530 8-bit field. Use grub_host_to_target32() for `size'.
27531 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27532 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27533 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27534
4e5a02a7 275352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27536
27537 Fix "lost keypress" bug in at_keyboard.
27538
27539 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27540 Checks for readyness of input buffer (without flushing it).
27541 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27542 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27543
c6dcedf6 275442009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27545
27546 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27547 size check within GRUB_MACHINE_PCBIOS section.
27548
74c958b1 275492009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27550
27551 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27552 return value.
27553 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27554 KEYBOARD_ISREADY check.
27555 (grub_at_keyboard_checkkey): Rename to ...
27556 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27557 Remove gratuitous cast.
27558
ff420223 275592009-09-23 Colin Watson <cjwatson@ubuntu.com>
27560
27561 * configure.ac: Call AC_PROG_MKDIR_P.
27562 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27563 version.texi in $(builddir) rather than $(srcdir).
27564 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27565 to makeinfo's @include search path.
27566
d96875df 275672009-09-23 Felix Zielcke <fzielcke@z-51.de>
27568
27569 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27570
9b3f8365 275712009-09-23 Felix Zielcke <fzielcke@z-51.de>
27572
27573 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27574 for `*.dpkg-new'.
27575
c44c90db 275762009-09-21 Colin Watson <cjwatson@ubuntu.com>
27577
27578 Build info documentation. Some code borrowed from Automake.
27579
27580 * configure.ac: Check for makeinfo.
27581 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27582 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27583 docs/version.texi.
27584 (MOSTLYCLEANFILES): Add vti.tmp.
27585 (docs/version.texi, docs/stamp-vti): Update automatically.
27586 (docs/grub.info): Build info documentation. Use --force and ignore
27587 errors for now.
27588 (all-local): Add $(INFOS).
27589 (install-local): Install info files.
27590 (uninstall): Uninstall info files.
27591 * docs/version.texi: Remove from revision control. This file is
27592 automatically generated on build now.
27593 * gendistlist.sh: Add `*.info'.
27594
e0b37bb5 275952009-09-21 Felix Zielcke <fzielcke@z-51.de>
27596
27597 * kern/term.c: Fix indentation.
27598
5a78865b 275992009-09-21 Felix Zielcke <fzielcke@z-51.de>
27600
27601 * util/hostdisk.c: Fix a comment.
27602
dace7e8a 276032009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27604
27605 Fix regression introduced in r2539.
27606
27607 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27608 to 0xA1.
27609
a83d079b 276102009-09-19 Colin Watson <cjwatson@ubuntu.com>
27611
27612 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27613 os-prober. Under normal operation, it does not print anything to
27614 stderr; if it does, we need to debug it, and throwing away stderr
27615 makes that excessively difficult.
a83d079b 27616
be94a509 276172009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27618
27619 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27620
63f745e8 276212009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27622
27623 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27624 AC_LANG_PROGRAM from autoconf.
27625 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27626 prototypes (fixes warning).
27627
27628 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27629 `--disable-werror' was used.
27630
bbb2a70f 276312009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27632
27633 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27634 uninitialized `lastaddr'.
27635
77c24f1d 276362009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27637
0f0b8c87 27638 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27639
07197f23 276402009-09-14 Colin Watson <cjwatson@ubuntu.com>
27641
27642 * commands/test.c (get_fileinfo): Return immediately if
27643 grub_fs_probe fails.
27644
dabf1798 276452009-09-14 José Martínez <xosemp@gmail.com>
27646
27647 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27648
d52109a7 276492009-09-14 Colin Watson <cjwatson@ubuntu.com>
27650
27651 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27652 output.
27653
56532179 276542009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27655
27656 * configure.ac: Remove --enable-grub-pe2elf. Only build
27657 grub-pe2elf when needed by the build system itself.
27658 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27659
8ef070f5 276602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27661
27662 * configure.ac: Bump version to 1.97~beta3.
27663 * docs/version.texi: Likewise.
27664
61229557 276652009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27666
27667 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27668 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27669 from here ...
27670 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27671 (grub_linux_setup_video): ... to here (with some adjustments).
27672
5c9f8d84 276732009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27674
27675 Fix memory corruption issue (spotted by Colin Watson).
27676
27677 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27678 causing returned size to be stored in an incorrect memory location.
27679 Fix use of uninitialized value when storing the returned size.
27680
e8f5d6e9 276812009-09-12 Yves Blusseau <blusseau@zetam.org>
27682
27683 Change clean rules to properly remove files
27684
27685 * genmk.rb: add new clean rules
27686 * Makefile.in (clean): add the new targets
27687 (mostlyclean): likewise
27688
cda2a409 276892009-09-11 Colin Watson <cjwatson@ubuntu.com>
27690
27691 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27692 to grub_uint64_t.
27693 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27694 non-resident files.
27695
86695375 276962009-09-11 Colin Watson <cjwatson@ubuntu.com>
27697
27698 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27699 part of bug #27349.
27700
8aa1541a 277012009-09-10 Felix Zielcke <fzielcke@z-51.de>
27702
27703 * util/grub-mkconfig.in: Make the created config mode 400 and
27704 print a warning if it fails.
27705
48d9bb0a 277062009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27707
27708 * util/grub.d/40_custom.in: Ask user to type custom entries below
27709 comment, rather than below 'exec tail' line.
27710
3b0521be 277112009-09-10 Colin Watson <cjwatson@ubuntu.com>
27712
27713 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27714 visible in grub.cfg.
27715
50051d55 277162009-09-10 Colin Watson <cjwatson@ubuntu.com>
27717
27718 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27719 file.
27720
c0d34387 277212009-09-10 Felix Zielcke <fzielcke@z-51.de>
27722
27723 * docs/grub.cfg: Add an example menu entry for memtest86+.
27724
80a608f3 277252009-09-09 Felix Zielcke <fzielcke@z-51.de>
27726
a2094832 27727 * config.guess: Update to latest version from config git.
80a608f3 27728 * config.sub: Likewise.
27729
99423078 277302009-09-08 Colin Watson <cjwatson@ubuntu.com>
27731
27732 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27733 unknown-command case. Fixes bug #27320.
27734
44454e4c 277352009-09-08 Felix Zielcke <fzielcke@z-51.de>
27736
27737 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27738 `help' if the command exists.
27739
e30d87ad 277402009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27741
27742 * INSTALL: Require GCC 4.1.3 or later.
27743
9a86f1ec 277442009-09-06 Yves Blusseau <blusseau@zetam.org>
27745
27746 * Makefile.in (RMKFILES): add i386-qemu.rmk
27747 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27748 $(srcdir)/stamp-h.in
27749
7f26d466 277502009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27751
27752 * util/grub-probe.c (probe): Comment out buggy codepath, which
27753 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27754 should be re-enabled after 1.97.
27755
3a613259 277562009-09-05 Felix Zielcke <fzielcke@z-51.de>
27757
27758 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27759 find searches for.
27760
197f76c7 277612009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27762
27763 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27764 unnecessary calls to grub_error.
27765
70ba68ce 277662009-09-04 Colin Watson <cjwatson@ubuntu.com>
27767
27768 * NEWS: Mention `keystatus' and Unicode fonts.
27769
4ff0d7a4 277702009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27771
27772 * configure.ac: Bump version to 1.97~beta2.
27773 * docs/version.texi: Likewise.
27774
77c55a87 277752009-09-03 Colin Watson <cjwatson@ubuntu.com>
27776
27777 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27778 containing unwind information in some cases where it previously did
27779 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27780 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27781 discussion.
27782
f79572cd 277832009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27784
27785 Embedding loadenv module into grub-emu
27786
27787 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27788 commands/loadenv.c
27789 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27790 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27791 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27793 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27794 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27795
93a81088 277962009-09-03 Magnus Granberg <zorry@ume.nu>
27797
27798 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27799 include -fPIE in the default specs.
27800 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27801 to TARGET_CFLAGS.
27802
160034b2 278032009-09-03 Felix Zielcke <fzielcke@z-51.de>
27804
27805 * INSTALL: Note that GNU Bison 2.3 or later is required.
27806
087c07c4 278072009-09-03 Colin Watson <cjwatson@ubuntu.com>
27808
27809 * kern/i386/pc/startup.S: Fix typo.
27810
cbf978c0 278112009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27812
27813 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27814 according to GCS.
27815
278162009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27817
27818 * docs/grub.texi (Naming convention): Describe one-based partition
27819 numbering.
27820 (Device syntax): Likewise.
27821 (File name syntax): Likewise.
27822 (Block list syntax): Likewise.
27823 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27824 menu.lst.
27825 (File name syntax): Likewise.
27826 (Command-line and menu entry commands): Document acpi, blocklist,
27827 crc, export, insmod, keystatus, ls, set, and unset commands.
27828
f3e8cdfd 278292009-09-02 Colin Watson <cjwatson@ubuntu.com>
27830
27831 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27832 to avoid implying that only one of --shift, --ctrl, or --alt may be
27833 used.
27834
c0bc232b 278352009-09-02 Colin Watson <cjwatson@ubuntu.com>
27836
27837 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27838 rather than comparing against S_IFREG, which will almost never work.
27839
aa0f752d 278402009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27841
27842 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27843 (write_blocklists): Likewise.
27844
ecb3166a 278452009-09-01 Colin Watson <cjwatson@ubuntu.com>
27846
27847 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27848 argument to grub_printf.
27849
c403a125 278502009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27851
27852 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27853 non GNU test.
31aba781 27854
b5e7312c 278552009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27856
27857 * kern/file.c (grub_file_read): Spelling fix
27858
fe00f472 278592009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27860
27861 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27862 loading of headers in some cases.
27863
cc55302e 278642009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27865
27866 * configure.ac: Bump version to 1.97~beta1.
27867 * docs/version.texi: Likewise.
27868
5c90cdd2 278692009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27870
27871 * include/grub/i386/xnu.h: Add license header.
27872 include grub/err.h explicitly.
27873
c90edae4 278742009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27875
27876 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27877 to `ufs' in the vfs.root.mountfrom kernel parameter.
27878
d8888b5c 278792009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27880
27881 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27882
27883 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27884 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27885
27886 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27887 `ARRAY_SIZE' macro.
27888
6f07b921 278892009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27890
27891 * kern/file.c (grub_file_read): Check offset.
27892 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27893 * fs/jfs.c (grub_jfs_read_file): Likewise.
27894 * fs/ntfs.c (grub_ntfs_read): Likewise.
27895 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27896 * fs/minix.c (grub_minix_read_file): Correct offset check.
27897 * fs/ufs.c (grub_ufs_read_file): Likewise.
27898
b4f34077 278992009-08-28 Colin Watson <cjwatson@ubuntu.com>
27900
27901 * term/i386/pc/console.c (bios_data_area): Cast
27902 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27903
e7c69859 279042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27905
27906 1-bit optimised blitters.
27907
27908 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27909 prototype.
27910 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27911 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27912 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27913 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27914 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27915 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27916 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27917 function.
27918 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27919 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27920 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27921 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27922 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27923 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27924 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27925 when possible.
27926 * video/video.c (grub_video_get_blit_format): Return
27927 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27928
a57da43f 279292009-08-28 Colin Watson <cjwatson@ubuntu.com>
27930
27931 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27932 the first argument to grub_printf.
27933
4cbe67e5 279342009-08-28 Colin Watson <cjwatson@ubuntu.com>
279352009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27936
27937 Add `getkeystatus' terminal method. Add a new `keystatus' command
27938 to query it.
27939
27940 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27941 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27942 modifier key bitmasks.
27943 (struct grub_term_input): Add `getkeystatus' member.
27944 (grub_getkeystatus): Add prototype.
27945 * kern/term.c (grub_getkeystatus): New function.
27946
27947 * include/grub/i386/pc/memory.h
27948 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27949 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27950 Data Area layout.
27951 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27952 (grub_console_term_input): Set `getkeystatus' member.
27953 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27954 constants.
27955 (grub_usb_keyboard_getreport): Likewise.
27956 (grub_usb_keyboard_checkkey): Likewise.
27957 (grub_usb_keyboard_getkeystatus): New function.
27958 (grub_usb_keyboard_term): Set `getkeystatus' member.
27959
27960 * commands/keystatus.c: New file.
27961 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27962 (keystatus_mod_SOURCES): New variable.
27963 (keystatus_mod_CFLAGS): Likewise.
27964 (keystatus_mod_LDFLAGS): Likewise.
27965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27966 commands/keystatus.c.
27967 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27968 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27969 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27971 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27972 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27973
6e2a9085 279742009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27975
27976 Split befs.mod and afs.mod into *_be.mod and *.mod
27977
27978 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27979 (grub_fstest_SOURCES): Likewise.
27980 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27981 (afs_be_mod_SOURCES): New variable.
27982 (afs_be_mod_CFLAGS): Likewise.
27983 (afs_be_mod_LDFLAGS): Likewise.
27984 (befs_be_mod_SOURCES): Likewise.
27985 (befs_be_mod_CFLAGS): Likewise.
27986 (befs_be_mod_LDFLAGS): Likewise.
27987 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27988 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27989 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27990 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27991 (grub_emu_SOURCES): Likewise.
27992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27993 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27994 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27995 * fs/afs_be.c: New file.
27996 * fs/befs_be.c: New file.
27997 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27998 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27999 (U16): Replaced with ...
28000 (grub_afs_to_cpu16): ...this. All users updated.
28001 (U32): Replaced with ...
28002 (grub_afs_to_cpu32): ...this. All users updated.
28003 (U64): Replaced with ...
28004 (grub_afs_to_cpu64): ...this. All users updated.
28005 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28006 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 28007 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 28008 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28009 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28010 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28011 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28012 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28013 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28014 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28015 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28016
32a71655 280172009-08-26 Bean <bean123ch@gmail.com>
28018
28019 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28020 64-bit number.
28021 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28022 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28023 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28024
552bf6c5 280252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28026
28027 NetBSD memory map support.
28028
28029 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28030 (grub_netbsd_btinfo_mmap_header): New structure.
28031 (grub_netbsd_btinfo_mmap_entry): Likewise.
28032 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28033
1ae2078c 280342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 Enable bsd.mod on coreboot.
28037
28038 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28039 (bsd_mod_SOURCES): New variable.
28040 (bsd_mod_CFLAGS): Likewise.
28041 (bsd_mod_LDFLAGS): Likewise.
28042 (bsd_mod_ASFLAGS): Likewise.
28043 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28044 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28045
beefc598 280462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 Cleanup NetBSD root support.
28049
28050 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28051 grub_bsd_get_device.
28052 Fix typo.
28053
3b76e68b 280542009-08-25 Felix Zielcke <fzielcke@z-51.de>
28055
28056 * util/grub.d/00_header.in: Move check for the video backend of
28057 gfxterm from here ...
28058 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28059 a suitable video backend.
28060
aea664ea 280612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 Fix breakage in grub-setup.
28064
28065 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28066 "msdos_partition_map".
28067
ff747d50 280682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28069
28070 Fix breakage in normal/auth.c.
28071
28072 * normal/auth.c (grub_iswordseparator): New function.
28073
e7e1f93f 280742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28075
28076 Authentication support.
28077
28078 * commands/password.c: New file.
28079 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28080 (password_mod_SOURCES): New variable.
28081 (password_mod_CFLAGS): Likewise.
28082 (password_mod_LDFLAGS): Likewise.
28083 (normal_mod_SOURCES): Add normal/auth.c.
28084 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28085 normal/auth.c.
28086 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28087 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28088 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28090 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28091 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28092 * include/grub/auth.h: New file.
28093 * include/grub/err.h (grub_err_t): New enum value
28094 GRUB_ERR_ACCESS_DENIED.
28095 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28096 'users'.
28097 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28098 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28099 users updated.
28100 * normal/auth.c: New file.
28101 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28102 (grub_cmdline_run): Don't allow to go to command line without
28103 authentication.
28104 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28105 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28106 menuentry without superuser rights.
28107 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28108 user isn't a superuser.
28109
70f1161d 281102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28111
28112 Save space by inlining misc.c functions.
28113
28114 * kern/misc.c (grub_iswordseparator): Made static.
28115 * kern/misc.c (grub_strcat): Moved from here ...
28116 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28117 * kern/misc.c (grub_strncat): Moved from here ...
28118 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28119 * kern/misc.c (grub_strcasecmp): Moved from here ...
28120 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28121 * kern/misc.c (grub_strncasecmp): Moved from here ...
28122 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28123 * kern/misc.c (grub_isalpha): Moved from here ...
28124 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28125 * kern/misc.c (grub_isdigit): Moved from here ...
28126 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28127 * kern/misc.c (grub_isgraph): Moved from here ...
28128 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28129 * kern/misc.c (grub_tolower): Moved from here ...
28130 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28131
48e40bff 281322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * script/sh/function.c (grub_script_function_find): Cut error message
28135 not to flood terminal.
28136 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28137 limit.
28138 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28139
c385bfc3 281402009-08-24 Colin Watson <cjwatson@ubuntu.com>
28141
28142 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28143 `report' grub_uint8_t *.
28144 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28145 Use a 50-millisecond timeout rather than just repeating
28146 grub_usb_keyboard_getreport 50 times.
28147 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28148
2d21e3e8 281492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28150
28151 Rename *_partition_map to part_*
28152
28153 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28154 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28155 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28156 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28157 All users updated.
28158 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28159 All users updated.
28160 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28161 * util/grub-probe.c (probe_partmap): Don't transform partition name
28162 to get module name.
28163
dd103c4e 281642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 Fix OpenBSD and NetBSD support.
28167
28168 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28169 memory address conflict.
28170 (OPENBSD_MMAP_ACPI): New definition.
28171 (OPENBSD_MMAP_NVS): Likewise.
28172 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28173 and OPENBSD_MMAP_NVS.
28174 Add memory map terminator
28175 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 28176 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 28177
16c84d74 281782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 Let user specify NetBSD root device.
28181
28182 * loader/i386/bsd.c (netbsd_root): New variable.
28183 (netbsd_opts): New option 'root'.
28184 (NETBSD_ROOT_ARG): New macro.
28185 (grub_netbsd_boot): Use 'netbsd_root'.
28186 (grub_bsd_unload): Free 'netbsd_root'.
28187 (grub_cmd_netbsd): Fill 'netbsd_root'.
28188
adb29902 281892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 Support for 64-bit NetBSD.
28192
28193 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28194 point when booting non-FreeBSD.
28195
f5ae9f74 281962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 Support --no-smp and --no-acpi for NetBSD.
28199
28200 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28201 (NETBSD_AB_NOACPI): Likewise.
28202 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28203 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28204
de74f136 282052009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28208 errors.
28209 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28210 errors. Call grub_error when needed.
28211
e9a925da 282122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 * commands/search.c (search_fs): Try searching without autoload first.
28215 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28216 filesystem module explicitly for faster booting.
28217
5174302b 282182009-08-23 Colin Watson <cjwatson@ubuntu.com>
28219
28220 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28221
c8c80635 282222009-08-23 Colin Watson <cjwatson@ubuntu.com>
28223
28224 * util/grub.d/30_os-prober.in: Disable os-prober if
28225 `GRUB_DISABLE_OS_PROBER' was set to true.
28226
71acf5e5 282272009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28228
28229 * partmap/pc.c: Rename to ...
28230 * partmap/msdos.c: ... this. Update all users.
28231 (grub_pc_partition_map): Rename to ...
28232 (grub_msdos_partition_map): ... this. Update all users.
28233
28234 * parttool/pcpart.c: Rename to ...
28235 * parttool/msdospart.c: ... this. Update all users.
28236
28237 * include/grub/pc_partition.h: Rename to ...
28238 * include/grub/msdos_partition.h: ... this. Update all users.
28239 (grub_pc_partition_bsd_entry): Rename to ...
28240 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28241 (grub_pc_partition_disk_label): Rename to ...
28242 (grub_msdos_partition_disk_label): ... this. Update all users.
28243 (grub_pc_partition_entry): Rename to ...
28244 (grub_msdos_partition_entry): ... this. Update all users.
28245 (grub_pc_partition_mbr): Rename to ...
28246 (grub_msdos_partition_mbr): ... this. Update all users.
28247 (grub_pc_partition): Rename to ...
28248 (grub_msdos_partition): ... this. Update all users.
28249 (grub_pc_partition_is_empty): Rename to ...
28250 (grub_msdos_partition_is_empty): ... this. Update all users.
28251 (grub_pc_partition_is_extended): Rename to ...
28252 (grub_msdos_partition_is_extended): ... this. Update all users.
28253 (grub_pc_partition_is_bsd): Rename to ...
28254 (grub_msdos_partition_is_bsd): ... this. Update all users.
28255
28256 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28257 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28258 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28259 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28260 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28261 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28262 (gpt_mod_LDFLAGS): Rename to ...
28263 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28264 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28265 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28266 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28267 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28268 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28269 (part_gpt_mod_LDFLAGS): ... this.
28270 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28271 `pcpart.mod' to `msdospart.mod'.
28272 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28273 to ...
28274 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28275 (msdospart_mod_LDFLAGS): ... this.
28276
c11fded5 282772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28278
28279 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28280 (openbsd_opts): Likewise.
28281 (netbsd_opts): Likewise.
28282 (freebsd_flags): Added 0 terminator.
28283 (openbsd_flags): Likewise.
28284 (netbsd_flags): Likewise.
28285 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28286 (grub_cmd_freebsd): Transformed into extended command.
28287 (grub_cmd_openbsd): Likewise.
28288 (grub_cmd_netbsd): Likewise.
28289 (cmd_freebsd): Changed type to grub_extcmd_t.
28290 (cmd_openbsd): Likewise.
28291 (cmd_netbsd): Likewise.
28292 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28293 grub_cmd_openbsd as extended commands.
28294 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28295 cmd_netbsd and cmd_openbsd
28296
11d1c769 282972009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28300
7a9094e5 283012009-08-21 Pavel Roskin <proski@gnu.org>
28302
5496c37e 28303 * Makefile.in (install-local): When checking if a file is in the
28304 build directory, use "test -e" to detect symlinks.
28305
7a9094e5 28306 * Makefile.in (install-local): Remove all files in
28307 $(DESTDIR)$(pkglibdir) before installing new files there.
28308
e53cea11 283092009-08-18 Felix Zielcke <fzielcke@z-51.de>
28310
28311 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28312 grub-mkelfimage.
28313
9aced544 283142009-08-18 Felix Zielcke <fzielcke@z-51.de>
28315
28316 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28317 explicitly specified by the user.
28318
b7da6bab 283192009-08-18 Pavel Roskin <proski@gnu.org>
28320
28321 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28322 grub_uint8_t pointer for data.
28323 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28324 Likewise.
28325 * video/fb/fbutil.c: Remove unnecessary casts.
28326
19f1b335 283272009-08-17 Michal Suchanek <hramrach@centrum.cz>
28328
28329 VBE cleanup.
28330
28331 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28332 (grub_vbe_set_video_mode): Save active mode info
28333 only after setting the mode.
28334 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28335 second argument.
28336
2f467aa9 283372009-08-17 Michal Suchanek <hramrach@centrum.cz>
28338
28339 Rename variables for clarity.
28340
28341 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28342 (active_vbe_mode_info): ... this. All users updated.
28343 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28344 All users updated.
28345 (initial_mode): Rename to ...
28346 (initial_vbe_mode): ... this. All users updated.
28347 (mode_in_use): Rename to ..
28348 (vbe_mode_in_use): ... this. All users updated.
28349 (mode_list): Rename to ..
28350 (vbe_mode_list): ... this. All users updated.
28351 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28352 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28353 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28354 'mode_list_size' to 'vbe_mode_list_size'.
28355 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28356 'best_mode_info' to 'best_vbe_mode_info' and
28357 'best_mode' to 'best_vbe_mode'
28358
6025fcd7 283592009-08-17 Michal Suchanek <hramrach@centrum.cz>
28360
28361 Remove duplicate grub_video_fb_get_video_ptr.
28362
28363 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28364 (grub_video_fb_get_video_ptr): ... this.
28365 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28366 * video/fb/fbutil.c: Add comment about addressing.
28367 (get_data_ptr): Rename to ...
28368 (grub_video_fb_get_video_ptr): ... this. All users updated.
28369 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28370
cc8c6faf 283712009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28372
28373 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28374 grub_dprintf() that was just added.
28375
08aa61f0 283762009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28377
28378 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28379 (DEFAULT_VIDEO_MODE): Remove macros.
28380 (grub_linux_boot): Remove assumption that Linux has FB support,
28381 and use "text" as default video mode.
28382
7cef4f75 283832009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28386 grub_dprintf.
28387 * fs/fat.c (grub_fat_read_data): Likewise.
28388
e1f39873 283892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28390
28391 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28392 payload.
28393 (grub_module): Likewise.
28394
c166d79e 283952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28396
28397 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28398 mbi->cmdline but free playground.
28399
c60cee8e 284002009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28401
28402 Handle group offset on UFS1.
28403
28404 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28405 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28406
c0d8b5d4 284072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 Split ufs.mod into ufs1.mod and ufs2.mod.
28410
28411 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28412 (grub_fstest_SOURCES): Likewise.
28413 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28414 (ufs_mod_SOURCES): Remove.
28415 (ufs_mod_CFLAGS): Likewise.
28416 (ufs_mod_LDFLAGS): Likewise.
28417 (ufs1_mod_SOURCES): New variable.
28418 (ufs1_mod_CFLAGS): Likewise.
28419 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28420 (ufs2_mod_SOURCES): New variable.
28421 (ufs2_mod_CFLAGS): Likewise.
28422 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28424 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28425 Likewise.
28426 (grub_emu_SOURCES): Likewise.
28427 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28428 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28429 (grub_setup_SOURCES): Likewise.
28430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28431 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28432 (grub_setup_SOURCES): Likewise.
28433 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28434 Likewise.
28435 * fs/ufs2.c: New file.
28436 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28437
d3539132 284382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28439
28440 Framebuffer split.
28441
28442 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28443 subsystem at the end.
28444 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28445 (video_fb_mod_SOURCES): New variable.
28446 (video_fb_mod_CFLAGS): Likewise.
28447 (video_fb_mod_LDFLAGS): Likewise.
28448 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28449 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28450 * video/i386/pc/vbeblit.c: Moved from here ...
28451 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28452 * video/i386/pc/vbefill.c: Moved from here ...
28453 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28454 * video/i386/pc/vbeutil.c: Moved from here ...
28455 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28456 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28457 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28458 * include/grub/i386/pc/vbefill.h: Moved from here ...
28459 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28460 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28461 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28462 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28463 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28464 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28465 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28466 (grub_video_adapter): Added 'get_info_and_fini'.
28467 (grub_video_get_info_and_fini): New prototype.
28468 (grub_video_set_mode): make modestring const char *.
28469 * loader/i386/linux.c (grub_linux_setup_video): Use
28470 grub_video_get_info_and_fini.
28471 (grub_linux_boot): Move modesetting just before booting.
28472 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28473 grub_video_get_info_and_fini.
28474 * video/i386/pc/vbe.c: Moved framebuffer part ...
28475 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28476 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28477 grub_video_fbstd_colors and grub_video_fb_set_palette.
28478 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28479 grub_video_fb_init.
28480 (grub_video_vbe_fini): Use grub_video_fb_fini.
28481 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28482 render_target and use grub_video_fb_set_active_render_target and
28483 grub_video_fb_set_palette.
28484 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28485 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28486 (grub_video_vbe_adapter): Use framebuffer.
28487 * video/video.c (grub_video_get_info_and_fini): New function.
28488 (grub_video_set_mode): Make modestring const char *.
28489 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28490 values are already initialised.
28491
d404ee56 284922009-08-14 Pavel Roskin <proski@gnu.org>
28493
28494 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28495 ABS and APPLE_CC.
28496 * boot/i386/pc/diskboot.S: Likewise.
28497 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28498 sectors allow compilation on MacOSX.
28499 * conf/i386-pc.rmk: Enable unconditional compilation of
28500 lnxboot.img.
28501
9a10df16 285022009-08-13 Colin Watson <cjwatson@ubuntu.com>
28503
28504 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28505 * util/grub.d/00_header.in: Enter interruptible sleep if
28506 GRUB_HIDDEN_TIMEOUT is set.
28507
be3c9ca7 285082009-08-13 Yves Blusseau <blusseau@zetam.org>
28509
28510 * include/grub/symbol.h: Add the LOCAL macro.
28511 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28512 starting with "L_".
28513
1f9e557e 285142009-08-13 Pavel Roskin <proski@gnu.org>
28515
9ca62843 28516 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28517 any modern compilers we support.
28518
1f9e557e 28519 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28520 Use local labels starting with "L_" so that Apple assembler
28521 knows they are local.
28522
81623db6 285232009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28526 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28527 (bsd_kernel_types): ... this enum.
28528
28529 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28530 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28531 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28532
28533 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28534 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28535 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28536 messages.
28537
f5d35e7a 285382009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28539
28540 * util/grub-dumpdevtree: Moved from here ...
28541 * util/i386/efi/grub-dumpdevtree: ... to here.
28542 (hexify): New function. Converts a string to its hex version.
28543 Generate hex versions of "efi" and "device-properties" by calling
28544 hexify() on the ASCII strings rather than by hardcoding numbers.
28545
d1e1d527 285462009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28547
28548 * fs/jfs.c: Update copyright year.
28549
1ebbe064 285502009-08-08 Felix Zielcke <fzielcke@z-51.de>
28551
28552 * util/grub.d/00_header.in: Fix a comment.
28553 * util/grub.d/10_linux.in: Likewise.
28554 * util/grub.d/10_windows.in: Likewise.
28555 * util/grub.d/10_hurd.in: Likewise.
28556
a78c8d24 285572009-08-08 Felix Zielcke <fzielcke@z-51.de>
28558
28559 * util/grub-mkconfig.in: Allow the user to specify the used font
28560 with GRUB_FONT.
28561
29a6b9e8 285622009-08-08 Pavel Roskin <proski@gnu.org>
28563
b5f16cc4 28564 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28565 available, xfs.mod needs it now.
28566
2f5cb827 28567 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28568 the "g" modifier in sed when the intention is to strip something
28569 once. This fixes comparison of kernels with multiple dashes.
28570
29a6b9e8 28571 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28572 on it. Add missing space before closing bracket. Fix
28573 misleading formatting.
28574
892a3d98 285752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28576
28577 * docs/grub.texi: Major overhaul. Remove all sections that are
28578 specific to GRUB Legacy, or mostly composed of Legacy-specific
28579 information.
28580
ed94253f 285812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28582
28583 * docs/version.texi: New file. Provides version information for
28584 grub.texi.
28585
126d6628 285862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28587
28588 * docs/grub.texi: Update CVS information to SVN.
28589 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28590
998b5aa9 285912009-08-07 Felix Zielcke <fzielcke@z-51.de>
28592
28593 * util/grub-mkconfig.in: Remove a wrong `fi'.
28594
818e094a 285952009-08-07 Felix Zielcke <fzielcke@z-51.de>
28596
28597 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28598 (grub_jfs_uuid): New function.
28599 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28600
b969c52f 286012009-08-07 Felix Zielcke <fzielcke@z-51.de>
28602
28603 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28604 of it to ...
28605 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28606 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28607
7a4894cc 286082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28609
28610 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28611 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28612 Update all users.
28613
28614 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28615 not just "vmlinu[zx]".
28616 Moved from here ...
28617 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28618 all users.
28619
28620 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28621 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28622 all users.
28623
4e2171f8 286242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28625
28626 * util/grub.d/10_freebsd.in: Use an absolute device path for
28627 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28628
6dcfcb32 286292009-08-06 Felix Zielcke <fzielcke@z-51.de>
28630
28631 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28632 handling of multiple abstraction modules.
28633
f56a8756 286342009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28635
28636 Fix a bug resulting in black screen when loading Linux using a
28637 packed video mode.
28638
28639 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28640 function.
28641
28642 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28643 (grub_vbe_bios_getset_dac_palette_width): New function.
28644 (grub_vbe_bios_get_dac_palette_width)
28645 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28646 grub_vbe_bios_getset_dac_palette_width()).
28647
28648 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28649 check for return status.
28650 (grub_vbe_get_video_mode_info): When getting information for a packed
28651 mode (<= 8 bpp), obtain DAC palette width using
28652 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28653 {red,green,blue}_mark_size.
28654
222671b2 286552009-08-04 Felix Zielcke <fzielcke@z-51.de>
28656
ecb1a6d9 28657 * commands/search.c (options): Fix help output to match actual code.
222671b2 28658
f84114f5 286592009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28660
28661 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28662 of homegrown code.
28663
bd288a20 286642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28665
28666 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28667 on XFS or ReiserFS.
28668
8aab5e25 286692009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28670
28671 Support Apple partition map with sector size different from 512 bytes.
28672
28673 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28674 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28675 and 'apart.partmap_size'.
28676
6ad6258a 286772009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
286782009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28679
28680 Fix cpuid command.
28681
28682 * commands/i386/cpuid.c (options): New variable.
28683 (grub_cmd_cpuid): Return real error.
28684 (GRUB_MOD_INIT(cpuid)): Declare options.
28685
67459bc6 286862009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28687
28688 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28689 valid.
28690
fbc6ab54 286912009-07-31 Bean <bean123ch@gmail.com>
28692
28693 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28694 log2_inode.
28695 (grub_fshelp_node): Move inode field to the end.
28696 (grub_xfs_data): Remove inode field.
28697 (grub_xfs_inode_block): Calculate inode size using sblock.
28698 (grub_xfs_inode_offset): Likewise.
28699 (grub_xfs_read_inode): Calculate inode size using sblock.
28700 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28701 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28702 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28703 to match inode size.
28704 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28705 not accessible when data is null.
28706 (grub_xfs_open): Likewise.
28707
f45d6cfc 287082009-07-31 Bean <bean123ch@gmail.com>
28709
28710 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28711 Don't change pv->disk if it's already set.
28712
28713 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28714 (grub_raid_register): ... here.
28715 (grub_raid_rescan): Removed.
28716
28717 * include/grub/raid.h (grub_raid_rescan): Removed.
28718
28719 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28720 (fstest): Replace grub_raid_rescan with module fini function followed
28721 by init function.
28722
28723 * util/grub-probe.c: Add include file <grub/raid.h>.
28724 (probe_raid_level): New function.
28725 (probe): Detect abstraction by walking the disk device, support two
28726 level of abstraction (LVM on RAID) when detecting partition map.
28727
24443b5a 287282009-07-31 Pavel Roskin <proski@gnu.org>
28729
28730 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28731 to grub_zalloc(), it was erroneous.
28732 Reported by Bean <bean123ch@gmail.com>
28733
a275d9e7 287342009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28735
28736 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28737 embedding zone, not only the first one.
a275d9e7 28738
56c5a47f 287392009-07-29 Joe Auricchio <jauricchio@gmail.com>
28740
28741 * term/gfxterm.c (clear_char): New function.
28742 (grub_virtual_screen_setup): Use clear_char.
28743 (scroll_up): Likewise.
28744 (grub_virtual_screen_cls): Likewise.
28745
67bb323a 287462009-07-29 Felix Zielcke <fzielcke@z-51.de>
28747
28748 * util/deviceiter.c (get_acceleraid_disk_name): New static
28749 function.
28750 (grub_util_iterate_devices): Handle Accelraid devices.
28751 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28752
388a7c75 287532009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28754
28755 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28756 separator for the suggested gfxpayload string (';' collides with the
28757 parser and needs escaping).
28758
3bb7abcf 287592009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28760
28761 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28762 Clear direction flag before jumping to OS.
28763 (grub_multiboot2_real_boot): Likewise.
28764
2ddd36d7 287652009-07-28 Felix Zielcke <fzielcke@z-51.de>
28766
28767 * util/i386/pc/grub-install: Fix parsing of --disk-module
28768 option.
28769
c521b62b 287702009-07-28 Felix Zielcke <fzielcke@z-51.de>
28771
28772 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28773 when embedding.
28774
880e0a0c 287752009-07-26 Felix Zielcke <fzielcke@z-51.de>
28776
28777 * util/grub-mkconfig.in (package_version): New variable.
28778 Use it do display the version.
28779
2366e356 287802009-07-25 Felix Zielcke <fzielcke@z-51.de>
28781
28782 * kern/file.c (grub_file_open): Revert to previous check with
28783 grub_errno.
28784
7ad8c80e 287852009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28786
28787 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28788 from help line. It's out of sync with code.
28789
72b9658b 287902009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28791
28792 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28793 entries on failed boot.
28794
77435277 287952009-07-25 Felix Zielcke <fzielcke@z-51.de>
28796
28797 * kern/file.c (grub_file_open): Fix an error check.
28798
fcaa8b21 287992009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28800
35d16c74 28801 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28802 partition map couldn't be identified.
fcaa8b21 28803
48904cd1 288042009-07-23 Pavel Roskin <proski@gnu.org>
28805
ef3c317f 28806 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28807 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28808 case of little endian words becomes just an optimization.
28809 Respect const modifier.
ad8ea1f4 28810 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28811
48904cd1 28812 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28813 to avoid loss of upper bits if align is unsigned and shorter
28814 than addr.
28815
260c9a89 288162009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 UUID support for UFS
28819
28820 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28821 (grub_ufs_uuid): New function.
28822 (grub_ufs_fs): add .uuid
28823
f76ce889 288242009-07-21 Pavel Roskin <proski@gnu.org>
28825
28826 * kern/dl.c (grub_dl_check_header): Make static.
28827
6a6cbcaf 288282009-07-21 Felix Zielcke <fzielcke@z-51.de>
28829
28830 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28831 add drivemap for Vista. It breaks Windows 7.
28832
cffcddb2 288332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28834
28835 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28836 128 bytes
28837
1ef44b80 288382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 Add BFS support
28841
28842 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28843 (grub_fstest_SOURCES): Likewise.
28844 (pkglib_MODULES): Add befs.mod.
28845 (befs_mod_SOURCES): New variable.
28846 (befs_mod_CFLAGS): Likewise.
28847 (befs_mod_LDFLAGS): Likewise.
28848 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28849 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28850 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28851 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28852 (grub_setup_SOURCES): Likewise.
28853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28854 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28855 (grub_setup_SOURCES): Likewise.
28856 * fs/befs.c: New file.
28857 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28858 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28859 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28860 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28861 (B_KEY_INDEX_ALIGN): New declaration.
28862 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28863 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28864 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28865 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28866 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28867 (grub_afs_mount) [MODE_BFS]: Likewise.
28868 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28869 (grub_afs_fs): Use GRUB_AFS_FSNAME
28870 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28871 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28872 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28873 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28874
4f253044 288752009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28876
28877 * util/getroot.c (find_root_device): Add support for MacOSX.
28878 * util/hostdisk.c: Likewise.
28879
57a55913 288802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28881
28882 * font/font.c (find_glyph): Check whether a font is present to avoid
28883 segmentation fault.
75421ca9 28884
288852009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28886
28887 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28888
e98cd0c2 288892009-07-20 Pavel Roskin <proski@gnu.org>
28890
28891 * configure.ac: Trim excessively wordy excuses.
28892
1d2d169a 288932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28894
28895 Add symlink, mtime and label support to AtheFS.
28896
28897 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28898 (grub_afs_iterate_dir): Handle symlinks.
28899 (grub_afs_open): Use grub_afs_read_symlink.
28900 (grub_afs_dir): Likewise.
28901 Pass mtime.
28902 (grub_afs_label): New function.
28903 (grub_afs_fs): Add grub_afs_label.
28904 (grub_afs_read_symlink): New function.
28905
186f3189 289062009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28907
28908 Fix AtheFS support.
28909
28910 * fs/afs.c: Fix comments style.
28911 (grub_afs_blockrun): Declare as packed.
28912 (grub_afs_datastream): Likewise.
28913 (grub_afs_bnode): Likewise.
28914 (grub_afs_btree): Likewise.
28915 (grub_afs_sblock): Likewise.
28916 Declare `name' as char.
28917 (grub_afs_inode): Declare as packed.
28918 Change void *vnode to grub_uint32_t unused.
28919 (grub_afs_iterate_dir): Check that key_size is positive.
28920 (grub_afs_mount): Don't read superblock twice.
75421ca9 28921 (grub_afs_dir): Don't free node in case of error,
186f3189 28922 grub_fshelp_find_file already handles this.
28923 (grub_afs_open): Likewise.
28924
5680109e 289252009-07-19 Pavel Roskin <proski@gnu.org>
28926
28927 * Makefile.in: Remove LIBLZO and enable_lzo.
28928 * conf/i386-pc.rmk: Remove lzo support.
28929 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28930 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28931 support.
28932 * kern/i386/pc/lzo1x.S: Remove.
28933 * kern/i386/pc/startup.S: Remove lzo support.
28934 * util/i386/pc/grub-mkimage.c: Likewise.
28935
ac70fa32 289362009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28937
28938 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28939 * fs/xfs.c (grub_xfs_dir): Likewise.
28940 * fs/afs.c (grub_afs_dir): Likewise.
28941 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28942 (grub_iso9660_open): Likewise.
28943 * fs/jfs.c (grub_jfs_open): Likewise.
28944 * fs/ext2.c (grub_ext2_dir): Likewise.
28945 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28946 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28947
eab58da2 289482009-07-16 Pavel Roskin <proski@gnu.org>
28949
d2838156 28950 * configure.ac: Never add "-c" to CFLAGS.
28951
55c70904 28952 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28953
43e6200c 28954 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28955 grub_cv_cc_efiemu should be used.
28956
ce7a733d 28957 * configure.ac: Typo fixes.
28958
eab58da2 28959 * kern/mm.c (grub_zalloc): New function.
28960 (grub_debug_zalloc): Likewise.
28961 * include/grub/mm.h: Declare grub_zalloc() and
28962 grub_debug_zalloc().
28963 * util/misc.c (grub_zalloc): New function.
28964 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28965 instead of grub_malloc(), remove unneeded initializations.
28966 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28967 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28968 * commands/parttool.c (grub_cmd_parttool): Likewise.
28969 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28970 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28971 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28972 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28973 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28974 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28975 (grub_cmd_efiemu_pnvram): Likewise.
28976 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28977 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28978 (grub_iso9660_iterate_dir): Likewise.
28979 * fs/jfs.c (grub_jfs_opendir): Likewise.
28980 * fs/ntfs.c (list_file): Likewise.
28981 (grub_ntfs_mount): Likewise.
28982 * kern/disk.c (grub_disk_open): Likewise.
28983 * kern/dl.c (grub_dl_load_core): Likewise.
28984 * kern/elf.c (grub_elf_file): Likewise.
28985 * kern/env.c (grub_env_context_open): Likewise.
28986 (grub_env_set): Likewise.
28987 (grub_env_set_data_slot): Likewise.
28988 * kern/file.c (grub_file_open): Likewise.
28989 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28990 * loader/i386/multiboot.c (grub_module): Likewise.
28991 * loader/xnu.c (grub_xnu_create_key): Likewise.
28992 (grub_xnu_create_value): Likewise.
28993 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28994 (read_config_file): Likewise.
28995 * normal/menu_entry.c (make_screen): Likewise.
28996 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28997 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28998 * script/sh/script.c (grub_script_parse): Likewise.
28999 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29000 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29001 * video/readers/png.c (grub_png_output_byte): Likewise.
29002 (grub_video_reader_png): Likewise.
29003
830afef7 290042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 29005
29006 Enable all targets that can be built by default
29007
830afef7 29008 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 29009 grub-mkfont and grub-fstest if they can be built
29010
ee293aee 290112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29012
29013 Fix hang and segmentation fault in grub-emu-usb
29014
29015 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29016 * util/usb.c (grub_libusb_devices): likewise
29017 (grub_libusb_init): rename to ...
29018 (GRUB_MOD_INIT (libusb)):...this
29019 (grub_libusb_fini): rename to ..
29020 (GRUB_MOD_FINI (libusb)):...this
29021 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29022 * include/grub/disk.h (grub_raid_init): removed, it's useless
29023 (grub_raid_fini): likewise
29024 (grub_lvm_init): likewise
29025 (grub_lvm_fini): likewise
29026 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29027 by grub_init_all
29028
94414221 290292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29030
29031 Fix libusb
29032
29033 * Makefile.in (LIBUSB): new macro
29034 * genmk.rb (Utility/print_tail): new method
29035 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29036 (top level): call util.print_tail at the end.
29037
59ade63d 290382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 Make FreeBSD accept zpool.cache
29041
29042 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29043 type is /boot/zfs/zpool.cache
29044
a58da8c7 290452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29046
29047 Fix 64-bit efiemu
29048
29049 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29050 correct wrong typedef
29051 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29052
20591577 290532009-07-15 Pavel Roskin <proski@gnu.org>
29054
560ca572 29055 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29056 * kern/disk.c (struct grub_disk_cache): Likewise.
29057
e8e8e4fd 29058 * commands/probe.c (options): Typo fix.
29059
fde24e10 29060 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29061 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29062 accordingly.
29063 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29064
379c54c1 29065 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29066 the end of "Error" to make the message more readable.
29067
7bd8f5bf 29068 * boot/i386/pc/boot.S (kernel_segment): Remove.
29069 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29070 for destination.
29071
40b132c5 29072 * boot/i386/pc/boot.S (boot_version): Remove.
29073 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29074 Remove.
29075
20591577 29076 * include/grub/i386/pc/boot.h: Sort all offsets.
29077 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29078 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29079 * boot/i386/pc/boot.S: Assert location of every offset listed in
29080 include/grub/i386/pc/boot.h.
29081
2df32b2c 290822009-07-13 Pavel Roskin <proski@gnu.org>
29083
44b5d879 29084 * include/grub/i386/coreboot/machine.h: Rename
29085 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29086 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29087 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29088
17dc3751 29089 * kern/dl.c: Force native word size to suppress warnings when
29090 compiling grub-emu.
29091
2df32b2c 29092 * kern/device.c (grub_device_iterate): Change struct part_ent to
29093 hold the name, not a pointer to it. Use one grub_malloc() per
29094 partition, not two. Free partition_name if grub_malloc() fails.
29095 Set ents to NULL only before grub_partition_iterate() is called.
29096
75c59f59 290972009-07-11 Bean <bean123ch@gmail.com>
29098
29099 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29100 childname.
29101
0ae1bf88 291022009-07-10 Bean <bean123ch@gmail.com>
291032009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29104
29105 * kern/ieee1275/openfw.c (grub_children_iterate)
29106 (grub_devalias_iterate): Fix size evaluation for property or path
29107 strings, which was broken since r2132.
29108
8279cade 291092009-07-07 Pavel Roskin <proski@gnu.org>
29110
7d8a52d3 29111 * commands/search.c (search_file): Merge into ...
29112 (search_fs): ... this. Accept search type as argument.
29113 (grub_cmd_search): Pass search type to search_fs().
29114
25f9a05a 29115 * include/grub/util/console.h: New file.
29116 * util/console.c: Use it instead of grub/machine/console.h.
29117 * util/grub-emu.c: Likewise.
29118
8279cade 29119 * lib/arg.c (find_long_option): Remove.
29120 (find_long): Add `len' argument, make `s' const char *.
29121 (grub_arg_parse): Parse long options in place, not in a
29122 temporary buffer.
29123
4a11b60f 291242009-07-06 Pavel Roskin <proski@gnu.org>
29125
99f68041 29126 * commands/search.c (search_fs): Fix potential NULL pointer
29127 dereference.
29128
4a11b60f 29129 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29130 function pointer.
29131
e110f4de 291322009-07-06 Daniel Mierswa <impulze@impulze.org>
29133
29134 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29135 comparison.
29136
46eeb6a2 291372009-07-05 Pavel Roskin <proski@gnu.org>
29138
bab74958 29139 * include/grub/i386/linux.h (struct linux_kernel_params):
29140 Restore padding3, it's still needed.
29141
46eeb6a2 29142 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29143 FreeBSD.
29144 * util/osdetect.lua: Likewise.
29145
b4a1dc79 291462009-07-05 Bean <bean123ch@gmail.com>
29147
29148 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29149
29150 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29151 (grub_lua_getenv): Likewise.
29152 (grub_lua_setenv): Likewise.
29153 (save_errno): New function.
29154 (push_result): Likewise.
29155 (grub_lua_enum_device): Likewise.
29156 (grub_lua_enum_file): Likewise.
29157 (grub_lua_file_open): Likewise.
29158 (grub_lua_file_close): Likewise.
29159 (grub_lua_file_seek): Likewise.
29160 (grub_lua_file_read): Likewise.
29161 (grub_lua_file_getline): Likewise.
29162 (grub_lua_file_getsize): Likewise.
29163 (grub_lua_file_getpos): Likewise.
29164 (grub_lua_file_eof): Likewise.
29165 (grub_lua_file_exist): Likewise.
29166 (grub_lua_add_menu): Likewise.
29167
29168 * script/lua/grub_lua.h (isupper): New inline function.
29169 (islower): Likewise.
29170 (ispunct): Likewise.
29171 (isxdigit): Likewise.
29172 (strcspn): Change to normal function.
29173 (strpbkr): New function declaration.
29174 (memchr): Likewise.
29175
29176 * script/lua/grub_main.c (scan_str): New function.
29177 (strcspn): Likewise.
29178 (strpbrk): Likewise.
29179 (memchr): Likewise.
29180
29181 * script/lua/linit.c (lualibs): Enable the string library.
29182
29183 * util/osdetect.lua: New file.
29184
2da92295 291852009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29186
29187 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29188 `capabilities' member.
29189
b2582ec9 291902009-07-02 Pavel Roskin <proski@gnu.org>
29191
29192 * genparttoollist.sh: Add missing newline at the end.
29193
32622956 291942009-07-01 Pavel Roskin <proski@gnu.org>
29195
87a7339e 29196 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29197
d23af54e 29198 * util/hostdisk.c (open_device): Remove `const' from
29199 `sysctl_size', as sysctlbyname() can change it (in this case it
29200 doesn't actually happen).
29201
c94b18a9 29202 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29203 using signed long int constants.
29204
c6cd3ef0 29205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29206 constant to avoid a warning on FreeBSD.
29207
0df63420 29208 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29209 where it's needed.
29210
999577f1 29211 * Makefile.in: Install include/grub/machine symlink.
29212
6f41557f 29213 * Makefile.in: When installing symlinks, use "cp -fR", which
29214 works on FreeBSD and MacOSX.
29215 From Yves Blusseau <cl7m42e02@sneakemail.com>
29216
c8d22988 29217 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29218 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29219
1b96e952 29220 * util/misc.c: Move grub_reboot() and grub_halt() ...
29221 * util/grub-emu.c: ... here. Make main_env static.
29222 * include/grub/util/misc.h: Remove main_env.
29223
2ef0084d 29224 * kern/mm.c: Use correct format to print size_t.
29225
32622956 29226 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29227 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29228 * kern/powerpc/dl.c: Likewise.
29229 * kern/sparc64/dl.c: Likewise.
29230 * kern/x86_64/dl.c: Likewise.
29231
3f7f0cd0 292322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29233
29234 Fix grub-emu build on sparc64-ieee1275.
29235
75421ca9 29236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 29237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29238
211d06b5 292392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29240
29241 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29242 (grub_reboot, grub_halt): New functions.
29243
29244 * util/i386/pc/misc.c: Delete. Update all users.
29245 * util/sparc64/ieee1275/misc.c: Likewise.
29246 * util/powerpc/ieee1275/misc.c: Likewise.
29247
aaf53e3c 292482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29249
29250 * conf/i386.rmk (setjmp_mod_SOURCES)
29251 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29252 * conf/common.rmk (setjmp_mod_SOURCES)
29253 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29254 to use $(target_cpu).
29255 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29256 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29257 * conf/powerpc-ieee1275.rmk: Likewise.
29258 * conf/sparc64-ieee1275.rmk: Likewise.
29259
29260 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29261 $(target_cpu) for kern/$(target_cpu)/dl.c.
29262 * conf/i386-efi.rmk: Likewise.
29263 * conf/i386-ieee1275.rmk: Likewise.
29264 * conf/x86_64-efi.rmk: Likewise.
29265 * conf/i386-coreboot.rmk: Likewise.
29266 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29267 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29268 kern/$(target_cpu)/cache.S.
29269 * conf/sparc64-ieee1275.rmk: Likewise.
29270
a337130b 292712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29272
29273 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29274 type to `grub_uint8_t', and adjust `padding9' accordingly.
29275
c6fe4d53 292762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29277
b09db61d 29278 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29279
c6fe4d53 29280 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29281 assembly in final jump, using register constraints.
29282
b09db61d 29283 (grub_linux_boot): For text mode, initialize `have_vga' using
29284 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29285
29286 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29287 right before the final jump.
29288
29289 Set `video_mode' to 0x3.
29290
29291 Document initialization of `video_page', `video_mode' and
29292 `video_ega_bx'.
29293
28333ad0 292942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29295
29296 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29297 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 29298 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 29299
02164e1b 293002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29301
29302 Fix build on Debian / sparc.
29303
29304 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29305
18b6c557 293062009-06-28 Pavel Roskin <proski@gnu.org>
29307
85f2aab6 29308 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29309 fix a warning.
29310
18b6c557 29311 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29312
ad760f81 293132009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29314
29315 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29316 `err'.
29317
87a4623b 293182009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29319
29320 Revert r2338.
29321
29322 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29323 file can't be opened. grub_file_open() is already supposed to set
75421ca9 29324 grub_errno / grub_errmsg appropriately.
87a4623b 29325 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29326
8231fb77 293272009-06-27 Pavel Roskin <proski@gnu.org>
293282009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29329
29330 * include/grub/dl.h: Include grub/elf.h.
29331 (struct grub_dl): Add symtab field.
29332 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29333 GRUB_MODULES_MACHINE_READONLY.
29334 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29335 of the header for read-only modules.
29336 (grub_dl_unload): Free mod->symtab for read-only modules.
29337 * kern/i386/dl.c: Use mod->symtab.
29338 * kern/powerpc/dl.c: Likewise.
29339 * kern/sparc64/dl.c: Likewise.
29340 * kern/x86_64/dl.c: Likewise.
29341
29342 * conf/i386-qemu.rmk: New file.
29343 * kern/i386/qemu/startup.S: Likewise.
29344 * kern/i386/qemu/mmap.c: Likewise.
29345 * boot/i386/qemu/boot.S: Likewise.
29346 * include/grub/i386/qemu/time.h: Likewise.
29347 * include/grub/i386/qemu/serial.h: Likewise.
29348 * include/grub/i386/qemu/kernel.h: Likewise.
29349 * include/grub/i386/qemu/console.h: Likewise.
29350 * include/grub/i386/qemu/boot.h: Likewise.
29351 * include/grub/i386/qemu/init.h: Likewise.
29352 * include/grub/i386/qemu/machine.h: Likewise.
29353 * include/grub/i386/qemu/loader.h: Likewise.
29354 * include/grub/i386/qemu/memory.h: Likewise.
29355
29356 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29357 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29358 [qemu] (pkglib_IMAGES): Add `boot.img'.
29359 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29360 [qemu] (boot_img_FORMAT): New variables.
29361 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29362 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29363 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29364 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29365 [qemu] (kernel_img_FORMAT): New variables.
29366
29367 * configure.ac: Recognise `i386-qemu'.
29368
29369 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29370 (for no compression).
29371 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29372 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29373 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29374 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29375 ifdefs).
29376
97fe384e 293772009-06-27 Pavel Roskin <proski@gnu.org>
29378
29379 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29380 read.
29381 * efiemu/prepare32.c: Likewise.
29382 * efiemu/prepare64.c: Likewise.
29383
c402ab17 293842009-06-26 Pavel Roskin <proski@gnu.org>
29385
29386 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29387 * include/grub/elf.h: Define symbols without "32" or "64" based
29388 on GRUB_TARGET_WORDSIZE.
29389 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29390 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29391 ELF definitions.
29392 * efiemu/loadcore64.c: Likewise.
29393 * loader/i386/bsd32.c: Likewise.
29394 * loader/i386/bsd64.c: Likewise.
29395 * kern/dl.c: Remove own ELF definitions.
29396 * util/i386/efi/grub-mkimage.c: Likewise.
29397
9bbdfd4d 293982009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29399
29400 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29401 segment 0x0 unconditionally, because the reference generated by
29402 GAS is an absolute address.
29403
a42ce6e9 294042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29405
29406 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29407 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29408
c952cf92 294092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29410
29411 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29412 indexes. Check for -f explicitly.
cc3752ad 29413 (search_file): Improve error message.
29414 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29415
132a0a59 294162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29417
29418 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29419 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29420
387a140c 294212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29424 * conf/i386-ieee1275.rmk: Likewise.
29425 * conf/i386-coreboot.rmk: Likewise.
29426
29427 * kern/i386/pc/startup.S (grub_stop): Remove function.
29428 * kern/i386/ieee1275/startup.S: Likewise.
29429 * kern/i386/coreboot/startup.S: Likewise.
29430 * kern/i386/misc.S (grub_stop): New function.
29431
41da9665 294322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29433
29434 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29435 * kern/i386/realmode.S (real_to_prot): ... to here.
29436
bf337234 294372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29438
29439 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29440 with `kernel.img'.
29441 (kernel_elf_SOURCES): Rename to ...
29442 (kernel_img_SOURCES): ... this.
29443 (kernel_elf_HEADERS): Rename to ...
29444 (kernel_img_HEADERS): ... this. Update all users.
29445 (kernel_elf_ASFLAGS): Rename to ...
29446 (kernel_img_ASFLAGS): ... this.
29447 (kernel_elf_CFLAGS): Rename to ...
29448 (kernel_img_CFLAGS): ... this.
29449 (kernel_elf_LDFLAGS): Rename to ...
29450 (kernel_img_LDFLAGS): ... this.
29451 * conf/i386-coreboot.rmk: Likewise.
29452 * conf/powerpc-ieee1275.rmk: Likewise.
29453
29454 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29455 with "kernel.img".
29456
f52196ff 294572009-06-21 Pavel Roskin <proski@gnu.org>
29458
c3cee413 29459 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29460 to match nested functions.
29461 * loader/sparc64/ieee1275/linux.c: Likewise.
29462
f52196ff 29463 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29464
58750afc 294652009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29466
29467 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29468 all i386 platforms.
29469
15355c7d 294702009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29471
29472 Fix asm file handling on ELF, and remove workarounds.
29473
29474 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29475 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29476 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29477 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29478
3f3ec72b 294792009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29480
29481 Load BSD ELF modules
29482
29483 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29484 and loader/i386/bsd64.c
29485 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29486 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29487 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29488 (grub_freebsd_load_elfmodule32): New declaration
29489 (grub_freebsd_load_elfmoduleobj64): Likewise
29490 (grub_freebsd_load_elf_meta32): Likewise
29491 (grub_freebsd_load_elf_meta64): Likewise
29492 (grub_freebsd_add_meta): Likewise
29493 (grub_freebsd_add_meta_module): Likewise
29494 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29495 (grub_freebsd_add_meta_module): Likewise and move module-specific
29496 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29497 (grub_cmd_freebsd): Add elf-kernel specific parts
29498 based on grub_freebsd_add_meta_module
29499 (grub_cmd_freebsd_module): Add type parsing moved from
29500 grub_freebsd_add_meta_module
29501 (grub_cmd_freebsd_module_elf): New function
29502 (cmd_freebsd_module_elf): New variable
29503 (GRUB_MOD_INIT): Register freebsd_module_elf
29504 * loader/i386/bsd32.c: New file
29505 * loader/i386/bsd64.c: Likewise
29506 * loader/i386/bsdXX.c: Likewise
29507 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29508 (grub_elf64_load): Likewise
29509 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29510 All users updated
29511 (grub_elf64_load_hook_t): Likewise
29512
0db15301 295132009-06-21 Colin Watson <cjwatson@ubuntu.com>
29514
29515 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29516 variable.
29517 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29518 don't write a menu entry for recovery mode.
29519
546796c1 295202009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29521
29522 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29523 after it's no longer needed.
29524
cd7310d5 295252009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29526
29527 * include/grub/i386/loader.h (grub_linux_prot_size)
29528 (grub_linux_tmp_addr, grub_linux_real_addr)
29529 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29530 GRUB_MACHINE_PCBIOS.
29531 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29532 common grub_util_info() call to ...
29533 (generate_image): ... here.
29534 Fix use of uninitialized memory, comparison of signed with
29535 unsigned integers and memory leak.
29536 Remove bogus module address message.
29537
ab32d3b5 295382009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29539
29540 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29541 grub_raid_register
29542 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29543
024ef597 295442009-06-19 Pavel Roskin <proski@gnu.org>
29545
29546 * configure.ac: Remove stray AC_MSG_CHECKING.
29547
3ac72b51 295482009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29549
29550 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29551
e14cd814 295522009-06-18 Pavel Roskin <proski@gnu.org>
29553
29554 * conf/common.rmk: Add fs_file.mod.
29555 * disk/fs_file.c: New file.
29556 * include/grub/disk.h (enum grub_disk_dev_id): Add
29557 GRUB_DISK_DEVICE_FILE_ID.
29558
26586d98 295592009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29560
29561 Fix build with Apple's toolchain. Part 2
29562
29563 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29564 a fake start
29565
26de2bcd 295662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29567
29568 Fix build with Apple's toolchain. Part 1
29569
29570 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29571 for long calls
29572 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29573 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29574 Apple's toolchain
29575
09b3490b 295762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29577
29578 Fix warnings
29579
29580 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29581 (decomp_block): initialize ch
29582 use grub_memcpy instead of memcpy
29583
c22a006a 295842009-06-17 Pavel Roskin <proski@gnu.org>
29585
d3638678 29586 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29587 version, use declarations needed to use vga_text as the startup
29588 console.
29589
c22a006a 29590 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29591 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29592 the kernel.
29593 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29594 and grub_at_keyboard_fini(), it's done on module load and
29595 unload.
29596
05b129e0 295972009-06-17 Felix Zielcke <fzielcke@z-51.de>
29598
29599 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29600 file can't be found.
29601 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29602
cf24ed9e 296032009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 Fix newline handling
29606
29607 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29608 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29609 (grub_script_yylex): don't segfault on unterminated script
29610 newline terminates command and variable
29611
74aa8e4b 296122009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29613
29614 avoid double grub_adjust_range call. Bug reported by David Simner
29615
29616 * kern/disk.c (grub_disk_write): change to raw disk access before
29617 calling disk_read
29618
1bd265f3 296192009-06-17 Colin Watson <cjwatson@ubuntu.com>
29620
29621 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29622 spaces, for the benefit of help2man.
29623 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29624
a2d08c06 296252009-06-16 Pavel Roskin <proski@gnu.org>
29626
29627 * kern/i386/halt.c: Include grub/machine/init.h.
29628 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29629
b97bcb19 296302009-06-16 Felix Zielcke <fzielcke@z-51.de>
29631
29632 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29633 drivemap menuentry.
29634
0644f96c 296352009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29636
29637 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29638 `echo' command.
29639
3ef17a2e 296402009-06-16 Pavel Roskin <proski@gnu.org>
29641
29642 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29643 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29644 save %dx, we only need %dl and we never change it.
29645 * boot/i386/pc/cdboot.S: Don't set the root drive.
29646 * boot/i386/pc/pxeboot.S: Likewise.
29647 * include/grub/i386/pc/boot.h: Remove
29648 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29649 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29650 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29651 * kern/i386/pc/init.c (make_install_device): Remove references
29652 to grub_root_drive.
29653 * kern/i386/pc/startup.S: Likewise.
29654 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29655
693fe637 296562009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29657
29658 xnu_uuid command
29659
29660 * commands/xnu_uuid.c: new file
29661 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29662 (xnu_uuid_mod_SOURCES): new variable
29663 (xnu_uuid_mod_CFLAGS): likewise
29664 (xnu_uuid_mod_LDFLAGS): likewise
29665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29666 * conf/i386-ieee1275.rmk: likewise
29667 * conf/i386-pc.rmk: likewise
29668 * conf/powerpc-ieee1275.rmk: likewise
29669 * conf/sparc64-ieee1275.rmk: likewise
29670 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29671
c9da87d0 296722009-06-16 Pavel Roskin <proski@gnu.org>
29673
29674 * configure.ac: Avoid '==' in test command, it's not portable.
29675
9c6f4596 296762009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29677
29678 Probe command
29679
29680 * commands/probe.c: new file
29681 * conf/common.rmk (pkglib_MODULES): add probe.mod
29682 (probe_mod_SOURCES): new variable
29683 (probe_mod_CFLAGS): likewise
29684 (probe_mod_LDFLAGS): likewise
29685 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29686 * conf/i386-ieee1275.rmk: likewise
29687 * conf/i386-pc.rmk: likewise
29688 * conf/powerpc-ieee1275.rmk: likewise
29689 * conf/sparc64-ieee1275.rmk: likewise
29690
70b7f9fd 296912009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29692
29693 Fix handling of string like \"hello\" and "a
29694 b"
29695
29696 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29697 (grub_script_yylex): fix parsing of quoting, escaping and newline
29698
71c79a6b 296992009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29700
dd74360c 29701 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29702 handling
dd74360c 29703
0644f96c 297042009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29705
29706 * util/grub-mkconfig.in: Fix parsing of --output option.
29707
e40893c3 297082009-06-12 Pavel Roskin <proski@gnu.org>
29709
29710 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29711 genmk.rb don't need to be generated or installed.
29712
3a1acfe2 297132009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29714
29715 * commands/i386/pc/drivemap_int13h.S: add more comments
29716
3a4575d4 297172009-06-11 Pavel Roskin <proski@gnu.org>
29718
0658e928 29719 * Makefile.in (uninstall): Uninstall manuals.
29720
ca0388f0 29721 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29722 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29723 and update-grub_lib in two places.
29724 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29725
e3b27c39 29726 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29727 a compiler warning.
29728
3a4575d4 29729 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29730 `entry_lo' to fix variable shadowing.
29731
af1f4f55 297322009-06-11 Christian Franke <franke@computer.org>
29733
29734 * kern/misc.c (__enable_execute_stack): Add missing return type
29735 to prevent gcc warning.
29736
5225e649 297372009-06-11 Felix Zielcke <fzielcke@z-51.de>
29738
29739 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29740
7d83bd47 297412009-06-11 Pavel Roskin <proski@gnu.org>
29742
c1cb63ba 29743 * Makefile.in: Don't rely on any scripts being executable.
29744 Always use $(SHELL) to run shell scripts.
29745
7d83bd47 29746 * configure.ac: Always define ___main if using -nostdlib. This
29747 fixes tests on Cygwin.
29748
948f48e7 297492009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29750
29751 UDF fix
29752
7d83bd47 29753 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29754 is in bytes and not in blocks
7d83bd47 29755
8ada9bc1 297562009-06-11 Pavel Roskin <proski@gnu.org>
29757
29758 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29759 warning.
29760
25ad2323 297612009-06-11 Felix Zielcke <fzielcke@z-51.de>
29762
29763 * util/grub.d/30_os-prober.in: Fix a comment. Source
29764 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29765 to set the root device. Place drivemap command in the generated
29766 chain entry.
29767
e65acb0c 297682009-06-11 Pavel Roskin <proski@gnu.org>
29769
29770 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29771 have long been resolved.
29772
f285fe2d 297732009-06-11 Colin Watson <cjwatson@ubuntu.com>
29774
bd47b0b5 29775 * util/grub.d/10_linux.in: Capitalise "Linux".
29776
f285fe2d 29777 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29778
a0c62e4e 297792009-06-11 Pavel Roskin <proski@gnu.org>
29780
b6783cb2 29781 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29782 fix a gcc warning and ensure that the function won't ever exit.
29783
dde032e8 29784 * kern/i386/ieee1275/init.c: Add missing prototype for
29785 grub_stop_floppy().
29786
22cd079d 29787 * loader/ieee1275/multiboot2.c [__i386__]: Include
29788 grub/cpu/multiboot.h.
29789
a0c62e4e 29790 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29791 casts to short - they are not portable and cause warnings. Fix
29792 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29793
63963d17 297942009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29795
29796 Drivemap fixes
29797
29798 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29799 new function
29800 (grub_get_root_biosnumber_saved): new variable
29801 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29802 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29803 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29804 %dx after the call if necessary
29805 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29806 (boot_mod_SOURCES): remove
29807 (boot_mod_CFLAGS): remove
29808 (boot_mod_LDFLAGS): remove
29809 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29810 (boot_mod_SOURCES): new variable
29811 (boot_mod_CFLAGS): likewise
29812 (boot_mod_LDFLAGS): likewise
29813 * conf/i386-efi.rmk: likewise
29814 * conf/i386-ieee1275.rmk: likewise
29815 * conf/i386-pc.rmk: likewise
29816 * conf/powerpc-ieee1275.rmk: likewise
29817 * conf/sparc64-ieee1275.rmk: likewise
29818 * conf/x86_64-efi.rmk: likewise
29819 * include/grub/i386/pc/biosnum.h: new file
29820 * lib/i386/pc/biosnum.c: likewise
29821 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29822 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29823 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29824
33abf7ae 298252009-06-10 Pavel Roskin <proski@gnu.org>
29826
5ac35b35 29827 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29828 Use separate variables. Read only the file size at the end, but
29829 not the checksum that we don't use.
29830
5c5215d5 29831 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29832 Adjust all callers.
29833
27d5fef7 29834 * kern/ieee1275/openfw.c: Remove libc includes.
29835 * kern/ieee1275/cmain.c: Likewise.
29836 * include/grub/ieee1275/ieee1275.h: Likewise.
29837
33abf7ae 29838 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29839 compiler warnings.
29840
19d50c2b 298412009-06-10 Felix Zielcke <fzielcke@z-51.de>
29842
29843 * Makefile.in: Remove all trailing whitespace.
29844 * conf/i386-pc.rmk: Likewise.
29845 * conf/powerpc-ieee1275.rmk: Likewise.
29846 * conf/sparc64-ieee1275.rmk: Likewise.
29847 * docs/grub.texi: Likewise.
29848 * docs/texinfo.tex: Likewise.
29849 * disk/fs_uuid.c: Likewise.
29850 * disk/lvm.c: Likewise.
29851 * disk/scsi.c: Likewise.
29852 * disk/ata.c: Likewise.
29853 * disk/ieee1275/ofdisk.c: Likewise.
29854 * disk/i386/pc/biosdisk.c: Likewise.
29855 * disk/host.c: Likewise.
29856 * disk/raid.c: Likewise.
29857 * disk/efi/efidisk.c: Likewise.
29858 * disk/usbms.c: Likewise.
29859 * disk/memdisk.c: Likewise.
29860 * disk/loopback.c: Likewise.
29861 * kern/powerpc/dl.c: Likewise.
29862 * kern/device.c: Likewise.
29863 * kern/dl.c: Likewise.
29864 * kern/sparc64/dl.c: Likewise.
29865 * kern/ieee1275/ieee1275.c: Likewise.
29866 * kern/term.c: Likewise.
29867 * kern/fs.c: Likewise.
29868 * kern/i386/dl.c: Likewise.
29869 * kern/i386/pc/startup.S: Likewise.
29870 * kern/i386/pc/init.c: Likewise.
29871 * kern/i386/pc/mmap.c: Likewise.
29872 * kern/i386/pc/lzo1x.S: Likewise.
29873 * kern/i386/ieee1275/init.c: Likewise.
29874 * kern/i386/realmode.S: Likewise.
29875 * kern/i386/tsc.c: Likewise.
29876 * kern/partition.c: Likewise.
29877 * kern/corecmd.c: Likewise.
29878 * kern/file.c: Likewise.
29879 * kern/efi/efi.c: Likewise.
29880 * kern/efi/init.c: Likewise.
29881 * kern/efi/mm.c: Likewise.
29882 * kern/main.c: Likewise.
29883 * kern/err.c: Likewise.
29884 * kern/env.c: Likewise.
29885 * kern/disk.c: Likewise.
29886 * kern/generic/millisleep.c: Likewise.
29887 * kern/generic/rtc_get_time_ms.c: Likewise.
29888 * kern/misc.c: Likewise.
29889 * kern/parser.c: Likewise.
29890 * genmk.rb: Likewise.
29891 * configure.ac: Likewise.
29892 * boot/i386/pc/diskboot.S: Likewise.
29893 * boot/i386/pc/pxeboot.S: Likewise.
29894 * boot/i386/pc/boot.S: Likewise.
29895 * boot/i386/pc/lnxboot.S: Likewise.
29896 * boot/i386/pc/cdboot.S: Likewise.
29897 * parttool/pcpart.c: Likewise.
29898 * video/readers/tga.c: Likewise.
29899 * video/video.c: Likewise.
29900 * video/bitmap.c: Likewise.
29901 * lib/envblk.c: Likewise.
29902 * lib/i386/setjmp.S: Likewise.
29903 * fs/xfs.c: Likewise.
29904 * fs/afs.c: Likewise.
29905 * fs/fat.c: Likewise.
29906 * fs/ntfs.c: Likewise.
29907 * fs/udf.c: Likewise.
29908 * fs/affs.c: Likewise.
29909 * fs/iso9660.c: Likewise.
29910 * fs/hfs.c: Likewise.
29911 * fs/fshelp.c: Likewise.
29912 * fs/ext2.c: Likewise.
29913 * fs/jfs.c: Likewise.
29914 * fs/reiserfs.c: Likewise.
29915 * fs/hfsplus.c: Likewise.
29916 * fs/minix.c: Likewise.
29917 * fs/cpio.c: Likewise.
29918 * fs/sfs.c: Likewise.
29919 * fs/ufs.c: Likewise.
29920 * efiemu/prepare.c: Likewise.
29921 * efiemu/loadcore_common.c: Likewise.
29922 * efiemu/runtime/efiemu.sh: Likewise.
29923 * efiemu/runtime/efiemu.S: Likewise.
29924 * efiemu/runtime/efiemu.c: Likewise.
29925 * efiemu/pnvram.c: Likewise.
29926 * efiemu/main.c: Likewise.
29927 * efiemu/i386/pc/cfgtables.c: Likewise.
29928 * efiemu/i386/loadcore64.c: Likewise.
29929 * efiemu/i386/loadcore32.c: Likewise.
29930 * efiemu/loadcore.c: Likewise.
29931 * efiemu/symbols.c: Likewise.
29932 * efiemu/mm.c: Likewise.
29933 * include/grub/autoefi.h: Likewise.
29934 * include/grub/datetime.h: Likewise.
29935 * include/grub/term.h: Likewise.
29936 * include/grub/hfs.h: Likewise.
29937 * include/grub/lvm.h: Likewise.
29938 * include/grub/i386/tsc.h: Likewise.
29939 * include/grub/i386/linux.h: Likewise.
29940 * include/grub/i386/xnu.h: Likewise.
29941 * include/grub/i386/efiemu.h: Likewise.
29942 * include/grub/i386/pc/biosdisk.h: Likewise.
29943 * include/grub/i386/pc/memory.h: Likewise.
29944 * include/grub/i386/pc/vbe.h: Likewise.
29945 * include/grub/parttool.h: Likewise.
29946 * include/grub/video.h: Likewise.
29947 * include/grub/memory.h: Likewise.
29948 * include/grub/fs.h: Likewise.
29949 * include/grub/partition.h: Likewise.
29950 * include/grub/xnu.h: Likewise.
29951 * include/grub/efi/api.h: Likewise.
29952 * include/grub/efi/pe32.h: Likewise.
29953 * include/grub/efi/memory.h: Likewise.
29954 * include/grub/multiboot.h: Likewise.
29955 * include/grub/usbdesc.h: Likewise.
29956 * include/grub/multiboot2.h: Likewise.
29957 * include/grub/acpi.h: Likewise.
29958 * include/grub/efiemu/efiemu.h: Likewise.
29959 * include/grub/disk.h: Likewise.
29960 * include/grub/ieee1275/ieee1275.h: Likewise.
29961 * include/grub/net.h: Likewise.
29962 * include/grub/machoload.h: Likewise.
29963 * include/grub/macho.h: Likewise.
29964 * include/multiboot.h: Likewise.
29965 * genmoddep.awk: Likewise.
29966 * normal/main.c: Likewise.
29967 * normal/menu_entry.c: Likewise.
29968 * normal/menu_viewer.c: Likewise.
29969 * normal/completion.c: Likewise.
29970 * normal/cmdline.c: Likewise.
29971 * normal/misc.c: Likewise.
29972 * normal/datetime.c: Likewise.
29973 * bus/usb/usbtrans.c: Likewise.
29974 * bus/usb/ohci.c: Likewise.
29975 * bus/usb/uhci.c: Likewise.
29976 * bus/usb/usb.c: Likewise.
29977 * mmap/efi/mmap.c: Likewise.
29978 * mmap/i386/pc/mmap_helper.S: Likewise.
29979 * mmap/i386/pc/mmap.c: Likewise.
29980 * mmap/i386/mmap.c: Likewise.
29981 * mmap/i386/uppermem.c: Likewise.
29982 * mmap/mmap.c: Likewise.
29983 * commands/acpi.c: Likewise.
29984 * commands/echo.c: Likewise.
29985 * commands/blocklist.c: Likewise.
29986 * commands/loadenv.c: Likewise.
29987 * commands/usbtest.c: Likewise.
29988 * commands/boot.c: Likewise.
29989 * commands/parttool.c: Likewise.
29990 * commands/search.c: Likewise.
29991 * commands/cat.c: Likewise.
29992 * commands/i386/pc/play.c: Likewise.
29993 * commands/i386/pc/drivemap.c: Likewise.
29994 * commands/i386/pc/vbeinfo.c: Likewise.
29995 * commands/i386/pc/acpi.c: Likewise.
29996 * commands/i386/pc/vbetest.c: Likewise.
29997 * commands/ls.c: Likewise.
29998 * commands/cmp.c: Likewise.
29999 * commands/test.c: Likewise.
30000 * commands/efi/acpi.c: Likewise.
30001 * commands/gptsync.c: Likewise.
30002 * commands/help.c: Likewise.
30003 * partmap/amiga.c: Likewise.
30004 * partmap/apple.c: Likewise.
30005 * partmap/acorn.c: Likewise.
30006 * partmap/pc.c: Likewise.
30007 * partmap/sun.c: Likewise.
30008 * partmap/gpt.c: Likewise.
30009 * script/sh/lexer.c: Likewise.
30010 * script/sh/function.c: Likewise.
30011 * font/font.c: Likewise.
30012 * font/font_cmd.c: Likewise.
30013 * loader/powerpc/ieee1275/linux.c: Likewise.
30014 * loader/efi/chainloader.c: Likewise.
30015 * loader/multiboot_loader.c: Likewise.
30016 * loader/macho.c: Likewise.
30017 * loader/i386/multiboot.c: Likewise.
30018 * loader/i386/linux.c: Likewise.
30019 * loader/i386/pc/linux.c: Likewise.
30020 * loader/i386/pc/multiboot2.c: Likewise.
30021 * loader/i386/pc/chainloader.c: Likewise.
30022 * loader/i386/pc/xnu.c: Likewise.
30023 * loader/i386/bsd_trampoline.S: Likewise.
30024 * loader/i386/efi/linux.c: Likewise.
30025 * loader/i386/multiboot_elfxx.c: Likewise.
30026 * loader/i386/bsd_helper.S: Likewise.
30027 * loader/i386/bsd.c: Likewise.
30028 * loader/i386/linux_trampoline.S: Likewise.
30029 * loader/i386/xnu_helper.S: Likewise.
30030 * loader/i386/xnu.c: Likewise.
30031 * loader/i386/bsd_pagetable.c: Likewise.
30032 * loader/i386/multiboot_helper.S: Likewise.
30033 * loader/xnu.c: Likewise.
30034 * loader/xnu_resume.c: Likewise.
30035 * io/gzio.c: Likewise.
30036 * term/efi/console.c: Likewise.
30037 * term/terminfo.c: Likewise.
30038 * term/ieee1275/ofconsole.c: Likewise.
30039 * term/i386/pc/serial.c: Likewise.
30040 * term/i386/pc/vesafb.c: Likewise.
30041 * term/i386/pc/vga.c: Likewise.
30042 * term/usb_keyboard.c: Likewise.
30043 * term/gfxterm.c: Likewise.
30044 * aclocal.m4: Likewise.
30045 * util/lvm.c: Likewise.
30046 * util/grub.d/30_os-prober.in: Likewise.
30047 * util/grub.d/10_hurd.in: Likewise.
30048 * util/console.c: Likewise.
30049 * util/grub-macho2img.c: Likewise.
30050 * util/grub-probe.c: Likewise.
30051 * util/hostfs.c: Likewise.
30052 * util/i386/pc/grub-mkimage.c: Likewise.
30053 * util/i386/pc/grub-setup.c: Likewise.
30054 * util/i386/efi/grub-mkimage.c: Likewise.
30055 * util/grub-mkconfig.in: Likewise.
30056 * util/raid.c: Likewise.
30057 * util/resolve.c: Likewise.
30058 * util/grub-mkdevicemap.c: Likewise.
30059 * util/grub-emu.c: Likewise.
30060 * util/getroot.c: Likewise.
30061 * util/hostdisk.c: Likewise.
30062 * util/usb.c: Likewise.
30063 * util/grub-editenv.c: Likewise.
30064 * util/misc.c: Likewise.
30065
d2d49665 300662009-06-10 Felix Zielcke <fzielcke@z-51.de>
30067
30068 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30069 `genparttoollist.sh'.
30070 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30071 Add `*.sh' to the list find searches for and change `mdate.sh'
30072 to `mdate-sh'.
30073
fe052e37 300742009-06-10 Pavel Roskin <proski@gnu.org>
30075
2763ac18 30076 * include/grub/multiboot2.h: Provide compatibility defines for
30077 multiboot2.h.
30078 * include/multiboot2.h: Include stdint.h only if needed, using
30079 angle brackets.
30080 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30081 grub/multiboot2.h.
30082 * loader/ieee1275/multiboot2.c: Likewise.
30083 * loader/multiboot2.c: Likewise.
30084 * loader/multiboot_loader.c: Likewise.
30085
437e6adc 30086 * configure.ac: Use -nostdlib when probing for the target. It
30087 should not be required to have libc for the target.
30088
06a6836c 30089 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30090 they fail without libc headers for the target.
30091 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30092 exports.
30093 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30094 preprocessor conditionals.
30095
fe052e37 30096 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30097 build system doesn't need to be aware of the tar.c internals.
30098
afd22553 300992009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 30100
afd22553 30101 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 30102
6b787c4f 301032009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30104
30105 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30106 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30107
301082009-06-09 Felix Zielcke <fzielcke@z-51.de>
30109
30110 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 30111 aren't available if ata.mod gets used.
6b787c4f 30112
473d1e45 301132009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 30114
473d1e45 30115 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 30116 initialising controller.
473d1e45 30117 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 30118
255a27d4 301192009-06-08 Felix Zielcke <fzielcke@z-51.de>
30120
30121 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30122 to choose between ata and biosdisk module on i386-pc.
30123
473d1e45 301242009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 30125
d55842d8 30126 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30127 Subclass and Programming Interface fields in terms of the 3 byte
30128 Class Code register.
30129 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30130
fa5db0b1 30131 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30132 interface is OHCI. Add grub_dprintf for symmetry with
30133 bus/usb/uhci.c.
30134 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30135 interface is UHCI. Add interf variable for programming
30136 interface. Print interface with class/subclass.
30137
c0947beb 30138 * bus/usb/ohci.c: Set interf with correct field.
30139
69da8877 30140 * bus/usb/uhci.c: Remove unneeded doubled lines.
30141 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30142 Remove whitespace inside comment.
30143
9e172e30 301442009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30145
30146 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30147 as fallback an equivalent option without depth.
30148
de65ee2b 301492009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30150
30151 Not fail if unable to retrieve C/H/S on LBA disks
30152
473d1e45 30153 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 30154 if unable to retrieve C/H/S on LBA disks
30155
b57ea2c9 301562009-06-08 Pavel Roskin <proski@gnu.org>
30157
30158 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30159 about aliasing.
30160
af361263 301612009-06-08 Felix Zielcke <fzielcke@z-51.de>
30162
30163 * Makefile.in (uninstall): Remove all $lib_DATA files.
30164
4c9ec6b3 301652009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30166
30167 Bugfix: install on partitionless device
30168
30169 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30170 is a whole disk
30171
e76fc924 301722009-06-08 Felix Zielcke <fzielcke@z-51.de>
30173
30174 * Makefile.in (uninstall): Remove all $include_DATA files.
30175
ba5a0d05 301762009-06-08 Felix Zielcke <fzielcke@z-51.de>
30177
30178 * commands/true.c: New file. Implement the true and false commands.
30179 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30180 (true_mod_SOURCES): New variable.
30181 (true_mod_CFLAGS): Likewise.
30182 (true_mod_LDFLAGS): Likewise.
30183
c8048e32 301842009-06-05 Colin D Bennett <colin@gibibit.com>
30185
30186 Optimized font character lookup using binary search instead of linear
30187 search. Fonts now are required to have the character index ordered by
30188 code point.
30189
30190 * font/font.c (load_font_index): Verify that fonts have ordered
30191 character indices.
30192 (find_glyph): Use binary search instead of linear search to find a
30193 character in a font.
30194
408305be 301952009-06-05 Michael Scherer <misc@mandriva.org>
30196
30197 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30198 uses case sensitive btree.
30199 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30200 only for case insensitive filesystems.
30201
8ee1e0d9 302022009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30205 * conf/common.rmk (search_mod_CFLAGS): likewise
30206
a9966eb1 302072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30208
473d1e45 30209 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 30210 compensate a compiler bug
30211
9e7100fb 302122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30213
473d1e45 30214 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 30215 instead of '\b'
473d1e45 30216
ede21d71 302172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30218
30219 Definitions for creating asm symbols with Apple's CC
30220
30221 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30222 [APPLE_CC] (VARIABLE): likewise
30223
9dbf7653 302242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30225
30226 Disable lnxboot.img when compiled
30227 with Apple's CC
30228
30229 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30230 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30231 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30232 [! APPLE_CC] (CODE_LENG): skip
30233 [! APPLE_CC] (setup_sects): likewise
30234 [! APPLE_CC]: skip filling
473d1e45 30235
e93cdc3d 302362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30237
30238 Address in trampolines based on 32-bit registers when compiled
30239 with Apple's CC
30240
473d1e45 30241 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 30242 for addresses
30243 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30244
6c688477 302452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30246
30247 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30248
30249 * kern/misc.c [APPLE_CC] (memcpy): new function
30250 [APPLE_CC] (memmove): likewise
30251 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 30252 (memcpy): define alias conditionally on !APPLE_CC
6c688477 30253 (memset): likewise
30254 (abort): likewise
30255 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30256 APPLE_CC are defined
30257 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30258 (grub_assert_fail): make prototype conditional
30259
e37ffc5c 302602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30261
30262 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30263
473d1e45 30264 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30265 grub-macho2img
e37ffc5c 30266 (CLEANFILES): add grub-macho2img
30267 (grub_macho2img_SOURCES): new variable
30268 * kern/i386/pc/startup.S (bss_start): new variable
30269 (bss_end): likewise
30270 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30271 * util/grub-macho2img.c: new file
30272
cf00df31 302732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30274
30275 Use objconv when compiling with Apple's CC
30276
30277 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30278 (efiemu64.o): likewise
30279 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30280 when compiling with Apple's CC
30281 (efiemu64_s.o): likewise
30282 * configure.ac: check for objconv when compiling with Apple's CC
30283 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 30284
d119a20c 302852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30286
30287 Define segment as well as section when compiling with
30288 Apple's CC
30289
30290 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30291 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30292 (efiemu_convert_pointer): likewise
30293 (efiemu_set_virtual_address_map): likewise
30294 (efiemu_convert_pointer): likewise
30295 (efiemu_getcrc32): likewise
30296 (init_crc32_table): likewise
30297 (reflect): likewise
30298 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30299 (GRUB_MOD_DEP): likewise
473d1e45 30300
c8600122 303012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30302
30303 Allow a compilation without -mcmodel=large
30304
30305 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30306 when compiled without -mcmodel=large
473d1e45 30307 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 30308 without -mcmodel=large
473d1e45 30309 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 30310 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 30311
e8df1d4e 303122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30313
30314 Remove nested functions in efiemu core
30315
30316 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 30317
cc6c3ac1 303182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30321
30322 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30323 temporary storage
473d1e45 30324 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30325 using Apple's CC
cc6c3ac1 30326 (grub_cpu_is_tsc_supported): likewise
30327 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 30328
3e325901 303292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30330
30331 Absolute addressing through constant with Apple's cc
30332
30333 * kern/i386/pc/startup.S: Define necessary constants
30334 and address through it when using ABS with Apple's CC
30335 * boot/i386/pc/diskboot.S: likewise
30336 * boot/i386/pc/boot.S: likewise
30337 * boot/i386/pc/lnxboot.S: likewise
30338 * boot/i386/pc/cdboot.S: likewise
30339 * mmap/i386/pc/mmap_helper.S: likewise
30340 * commands/i386/pc/drivemap_int13h.S: likewise
30341
2b167a72 303422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 Check if compiler is apple cc
30345
30346 * Makefile.in (ASFLAGS): new variable
30347 (TARGET_ASFLAGS): likewise
30348 (TARGET_MODULE_FORMAT): likewise
30349 (TARGET_APPLE_CC): likewise
30350 (OBJCONV): likewise
30351 (TARGET_IMG_CFLAGS): likewise
30352 (TARGET_CPPFLAGS): add includedir
30353 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30354 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30355 Check for linker script only if compiler isn't Apple's CC
30356 (TARGET_MODULE_FORMAT): set
30357 (TARGET_APPLE_CC): likewise
30358 (TARGET_ASFLAGS): likewise
30359 (ASFLAGS): likewise
30360 Check for objcopy only if compiler isn't Apple's CC
30361 Check for BSS symbol only if compiler isn't Apple's CC
30362 * genmk.rb: adapt nm options if we use Apple's utils
30363 * aclocal.m4 (grub_apple_cc): new test
30364 (grub_apple_target_cc): likewise
473d1e45 30365
fb14123e 303662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30367
30368 Simplify sed expressions and improve awk
30369
30370 * Makefile.in (install-local): simplify sed expression
30371 * gencmdlist.sh: likewise
30372 * genmoddep.awk: avoid adding module as a dependency of itself
30373
5b889789 303742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30375
30376 Add missing start symbols
30377
30378 * boot/i386/pc/boot.S: add start
fb14123e 30379 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30380
fd2bf2e3 303812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30384
30385 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30386 (relocate_addresses): consider both r_addend and value at offset
30387 (make_mods_section): zerofill modinfo and header
30388 (convert_elf): write prefix here
473d1e45 30389
5389763d 303902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30391
30392 Use .asciz instead of .string
30393
30394 * i386/pc/diskboot.S: use .asciz instead of .string
30395 * i386/pc/boot.S: likewise
30396 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30397 (GRUB_MOD_NAME): likewise
473d1e45 30398
3eb5ed4e 303992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 gfxpayload support
30402
30403 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30404 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30405 (grub_video_setup): remove
30406 (grub_video_set_mode): new prototype
30407 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30408 (vid_mode): remove
30409 (linux_vesafb_res): compile only on PCBIOS
30410 (grub_linux_boot): support gfxpayload
30411 * loader/i386/pc/xnu.c (video_hook): new function
30412 (grub_xnu_set_video): support gfxpayload
30413 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30414 (DEFAULT_VIDEO_HEIGHT): likewise
30415 (DEFAULT_VIDEO_FLAGS): likewise
30416 (DEFAULT_VIDEO_MODE): new definition
30417 (video_hook): new function
30418 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30419 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30420 loading xnu
30421 * video/video.c (grub_video_setup): removed
473d1e45 30422 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30423 grub_video_setup
30424
4b0e1143 304252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30426
30427 Avoid calling biosdisk in drivemap
30428
30429 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30430 (revparse_biosdisk): likewise
30431 (list_mappings): derive name from id directly
30432 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30433
fda6cb98 304342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30435
30436 Script fixes
30437
30438 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30439 (grub_lexer_param): add tokenonhold
30440 (grub_script_create_cmdline): remove cmdline. All callers updated
30441 (grub_script_function_create): make functionname
30442 grub_script_arg. All callers updated
30443 (grub_script_execute_argument_to_string): new prototype
30444 * kern/parser.c (state_transitions): reorder
30445 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30446 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30447 make global
30448 (grub_script_execute_cmdline): use new format
30449 * script/sh/function.c (grub_script_function_create): make functionname
30450 grub_script_arg. All callers updated
473d1e45 30451 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30452 (grub_script_yylex): remove
30453 (grub_script_yylex2): renamed to ...
30454 (grub_script_yylex): ...renamed
30455 parse the expressions like a${b}c
30456 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30457 (GRUB_PARSER_TOKEN_VAR): remove
30458 (GRUB_PARSER_TOKEN_NAME): likewise
30459 ("if"): declare as typeless
30460 ("while"): likewise
30461 ("function"): likewise
30462 ("else"): likewise
30463 ("then"): likewise
30464 ("fi"): likewise
30465 (text): remove
30466 (argument): likewise
30467 (script): accept empty scripts and make exit on error
30468 (arguments): use GRUB_PARSER_TOKEN_ARG
30469 (function): likewise
30470 (command): move error handling to script
30471 (menuentry): move grub_script_lexer_ref before
473d1e45 30472 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30473 argument. All callers updated
30474
f4448a07 304752009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30476
30477 Prevent GRUB from probing floppies during boot.
30478
30479 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30480 * commands/search.c (options): Add --no-floppy.
30481 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30483 --no-floppy when searching for UUIDs.
30484
2bf5885a 304852009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30486
30487 Simplify the code duplication in commands/search.c.
30488
30489 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30490 (search_fs): ... this. Update all users.
30491
f6fd460a 304922009-06-03 Felix Zielcke <fzielcke@z-51.de>
30493
30494 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30495
cbb3c83e 304962009-05-28 Pavel Roskin <proski@gnu.org>
30497
57788cfd 30498 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30499 Remove the original symlink explicitly.
30500
cbb3c83e 30501 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30502 just one slash. That's how grub_fshelp_find_file() does it.
30503
cd0d5e30 305042009-05-26 Pavel Roskin <proski@gnu.org>
30505
f0f8bbe2 30506 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30507 to `str'.
30508
cd0d5e30 30509 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30510 possibly unused.
30511
8c2cab51 305122009-05-25 Christian Franke <franke@computer.org>
30513
30514 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30515 register.
30516 (grub_atapi_identify): Add wait after drive select.
30517 (grub_ata_identify): Do more strict status register check before
30518 calling grub_atapi_identify (). Suppress error message if status
30519 register is 0x00 after command failure. Add status register
30520 check after PIO read to avoid bogus identify due to stuck DRQ.
30521 Thanks to Pavel Roskin for testing.
30522 (grub_device_initialize): Remove unsafe status register check.
30523 Thanks to 'phcoder' for problem report and patch.
30524 Prevent sign extension in debug message.
30525
230c0ad6 305262009-05-23 Colin D Bennett <colin@gibibit.com>
30527
30528 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30529 definition file, and functions defined in `normal/menu.c' have had
30530 their prototypes moved to `include/grub/menu.h' for consistency.
30531
30532 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30533 from normal.h.
30534 (grub_menu_get_entry): Likewise.
30535 (grub_menu_get_timeout): Likewise.
30536 (grub_menu_set_timeout): Likewise.
30537 (grub_menu_execute_entry): Likewise.
30538 (grub_menu_execute_with_fallback): Likewise.
30539 (grub_menu_entry_run): Likewise.
30540
30541 * include/grub/normal.h: Re-ordered and grouped function
30542 prototypes by file that the function is defined in.
30543 (grub_menu_execute_callback): Removed; moved to menu.h.
30544 (grub_menu_get_entry): Likewise.
30545 (grub_menu_get_timeout): Likewise.
30546 (grub_menu_set_timeout): Likewise.
30547 (grub_menu_execute_entry): Likewise.
30548 (grub_menu_execute_with_fallback): Likewise.
30549 (grub_menu_entry_run): Likewise.
30550 (grub_menu_addentry): Renamed from this ...
30551 (grub_normal_add_menu_entry): ... to this.
30552
30553 * normal/main.c (grub_menu_addentry): Renamed from this ...
30554 (grub_normal_add_menu_entry): ... to this.
30555
30556 * script/sh/execute.c (grub_script_execute_menuentry): Update
30557 reference to renamed grub_menu_addentry function.
30558
861f03a5 305592009-05-23 Felix Zielcke <fzielcke@z-51.de>
30560
30561 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30562
96b1619a 305632009-05-22 Pavel Roskin <proski@gnu.org>
30564
bf6a5fb2 30565 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30566 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30567 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30568 compiling for the i386 targets, but not for the utilities.
30569
96b1619a 30570 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30571 to grub_uint8_t.
30572 (grub_root_drive): Likewise.
30573 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30574 remove alignment.
30575 (grub_root_drive): Change size to byte.
30576 (grub_start_addr): Remove.
30577 (grub_end_addr): Likewise.
30578 (grub_apm_bios_info): Likewise.
30579
b729776b 305802009-05-21 Felix Zielcke <fzielcke@z-51.de>
30581
30582 * normal/i386: Remove.
30583 * normal/powerpc: Likewise.
30584 * normal/sparc64: Likewise.
30585 * normal/x86_64: Likewise.
30586
0a15ce80 305872009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30588
30589 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30590 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30591 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30592
33db9015 305932009-05-18 Colin D Bennett <colin@gibibit.com>
30594
d6da58e6 30595 Display error messages when parsing a Lua statement fails.
30596 Previously, executing a syntactically invalid statement like
30597 ")foo" or "bar;" would silently fail.
33db9015 30598
30599 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30600 (grub_lua_parse_line): Improved reporting of Lua parser and
30601 execution errors.
33db9015 30602
46422c89 306032009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30604
30605 Remove -Werror which causes build to fail on some systems
30606
30607 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30608 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30609 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30610
22f53a96 306112009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30612
30613 trampoline for linux on 64-bit platform
30614
18f547ad 30615 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30616 loader/i386/efi/linux_trampoline.S
30617 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30618 declaration
d6da58e6 30619 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30620 here
22f53a96 30621 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30622 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30623 trampoline
22f53a96 30624 (jumpvector): removed
30625 (grub_linux_trampoline_start): new declaration
30626 (grub_linux_trampoline_end): likewise
30627 (grub_linux_boot): use trampoline when on 64-bit platform
30628 * loader/i386/linux.c: likewise
30629
cb5a0f40 306302009-05-16 Pavel Roskin <proski@gnu.org>
30631
30632 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30633 const to avoid a warning.
30634 (grub_lua_setenv): Likewise.
30635 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30636 lmsg to fix a warning.
30637
334f2c28 306382009-05-16 Felix Zielcke <fzielcke@z-51.de>
30639
30640 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30641 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30642 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30643 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30644 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30645 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30646 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30647 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30648
59e5d3ec 306492009-05-16 Felix Zielcke <fzielcke@z-51.de>
30650
30651 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30652
9d87a1ba 306532009-05-16 Bean <bean123ch@gmail.com>
30654
30655 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30656 (lua_mod_SOURCES): New variable.
30657 (lua_mod_CFLAGS): Likewise.
30658 (lua_mod_LDFLAGS): Likewise.
30659
30660 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30661 (setjmp_mod_SOURCES): New variable.
30662 (setjmp_mod_CFLAGS): Likewise.
30663 (setjmp_LDFLAGS): Likewise.
30664
30665 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30666 (setjmp_mod_SOURCES): New variable.
30667 (setjmp_mod_CFLAGS): Likewise.
30668 (setjmp_LDFLAGS): Likewise.
30669
30670 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30671 (setjmp_mod_SOURCES): New variable.
30672 (setjmp_mod_CFLAGS): Likewise.
30673 (setjmp_LDFLAGS): Likewise.
30674
30675 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30676 (setjmp_mod_SOURCES): New variable.
30677 (setjmp_mod_CFLAGS): Likewise.
30678 (setjmp_LDFLAGS): Likewise.
30679
30680 * normal/i386/setjmp.S: Moved from here ...
30681 * lib/i386/setjmp.S: ... Moved here
30682 * normal/x86_64/setjmp.S: Moved from here ...
30683 * lib/x86_64/setjmp.S: ... Moved here
30684 * normal/powerpc/setjmp.S: Moved from here ...
30685 * lib/powerpc/setjmp.S: ... Moved here
30686 * normal/sparc64/setjmp.S: Moved from here ...
30687 * lib/sparc64/setjmp.S: ... Moved here
30688
30689 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30690 returns_twice in mingw.
30691
30692 * script/lua/grub_lib.c: New file.
30693 * script/lua/grub_lib.h: Likewise.
30694 * script/lua/grub_lua.h: Likewise.
30695 * script/lua/grub_main.c: Likewise.
30696 * script/lua/lapi.c: Likewise.
30697 * script/lua/lapi.h: Likewise.
30698 * script/lua/lauxlib.c: Likewise.
30699 * script/lua/lauxlib.h: Likewise.
30700 * script/lua/lbaselib.c: Likewise.
30701 * script/lua/lcode.c: Likewise.
30702 * script/lua/lcode.h: Likewise.
30703 * script/lua/ldblib.c: Likewise.
30704 * script/lua/ldebug.c: Likewise.
30705 * script/lua/ldebug.h: Likewise.
30706 * script/lua/ldo.c: Likewise.
30707 * script/lua/ldo.h: Likewise.
30708 * script/lua/ldump.c: Likewise.
30709 * script/lua/lfunc.c: Likewise.
30710 * script/lua/lfunc.h: Likewise.
30711 * script/lua/lgc.c: Likewise.
30712 * script/lua/lgc.h: Likewise.
30713 * script/lua/linit.c: Likewise.
30714 * script/lua/liolib.c: Likewise.
30715 * script/lua/llex.c: Likewise.
30716 * script/lua/llex.h: Likewise.
30717 * script/lua/llimits.h: Likewise.
30718 * script/lua/lmathlib.c: Likewise.
30719 * script/lua/lmem.c: Likewise.
30720 * script/lua/lmem.h: Likewise.
30721 * script/lua/loadlib.c: Likewise.
30722 * script/lua/lobject.c: Likewise.
30723 * script/lua/lobject.h: Likewise.
30724 * script/lua/lopcodes.c: Likewise.
30725 * script/lua/lopcodes.h: Likewise.
30726 * script/lua/loslib.c: Likewise.
30727 * script/lua/lparser.c: Likewise.
30728 * script/lua/lparser.h: Likewise.
30729 * script/lua/lstate.c: Likewise.
30730 * script/lua/lstate.h: Likewise.
30731 * script/lua/lstring.c: Likewise.
30732 * script/lua/lstring.h: Likewise.
30733 * script/lua/lstrlib.c: Likewise.
30734 * script/lua/ltable.c: Likewise.
30735 * script/lua/ltable.h: Likewise.
30736 * script/lua/ltablib.c: Likewise.
30737 * script/lua/ltm.c: Likewise.
30738 * script/lua/ltm.h: Likewise.
30739 * script/lua/lua.h: Likewise.
30740 * script/lua/luaconf.h: Likewise.
30741 * script/lua/lualib.h: Likewise.
30742 * script/lua/lundump.c: Likewise.
30743 * script/lua/lundump.h: Likewise.
30744 * script/lua/lvm.c: Likewise.
30745 * script/lua/lvm.h: Likewise.
30746 * script/lua/lzio.c: Likewise.
30747 * script/lua/lzio.h: Likewise.
30748
5e898c9d 307492009-05-16 Bean <bean123ch@gmail.com>
30750
30751 * include/grub/kernel.h (grub_module_header_types): Add type
30752 OBJ_TYPE_CONFIG.
30753
30754 * kern/main.c (grub_load_config): New function.
30755 (grub_main): Call grub_load_config to read boot config.
30756
30757 * grub-mkimage (generate_image): New parameter config_path.
30758 (options): New option --config.
30759 (main): Parse --config option, and pass it to generate_image.
30760
cf353a47 307612009-05-14 Christian Franke <franke@computer.org>
30762
30763 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30764 This fixes build on Cygwin.
30765
3834887f 307662009-05-14 Pavel Roskin <proski@gnu.org>
30767
30768 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30769 jump. This saves two bytes, so the typical case of 2 swapped
30770 drives would fit 32 bytes.
30771
8090fc01 307722009-05-13 Pavel Roskin <proski@gnu.org>
30773
ac963883 30774 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30775 grub_uint32_t to avoid a warning.
30776
8090fc01 30777 * loader/i386/linux.c (allocate_pages): When assigning
30778 real_mode_mem, cast through grub_size_t to fix a warning. The
30779 code already makes sure that the value would fit a pointer.
30780 (grub_linux_setup_video): Cast render_target->data to
30781 grub_size_t to fix a warning.
30782
18f547ad 307832009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30784
30785 * commands/i386/pc/drivemap.c: New file - implement drivemap
30786 command.
30787 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30788 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30789
6f6a8b28 307902009-05-13 Pavel Roskin <proski@gnu.org>
30791
30792 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30793 embedding_area_exists.
30794
15fbf4c4 307952009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30796
30797 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30798 it easier to understand / work with.
59978c8a 30799 Improve warning messages for cases where there's no embedding area,
30800 or when it is too small (or core.img too large).
15fbf4c4 30801
238e871f 308022009-05-13 Pavel Roskin <proski@gnu.org>
30803
0ab3a9a4 30804 * loader/i386/pc/multiboot2.c: Add necessary includes for
30805 grub_multiboot2_real_boot().
30806
a2c8c5f8 30807 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30808 PX record is always little-endian. We only need the lower 2
30809 bytes of the mode.
30810
faec96af 30811 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30812 facilitate code reuse.
30813 (grub_cpio_mount): Use "struct head", not a char buffer. This
30814 fixes a warning reported by gcc 4.4.
30815
238e871f 30816 * kernel/disk.c (grub_disk_read): Use void pointer for the
30817 buffer.
30818 (grub_disk_write): Use const void pointer for the buffer.
30819 Adjust all callers. Remove unnecessary casts.
30820
901d2f0c 308212009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30822
30823 * util/i386/pc/grub-install.in: Update copyright year.
30824
18f547ad 308252009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30826
30827 gptsync
30828
30829 * commands/gptsync.c: new file
30830 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30831 (gptsync_mod_SOURCES): new variable
30832 (gptsync_mod_CFLAGS): likewise
30833 (gptsync_mod_LDFLAGS): likewise
18f547ad 30834 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30835 new definition
30836 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30837 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30838 * conf/i386-ieee1275.rmk: likewise
30839 * conf/i386-pc.rmk: likewise
30840 * conf/powerpc-ieee1275.rmk: likewise
30841
b4ba690a 308422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30843
30844 Fixed grub-emu
30845
30846 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30847 (grub_dl_ref): likewise
30848
317e1a44 308492009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30850
30851 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30852 split in two functions (one for msdos and one for gpt).
30853
041b8094 308542009-05-08 Pavel Roskin <proski@gnu.org>
30855
752473c2 30856 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30857 not modified.
30858
041b8094 30859 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30860 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30861 Initialize them with -1. Add sanity check for bad1. Eliminate
30862 nerr variable.
30863
172800ce 308642009-05-08 David S. Miller <davem@davemloft.net>
30865
30866 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30867
29aa5e81 308682009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30869
30870 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30871 existence.
29aa5e81 30872
96613b62 308732009-05-05 Felix Zielcke <fzielcke@z-51.de>
30874
30875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30876 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30877
eef73c8a 308782009-05-05 David S. Miller <davem@davemloft.net>
30879
30880 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30881
119494b5 308822009-05-05 Pavel Roskin <proski@gnu.org>
30883
30884 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30885 of grub_dl_ref() and grub_dl_unref().
30886 * commands/parttool.c: Remove preprocessor conditionals around
30887 grub_dl_ref() and grub_dl_unref().
30888 * fs/affs.c: Likewise.
30889 * fs/afs.c: Likewise.
30890 * fs/cpio.c: Likewise.
30891 * fs/ext2.c: Likewise.
30892 * fs/fat.c: Likewise.
30893 * fs/hfs.c: Likewise.
30894 * fs/hfsplus.c: Likewise.
30895 * fs/iso9660.c: Likewise.
30896 * fs/jfs.c: Likewise.
30897 * fs/minix.c: Likewise.
30898 * fs/ntfs.c: Likewise.
30899 * fs/reiserfs.c: Likewise.
30900 * fs/sfs.c: Likewise.
30901 * fs/udf.c: Likewise.
30902 * fs/ufs.c: Likewise.
30903 * fs/xfs.c: Likewise.
30904 * include/grub/dl.h: Likewise.
30905 * loader/xnu.c: Likewise.
30906
de5fd76e 309072009-05-04 Pavel Roskin <proski@gnu.org>
30908
30909 * commands/acpi.c: Remove unused variable my_mod.
30910 * partmap/amiga.c: Likewise.
30911 * partmap/apple.c: Likewise.
30912 * partmap/gpt.c: Likewise.
30913 * partmap/pc.c: Likewise.
30914 * partmap/sun.c: Likewise.
30915 * term/gfxterm.c: Likewise.
30916 * term/i386/pc/vesafb.c: Likewise.
30917 * term/i386/pc/vga.c: Likewise.
30918
983598ad 309192009-05-04 David S. Miller <davem@davemloft.net>
30920
30921 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30922 pointer args to grub_ieee1275_get_property().
30923
8aadec43 30924 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30925
9554b15e 30926 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30927 devices, and do not traverse down under controller nodes.
30928
67e23c90 30929 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30930 (grub_ofdisk_open): Use it to un-escape "," characters.
30931 * kern/disk.c (find_part_sep): New.
30932 (grub_disk_open): Use it to find the first non-escaped ','
30933 character in the disk name.
30934 * util/ieee1275/devicemap.c (escape_of_path): New.
30935 (grub_util_emit_devicemap_entry): Use it.
30936 * util/sparc64/ieee1275/grub-install.in: Update script to
30937 strip partition specifiers properly by not triggering on
30938 '\' escaped ',' characters.
30939
74bfdd2f 309402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30941
30942 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30943 to 0x300.
30944 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30945 resolutions.
30946 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30947 on documentation from Wikipedia).
30948
4241d2b1 309492009-05-04 Pavel Roskin <proski@gnu.org>
30950
30951 * disk/ata.c: Spelling fixes.
30952 * disk/raid.c: Likewise.
30953 * disk/usbms.c: Likewise.
30954 * disk/dmraid_nvidia.c: Likewise.
30955 * kern/ieee1275/openfw.c: Likewise.
30956 * kern/ieee1275/init.c: Likewise.
30957 * kern/ieee1275/cmain.c: Likewise.
30958 * boot/i386/pc/cdboot.S: Likewise.
30959 * video/readers/png.c: Likewise.
30960 * video/i386/pc/vbe.c: Likewise.
30961 * fs/udf.c: Likewise.
30962 * fs/hfs.c: Likewise.
30963 * fs/reiserfs.c: Likewise.
30964 * efiemu/runtime/efiemu.c: Likewise.
30965 * efiemu/main.c: Likewise.
30966 * efiemu/mm.c: Likewise.
30967 * include/grub/elf.h: Likewise.
30968 * include/grub/xnu.h: Likewise.
30969 * include/grub/usbdesc.h: Likewise.
30970 * include/grub/usb.h: Likewise.
30971 * include/grub/script_sh.h: Likewise.
30972 * include/grub/lib/LzmaEnc.h: Likewise.
30973 * include/grub/efiemu/efiemu.h: Likewise.
30974 * include/grub/command.h: Likewise.
30975 * normal/menu.c: Likewise.
30976 * normal/main.c: Likewise.
30977 * normal/datetime.c: Likewise.
30978 * bus/usb/uhci.c: Likewise.
30979 * mmap/i386/uppermem.c: Likewise.
30980 * mmap/mmap.c: Likewise.
30981 * commands/acpi.c: Likewise.
30982 * commands/test.c: Likewise.
30983 * partmap/apple.c: Likewise.
30984 * font/font.c: Likewise.
30985 * loader/sparc64/ieee1275/linux.c: Likewise.
30986 * loader/macho.c: Likewise.
30987 * loader/i386/bsd_trampoline.S: Likewise.
30988 * loader/i386/bsd.c: Likewise.
30989 * loader/xnu.c: Likewise.
30990 * term/i386/pc/vesafb.c: Likewise.
30991 * term/usb_keyboard.c: Likewise.
30992 * util/resolve.c: Likewise.
30993 * util/getroot.c: Likewise.
30994
0cfc0083 309952009-05-04 Felix Zielcke <fzielcke@z-51.de>
30996
30997 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30998
7c1d00cd 309992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31000
31001 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31002 build error.
31003
b01f0548 310042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31007 parameter only available on BIOS.
31008
ecc3eb22 310092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31010
31011 Removed wrong semicolon in declaration
31012
31013 * grub/misc.h (grub_dprintf): remove semicolon
31014
112972a9 310152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31016
31017 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31018 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31019 is done by grub_cmd_linux() now).
31020 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31021 restore video to text mode.
31022 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31023 indicates lack of "vga=" parameter. "vga=0" is mapped to
31024 `GRUB_LINUX_VID_MODE_NORMAL'.
31025
afd5c115 310262009-05-04 Felix Zielcke <fzielcke@z-51.de>
31027
31028 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31029 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31030 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 31031 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 31032 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31033 `grub_script.tab.c'.
31034
31035 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31036 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31038 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31039 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31040
faa517ce 31041 * Makefile.in: Remove duplicated 2008 in Copyright line.
31042
ae0c0bdc 310432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31044
473d1e45 31045 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 31046 unconditionally.
31047 * include/grub/util/misc.h (grub_util_warn): New declaration.
31048
31049 * util/i386/pc/grub-install.in: Understand --force and pass it down
31050 to grub-setup.
31051
31052 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31053 down to setup().
31054 (setup): Improve error messages and add warnings when requested to
31055 install in odd layouts. Refuse to install using blocklists unless
31056 --force was set.
31057
18f547ad 310582009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 31059
31060 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31061
6d260daa 310622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31063
31064 Updated copyright year
31065
31066 * fs/hfsplus.c: updated copyright year
18f547ad 31067
69f853f8 310682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31069
31070 HFS+ UUID
31071
18f547ad 31072 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 31073 in the space previously used by unused3
31074 (grub_hfsplus_uuid): new function
31075 (grub_hfsplus_fs): added uuid field
31076
4c402e73 310772009-05-03 Pavel Roskin <proski@gnu.org>
31078
31079 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31080 suppress warnings. It's no longer needed.
31081 * disk/host.c: Likewise.
31082 * disk/ata_pthru.c: Likewise.
31083 * disk/loopback.c: Likewise.
31084 * hook/datehook.c: Likewise.
31085 * parttool/pcpart.c: Likewise.
31086 * fs/i386/pc/pxe.c: Likewise.
31087 * fs/ntfscomp.c: Likewise.
31088 * efiemu/main.c: Likewise.
31089 * mmap/mmap.c: Likewise.
31090 * commands/crc.c: Likewise.
31091 * commands/hexdump.c: Likewise.
31092 * commands/hdparm.c: Likewise.
31093 * commands/acpi.c: Likewise.
31094 * commands/echo.c: Likewise.
31095 * commands/minicmd.c: Likewise.
31096 * commands/blocklist.c: Likewise.
31097 * commands/memrw.c: Likewise.
31098 * commands/loadenv.c: Likewise.
31099 * commands/usbtest.c: Likewise.
31100 * commands/lsmmap.c: Likewise.
31101 * commands/boot.c: Likewise.
31102 * commands/parttool.c: Likewise.
31103 * commands/configfile.c: Likewise.
31104 * commands/search.c: Likewise.
31105 * commands/ieee1275/suspend.c: Likewise.
31106 * commands/cat.c: Likewise.
31107 * commands/i386/pc/pxecmd.c: Likewise.
31108 * commands/i386/pc/play.c: Likewise.
31109 * commands/i386/pc/halt.c: Likewise.
31110 * commands/i386/pc/vbeinfo.c: Likewise.
31111 * commands/i386/pc/vbetest.c: Likewise.
31112 * commands/lspci.c: Likewise.
31113 * commands/date.c: Likewise.
31114 * commands/handler.c: Likewise.
31115 * commands/ls.c: Likewise.
31116 * commands/test.c: Likewise.
31117 * commands/cmp.c: Likewise.
31118 * commands/efi/loadbios.c: Likewise.
31119 * commands/efi/fixvideo.c: Likewise.
31120 * commands/halt.c: Likewise.
31121 * commands/help.c: Likewise.
31122 * commands/reboot.c: Likewise.
31123 * hello/hello.c: Likewise.
31124 * script/sh/main.c: Likewise.
31125 * loader/xnu.c: Likewise.
31126 * term/terminfo.c: Likewise.
31127 * term/i386/pc/serial.c: Likewise.
31128 * term/usb_keyboard.c: Likewise.
31129
515b5079 311302009-05-03 David S. Miller <davem@davemloft.net>
31131
31132 * normal/menu.c: Include grub/parser.h
31133
dfc31a22 311342009-05-03 Pavel Roskin <proski@gnu.org>
31135
2fee74f1 31136 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31137 not char*.
31138 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31139 Suggested by Javier Martín <lordhabbit@gmail.com>
31140
dfc31a22 31141 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31142 efiemu??.o doesn't exist.
31143 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31144 copying.
31145
18f547ad 311462009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 31147
31148 FreeBSD 64-bit support
31149
18f547ad 31150 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 31151 and loader/i386/bsd_trampoline.S
31152 (bsd_mod_ASFLAGS): new variable
31153 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31154 (FREEBSD_MODTYPE_KERNEL64): likewise
31155 (grub_bsd64_trampoline_start): likewise
31156 (grub_bsd64_trampoline_end): likewise
31157 (grub_bsd64_trampoline_selfjump): likewise
31158 (grub_bsd64_trampoline_gdt): likewise
31159 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31160 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31161 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31162 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 31163 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 31164 of "attrib" member
31165 * loader/i386/bsd_pagetable.c: new file
31166 * loader/i386/bsd_trampoline.S: likewise
31167 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31168 (ALIGN_VAR): likewise
31169 (entry_hi): new variable
31170 (kern_end_mdofs): likewise
31171 (is_64bit): likewise
31172 (grub_freebsd_add_meta): use ALIGN_VAR
31173 (grub_e820_mmap): new declaration
31174 (grub_freebsd_add_mmap): new function
31175 (grub_freebsd_add_meta_module): support 64 bit kernels
31176 (grub_freebsd_list_modules): use ALIGN_VAR
31177 (gdt_descriptor): new declaration
31178 (grub_freebsd_boot): support 64 bit kernels
31179 (grub_bsd_elf64_hook): new function
31180 (grub_bsd_load_elf): support elf64
31181
038c5720 311822009-05-03 Bean <bean123ch@gmail.com>
31183
31184 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31185 after we get the result of if statement.
31186
fc45fb58 311872009-05-03 Bean <bean123ch@gmail.com>
31188
31189 * Makefile.in (enable_efiemu): New variable.
31190
31191 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31192 set.
31193 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31194 path.
31195 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31196 path, add -mno-red-zone option.
31197 (efiemu64_s.o): Likewise.
31198 (efiemu64.o): Use macro $^ for source file.
31199
31200 * configure.ac (--enable-efiemu): New option.
31201
bbee0f2b 312022009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31203
31204 xnu support
31205
31206 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31207 (pkglib_MODULES): add xnu.mod
31208 (xnu_mod_SOURCES): new variable
31209 (xnu_mod_CFLAGS): likewise
31210 (xnu_mod_LDFLAGS): likewise
31211 (xnu_mod_ASFLAGS): likewise
31212 * conf/i386-pc.rmk: likewise
31213 * conf/x86_64-efi.rmk: likewise
7dd4a573 31214 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 31215 new declaration
31216 * include/grub/i386/macho.h: new file
31217 * include/grub/i386/xnu.h: likewise
31218 * include/grub/macho.h: likewise
31219 * include/grub/machoload.h: likewise
31220 * include/grub/x86_64/macho.h: likewise
31221 * include/grub/x86_64/xnu.h: likewise
31222 * include/grub/xnu.h: likewise
31223 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31224 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31225 * loader/i386/efi/xnu.c: new file
31226 * loader/i386/pc/xnu.c: likewise
31227 * loader/i386/xnu.c: likewise
31228 * loader/i386/xnu_helper.S: likewise
31229 * loader/macho.c: likewise
31230 * loader/xnu.c: likewise
31231 * loader/xnu_resume.c: likewise
31232 * util/grub-dumpdevtree: likewise
31233 * include/grub/i386/pit.h: include grub/err.h
31234 (grub_pit_wait): export
31235 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 31236
5caf964d 312372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31238
31239 Efiemu
7dd4a573 31240
5caf964d 31241 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 31242 _linux_efi, linux_efi.
31243 new files in grub-emu
5caf964d 31244 new targets efiemu32.o and efiemu64.o
31245 * loader/linux_normal_efiemu.c: likewise
31246 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 31247 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 31248 files to copy
31249 * include/grub/autoefi.h: new file
7dd4a573 31250 * include/grub/i386/efiemu.h: likewise
5caf964d 31251 * include/grub/i386/pc/efiemu.h: likewise
31252 * include/grub/efi/api.h: add LL suffix when necessary
31253 new definitions relating to tables
31254 * include/grub/efiemu/efiemu.h: new file
31255 * include/grub/efiemu/runtime.h: likewise
31256 * efiemu/prepare.c: likewise
31257 * efiemu/loadcore_common.c: likewise
31258 * efiemu/loadcore64.c: likewise
31259 * efiemu/runtime/efiemu.sh: likewise
31260 * efiemu/runtime/efiemu.S: likewise
31261 * efiemu/runtime/efiemu.c: likewise
31262 * efiemu/runtime/config.h: likewise
31263 * efiemu/prepare32.c: likewise
31264 * efiemu/main.c: likewise
31265 * efiemu/modules/pnvram.c: likewise
31266 * efiemu/modules/i386: likewise
31267 * efiemu/modules/i386/pc: likewise
31268 * efiemu/modules/acpi.c: likewise
31269 * efiemu/i386/pc/cfgtables.c: likewise
31270 * efiemu/i386/loadcore64.c: likewise
31271 * efiemu/i386/loadcore32.c: likewise
31272 * efiemu/prepare64.c: likewise
31273 * efiemu/loadcore.c: likewise
31274 * efiemu/symbols.c: likewise
31275 * efiemu/mm.c: likewise
31276 * efiemu/loadcore32.c: likewise
7dd4a573 31277
312782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 31279
31280 ACPI spoofing
31281
31282 * commands/acpi.c: new file
31283 * commands/i386/pc/acpi.c: likewise
31284 * commands/efi/acpi.c: likewise
31285 * include/grub/acpi.h: likewise
31286 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31287 (acpi_mod_SOURCES): new variable
31288 (acpi_mod_CFLAGS): likewise
31289 (acpi_mod_LDFLAGS): likewise
31290 * conf/i386-efi.rmk: likewise
31291 * conf/x86_64-efi.rmk: likewise
31292
7dd4a573 312932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 31294
31295 Missing part from mmap patch
31296
31297 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31298 (grub_mmap_unregister)
31299 (grub_mmap_free_and_unregister): use grub_mmap_register
31300
7dd4a573 313012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 31302
31303 Mmap services
31304
31305 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31306 * loader/i386/linux.c (find_mmap_size): likewise
31307 (allocate_pages): likewise
31308 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31309 (grub_fill_multiboot_mmap): likewise
31310 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31311 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31312 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31313 (OPENBSD_MMAP_RESERVED): likewise
31314 * include/grub/i386/pc/memory.h: include grub/memory.h
31315 (grub_lower_mem): removed
31316 (grub_upper_mem): likewise
31317 (GRUB_MACHINE_MEMORY_ACPI): new definition
31318 (GRUB_MACHINE_MEMORY_NVS): likewise
31319 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31320 (GRUB_MACHINE_MEMORY_HOLE): likewise
31321 (grub_machine_mmap_register): likewise
31322 (grub_machine_mmap_unregister): likewise
31323 (grub_machine_get_upper): likewise
31324 (grub_machine_get_lower): likewise
31325 (grub_machine_get_post64): likewise
31326 * include/grub/i386/efi/memory.h: new file
31327 * include/grub/x86_64/efi/memory.h: likewise
31328 * include/grub/efi/memory.h: likewise
31329 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31330 (mmap_mod_SOURCES): new variable
31331 (mmap_mod_LDFLAGS): likewise
31332 (mmap_mod_ASFLAGS): likewise
31333 * conf/i386-coreboot.rmk: likewise
31334 * conf/i386-ieee1275.rmk: likewise
31335 * conf/i386-efi.rmk: likewise
31336 * conf/x86_64-efi.rmk: likewise
31337 * include/grub/types.h (UINT_TO_PTR): new macro
31338 (PTR_TO_UINT32): likewise
31339 (PTR_TO_UINT64): likewise
31340 * include/grub/memory.h: new file
31341 * mmap/i386/pc/mmap.c: likewise
31342 * mmap/i386/pc/mmap_helper.S: likewise
31343 * mmap/i386/uppermem.c: likewise
31344 * mmap/mmap.c: likewise
31345 * mmap/efi/mmap.c: likewise
7dd4a573 31346 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 31347 grub_upper_mem
31348 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31349 (grub_upper_mem): likewise
31350 (grub_machine_init): don't use grub_upper_mem,
31351 make grub_lower_mem local
31352 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31353 grub_mmap_iterate and grub_mmap_get_upper
31354 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31355
d558e6b5 313562009-05-02 Bean <bean123ch@gmail.com>
31357
31358 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31359 script/sh/parser.y.
31360 (pkglib_MODULES): Add normal.mod and sh.mod.
31361 (normal_SOURCES): New variable.
31362 (normal_mod_CFLAGS): Likewise.
31363 (normal_mod_LDFLAGS): Likewise.
31364 (sh_mod_SOURCES): Likewise.
31365 (sh_mod_CFLAGS): Likewise.
31366 (sh_mod_LDFLAGS): Likewise.
31367
31368 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31369 script/sh/lexer.c_DEPENDENCIES.
31370 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31371 kern/rescue_reader.c and kern/rescue_parser.c.
31372 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31373 (grub_emu_SOURCES): Change source files.
31374 (pkglib_MODULES): Remove normal.mod.
31375 (normal_SOURCES): Removed.
31376 (normal_mod_CFLAGS): Likewise.
31377 (normal_mod_LDFLAGS): Likewise.
31378 * conf/i386-coreboot.rmk: Likewise.
31379 * conf/i386-efi.rmk: Likewise.
31380 * conf/i386-ieee1276.rmk: Likewise.
31381 * conf/powerpc-ieee1275.rmk: Likewise.
31382 * conf/sparc64-ieee1275.rmk: Likewise.
31383 * conf/x86_64-efi.rmk: Likewise.
31384
31385 * include/grub/command.h (grub_command_execute): New inline function.
31386
31387 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31388
31389 * include/grub/normal.h: Remove <grub/setjmp.h>.
31390 (grub_fs_module_list): Moved to normal/autofs.c.
31391 (grub_exit_env): Removed.
31392 (grub_command_execute): Likewise.
31393 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31394 parameter script.
31395 (read_command_list): New function declaration.
31396 (read_fs_list): Likewise.
31397
31398 * include/parser.h: Include <grub/reader.h>.
31399 (grub_parser_split_cmdline): Change type of getline parameter.
31400 (grub_parser): New structure.
31401 (grub_parser_class): New variable.
31402 (grub_parser_execute): New function declaration.
31403 (grub_register_rescue_parser): Likewise.
31404 (grub_parser_register): New inline function.
31405 (grub_parser_unregister): Likewise.
31406 (grub_parser_get_current): Likewise.
31407 (grub_parser_set_current): Likewise.
31408
31409 * include/grub/reader.h: New file.
31410 * kern/reader.c: Likewise.
31411 * kern/rescue_parser.c: Likewise.
31412 * kern/rescue_reader.c: Likewise.
31413 * normal/autofs.c: Likewise.
31414 * normal/dyncmd.c: Likewise.
31415
31416 * include/grub/rescue.h: Removed.
31417 * normal/command.h: Likewise.
31418
31419 * include/grub/script.h: Moved to ...
31420 * include/grub/script_sh.h: ... Moved here.
31421 * normal/execute.c: Moved to ...
31422 * script/sh/execute.c: ... Moved here.
31423 * normal/function.c: Moved to ...
31424 * script/sh/function.c: ... Moved here.
31425 * normal/lexer.c: Moved to ...
31426 * script/sh/lexer.c: ... Moved here.
31427 * normal/parser.y: Moved to ...
31428 * script/sh/parser.y: ... Moved here.
31429 * normal/script.c: Moved to ...
31430 * script/sh/script.c: ... Moved here.
31431
31432 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31433 <grub/reader.h>.
31434 (grub_exit_env): Removed.
31435 (fs_module_list): Moved to normal/autofs.c.
31436 (grub_file_getline): Don't handle comment here.
31437 (free_menu): Skip removed field entry->commands.
31438 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31439 script parameter.
31440 (read_config_file): Removed nested parameter, change getline function.
31441 (grub_enter_normal_mode): Removed.
31442 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31443 (read_command_list): Likewise.
31444 (autoload_fs_module): Moved to normal/autofs.c.
31445 (read_fs_list): Likewise.
31446 (reader_nested): New variable.
31447 (grub_normal_execute): Run parser.sh to switch to sh parser.
31448 (grub_cmd_rescue): Removed.
31449 (cmd_normal): Removed.
31450 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31451 rescue command.
31452 (grub_cmdline_run): New function.
31453 (grub_normal_reader_init): Likewise.
31454 (grub_normal_read_line): Likewise.
31455 (grub_env_write_pager): Likewise.
31456 (cmdline): New variable.
31457 (grub_normal_reader): Likewise.
31458 (GRUB_MOD_INIT): Register normal reader and set as current, register
31459 pager hook, register normal command with grub_register_command_prio,
31460 so that it won't show up in command.lst.
31461 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31462 grub_fs_autoload_hook.
31463
31464 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31465 (grub_menu_execute_entry): Replace grub_script_execute with
31466 grub_parser_execute, change parameter to grub_command_execute.
31467
31468 * normal/menu_text.c: Remove <grub/script.h>.
31469
31470 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31471 and <grub/parser.h>.
31472 (run): Change editor_getline to use new parser interface. Change
31473 parameter to grub_command_execute.
31474
31475 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31476 <grub/reader.h> and <grub/parser.h>.
31477 (grub_load_normal_mode): Execute normal command.
31478 (grub_main): Call grub_register_core_commands,
31479 grub_register_rescue_parser and grub_register_rescue_reader, use
31480 grub_reader_loop to enter input loop.
31481
7dd4a573 31482 * kern/parser.c (grub_parser_split_cmdline): Change type of
31483 getline parameter.
d558e6b5 31484 (grub_parser_class): New variable.
31485 (grub_parser_execute): New function.
31486
31487 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31488 * loader/multiboot2.c: Likewise.
31489 * loader/sparc64/ieee1275/linux.c: Likewise.
31490
31491 * util/grub-emu.c (read_command_list): New dummy function.
31492
18db813d 314932009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31494
31495 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31496 count to 16 for CCISS and IDA.
31497
6c67de15 314982009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31499
31500 * normal/menu_text.c (grub_wait_after_message): Print a newline
31501 after waiting for user input.
31502
31503 * loader/i386/linux.c: Include `<grub/normal.h>'.
31504 (grub_cmd_linux): Improve the error message about `ask' mode, by
31505 waiting for user input so it's not missed (we can do this, since
31506 user requested interaction).
31507
d9dc87b0 315082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31509
31510 Added missing lst to grub-mkrescue
31511
31512 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31513 and ${input_dir}/parttool.lst
31514
ac8a2baa 315152009-04-30 David S. Miller <davem@davemloft.net>
31516
ad22a610 31517 * util/hostdisk.c (device_is_wholedisk): New function.
31518 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31519 zero only if device_is_wholedisk() returns true.
31520
6966215d 31521 * util/hostdisk.c (convert_system_partition_to_system_disk):
31522 Handle virtual disk devices named /dev/vdiskX as found on sparc
31523 and powerpc.
31524
ac8a2baa 31525 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31526 lettered partition specifier is found, convert to numbered.
31527
979b4fb4 315282009-04-29 David S. Miller <davem@davemloft.net>
31529
e2bf39b2 31530 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31531 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31532
3c64e104 31533 * normal/command.c: Add missing newline at end of file.
31534
979b4fb4 31535 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31536 warnings.
31537 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31538 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31539 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31540 ihandles have a 32-bit type but need to be stored in a "void *".
31541
136d9f82 315422009-04-28 Pavel Roskin <proski@gnu.org>
31543
9459c306 31544 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31545 not disk. Adjust all dependencies.
2e08a26a 31546 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31547 grub_disk_close().
31548
136d9f82 31549 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31550 parent's partition, don't copy it by reference, as it gets freed
31551 on close.
31552
7dd4a573 315532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31554
31555 Preboot hooks support
31556
31557 * commands/boot.c (struct grub_preboot_t): new declaration
31558 (preboots_head): new variable
31559 (preboots_tail): likewise
31560 (grub_loader_register_preboot_hook): new function
31561 (grub_loader_unregister_preboot_hook): likewise
31562 (grub_loader_set): launch preboot hooks
31563 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31564 (grub_loader_register_preboot_hook): new declaration
31565 (grub_loader_unregister_preboot_hook): likewise
31566
5af922b5 315672009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31568
31569 Warning fix
31570
7dd4a573 31571 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31572 calling grub_dprintf
31573
a5562c30 315742009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31575
31576 Bug and warning fixes
31577
7dd4a573 31578 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31579 declaration
31580 * commands/test.c (test_parse): fixed bug with file tests and corrected
31581 declaration of find_file
31582
4006f85c 315832009-04-26 Pavel Roskin <proski@gnu.org>
31584
31585 * Makefile.in: Don't install empty manual pages if help2man is
31586 missing. Use help2man option for output, not shell redirection.
31587
5c77c3de 315882009-04-26 David S. Miller <davem@davemloft.net>
31589
31590 * util/grub-mkdevicemap.c (make_device_map): Add missing
31591 NESTED_FUNC_ATTR to process_device().
31592
033b10a8 315932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31594
31595 Test command
31596
31597 * commands/test.c: rewritten to use bash-like test
31598
e4343593 315992009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31600
31601 Parttool autoloading and improvements
31602
7dd4a573 31603 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31604 (parttool.lst): new target
31605 * genmk.rb: generate parttool-*
31606 (CLEANFILES): add #{parttool}
31607 (PARTTOOLFILES): new variable
31608 * genparttoollist.sh: new file
7dd4a573 31609 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31610 (grub_pcpart_type): likewise
31611 * commands/parttool.c (helpmsg): new variable
31612 (grub_cmd_parttool): output help if not enough arguments are supplied
31613 autoload modules
31614 (GRUB_MOD_INIT(parttool)): use helpmsg
31615
0d312500 316162009-04-24 David S. Miller <davem@davemloft.net>
31617
7dd4a573 31618 Avoiding opening same device multiple times in device iterator.
0d312500 31619
31620 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31621 and use it to build a list of partitions in iterate_disk() and
0d312500 31622 iterate_partition().
31623
ac20caff 31624 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31625 on disk->data.
31626
0dcf7495 31627 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31628 grub_devalias_iterate() result instead of unconditional 0.
31629 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31630 Also, capture hook return value, either directly or via
31631 grub_children_iterate(), and propagate to caller.
31632 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31633 grub_children_iterate): Return value is now 'int' instead of
31634 'grub_err_t'.
31635 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31636 like a proper iterator, stopping when hooks return non-zero.
31637 (grub_devalias_iterate): Likewise.
31638
c8c08833 316392009-04-23 David S. Miller <davem@davemloft.net>
31640
31641 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31642
f01005a8 316432009-04-22 David S. Miller <davem@davemloft.net>
31644
31645 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31646 is larger than address_cells, use that value for address_cells too.
31647
4e8269da 31648 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31649 IEEE1275_MAX_PATH_LEN): Define.
31650 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31651 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31652 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31653 'devtype'. Explicitly NULL terminate devalias expansion.
31654
a1447506 31655 * util/sparc64/ieee1275/misc.c: New file.
31656 * util/sparc64/ieee1275/grub-setup.c: New file.
31657 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31658 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31659 * util/sparc64/ieee1275/grub-install.in: New file.
31660 * util/ieee1275/ofpath.c: New file.
31661 * util/ieee1275/devicemap.c: New file.
31662 * util/devicemap.c: New file.
31663 * util/deviceiter.c: New file.
31664 * kern/sparc64/ieee1275/init.c: New file.
31665 * include/grub/util/ofpath.h: New file.
31666 * include/grub/util/deviceiter.h: New file.
31667 * util/grub-mkdevicemap.c: Include deviceiter.h.
31668 Implement using grub_util_emit_devicemap_entry and
31669 grub_util_iterate_devices.
31670 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31671 util/devicemap.c into grub-mkdevicemap
31672 * conf/i386-efi.rmk: Likewise.
31673 * conf/i386-ieee1275.rmk: Likewise.
31674 * conf/i386-pc.rmk: Likewise.
31675 * conf/powerpc-ieee1275.rmk: Likewise.
31676 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31677 images and installation utilities. Build kernel as image
31678 instead of as elf binary. Use common rules as much as possible.
31679
7dd4a573 316802009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31681
31682 Correct GPT definition
31683
7dd4a573 31684 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31685 of "attrib" member
31686
c6c5219f 316872009-04-19 Felix Zielcke <fzielcke@z-51.de>
31688
31689 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31690
0552ff9f 316912009-04-19 David S. Miller <davem@davemloft.net>
31692
31693 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31694 (grub_rescue_cmd_linux): Rename to...
31695 (grub_cmd_linux): and fix prototype.
31696 (grub_rescue_cmd_initrd): Rename to...
31697 (grub_cmd_initrd): and fix prototype.
31698 (cmd_linux, cmd_initrd): New.
31699 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31700 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31701
d1a282fc 317022009-04-17 Pavel Roskin <proski@gnu.org>
31703
07c5039f 31704 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31705 format.
31706 (grub_ohci_transfer): Likewise.
31707
b012002d 31708 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31709
1bc09c35 31710 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31711 return without a value. Fix inconsistent indentation.
31712
e0ff9126 31713 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31714 match struct grub_fs.
31715
d1a282fc 31716 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31717 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31718 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31719 * commands/lspci.c (grub_lspci_iter): Likewise.
31720
a96df3f2 317212009-04-16 Bean <bean123ch@gmail.com>
31722
31723 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31724 value.
31725
41bb0fe9 317262009-04-15 Pavel Roskin <proski@gnu.org>
31727
31728 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31729 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31730 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31731 definitions.
31732
596c6970 317332009-04-15 Felix Zielcke <fzielcke@z-51.de>
31734
31735 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31736 that no multiple data or metadata areas are supported and `Unknown
596c6970 31737 metadata header'.
31738
7dd4a573 317392009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31740
31741 Move loader out of the kernel
31742
31743 * kern/loader.c: moved to ...
31744 * commands/boot.c: ... moved here
31745 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31746 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31747 * include/grub/kernel.h (grub_machine_fini): export
31748 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31749 (grub_loader_set): likewise
31750 (grub_loader_unset): likewise
31751 (grub_loader_boot): likewise
31752 * conf/common.rmk: new module boot.mod
31753 (pkglib_MODULES): add boot.mod
31754 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31755 (grub_emu_SOURCES): likewise
31756 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31757 (grub_emu_SOURCES): likewise
31758 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31759 (grub_emu_SOURCES): likewise
31760 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31761 (grub_emu_SOURCES): likewise
31762 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31763 (grub_emu_SOURCES): likewise
7dd4a573 31764 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31765 (grub_emu_SOURCES): likewise
0d5d5653 31766 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31767 (grub_emu_SOURCES): likewise
0d5d5653 31768
7dd4a573 317692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31770
31771 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31772
5999d619 31773 * kern/misc.c (grub_itoa): Removed function
31774 (grub_ltoa): likewise
31775 (grub_vsprintf): use grub_lltoa
31776
7dd4a573 317772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31778
31779 Restore grub-emu
31780
31781 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31782 * conf/i386-coreboot.rmk: likewise
31783 * conf/i386-ieee1275.rmk: likewise
31784 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31785
20318222 317862009-04-15 Felix Zielcke <fzielcke@z-51.de>
31787
31788 * INSTALL: Add that `./autogen.sh' needs to be run before
31789 `./configure.'.
31790
d05f0df3 317912009-04-14 Bean <bean123ch@gmail.com>
31792
31793 * Makefile.in (pkglib_DATA): Add handler.lst.
31794 (handler.lst): New rule.
31795
31796 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31797 * conf/i386-coreboot.rmk: Likewise.
31798 * conf/i386-ieee1275.rmk: Likewise.
31799 * conf/i386-efi.rmk: Likewise.
31800 * conf/x86_64-efi.rmk: Likewise.
31801 * conf/powerpc-ieee1275.rmk: Likewise.
31802 * conf/sparc64-ieee1275.rmk: Likewise.
31803
31804 * genhandlerlist.sh: New file.
31805
31806 * genmk.rb: Add rules to generate handler.lst.
31807
31808 * include/grub/normal.h (grub_file_getline): New function definition.
31809 (read_handler_list): Likewise.
31810 (free_handler_list): Likewise.
31811
31812 * include/grub/term.h (grub_term_register_input): Add name parameter
31813 for auto generation of handler.lst.
31814 (grub_term_register_output): Likewise.
31815
31816 * normal/handler.c: New file.
31817
31818 * normal/main.c (get_line): Renamed to grub_file_getline.
31819 (read_config_file): Use the newly renamed grub_file_getline.
31820 (read_command_list): Likewise.
31821 (read_fs_list): Likewise.
31822 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31823 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31824
31825 * term/efi/console.c (grub_console_init): Add name parameter for auto
31826 generation of handler.lst.
31827 * term/gfxterm.c: Likewise.
31828 * term/i386/pc/at_keyboard.c: Likewise.
31829 * term/i386/pc/console.c: Likewise.
31830 * term/i386/pc/serial.c: Likewise.
31831 * term/i386/pc/vesafb.c: Likewise.
31832 * term/i386/pc/vga.c: Likewise.
31833 * term/i386/pc/vga_text.c: Likewise.
31834 * term/ieee1275/ofconsole.c: Likewise.
31835 * term/usb_keyboard.c: Likewise.
31836
33c846be 318372009-04-14 Bean <bean123ch@gmail.com>
31838
31839 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31840 properly with null character.
31841
4484e01e 318422009-04-14 Felix Zielcke <fzielcke@z-51.de>
31843
31844 * configure: Remove.
31845 * config.h.in: Likewise.
f93d668e 31846 * stamp-h.in: Likewise.
4484e01e 31847 * DISTLIST: Likewise.
31848 * conf/common.mk: Likewise.
31849 * conf/i386-coreboot.mk: Likewise.
31850 * conf/i386-efi.mk: Likewise.
31851 * conf/i386-ieee1275.mk: Likewise.
31852 * conf/i386.mk: Likewise.
31853 * conf/i386-pc.mk: Likewise.
31854 * conf/powerpc-ieee1275.mk: Likewise.
31855 * conf/sparc64-ieee1275.mk: Likewise.
31856 * conf/x86_64-efi.mk: Likewise.
31857
31858 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31859 develop on GRUB.
31860
7dd4a573 318612009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31862 David S. Miller <davem@davemloft.net>
31863
31864 * util/hostdisk.c (make_device_name): Fix buffer length
31865 calculations.
31866
e25b5a8c 318672009-04-14 Felix Zielcke <fzielcke@z-51.de>
31868
31869 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31870 <sys/param.h> and <sys/sysctl.h>.
31871 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31872 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31873 opening the device and reset them afterwards.
31874
1f1f580c 318752009-04-13 Pavel Roskin <proski@gnu.org>
31876
31877 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31878 Reported by John Stanley <jpsinthemix@verizon.net>
31879
7ebc2d6b 318802009-04-13 Robert Millan <rmh@aybabtu.com>
31881
31882 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31883 that name for menuentries when appropriate.
7ebc2d6b 31884
d8ba3667 318852009-04-13 Felix Zielcke <fzielcke@z-51.de>
31886
31887 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31888
cba416eb 318892009-04-13 Robert Millan <rmh@aybabtu.com>
31890
31891 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31892 to Linux, simply abort telling the user it's no longer supported.
31893
a547a745 318942009-04-13 Felix Zielcke <fzielcke@z-51.de>
31895
31896 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31897 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31898 `freebsd_loadenv' only when devices.hints exist.
31899
232a769c 319002009-04-13 Pavel Roskin <proski@gnu.org>
31901
31902 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31903
c3012039 319042009-04-13 Felix Zielcke <fzielcke@z-51.de>
31905
31906 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31907 partition number.
31908 (grub_drive): Likewise.
31909
234022fe 319102009-04-13 David S. Miller <davem@davemloft.net>
31911
31912 * kern/sparc64/ieee1275/ieee1275.c: New file.
31913 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31914 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31915 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31916 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31917 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31918 grub_ieee1275_alloc_physmem): Declare new exported functions.
31919
d8e1836c 31920 * include/grub/sparc64/ieee1275/loader.h: New file.
31921 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31922 * include/grub/sparc64/kernel.h: Likewise.
31923 * loader/sparc64/ieee1275/linux.c: Likewise.
31924
96bd81ec 31925 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31926 (grub_fstest_SOURCES): Likewise.
31927
6a4737e5 31928 * util/hostdisk.c (make_device_name): Do not make any assumptions
31929 about the length of drive names.
31930
1d7a72fd 31931 * kern/dl.c (grub_dl_load_file): Close file immediately when
31932 we are done using it.
31933
56bc2471 319342009-04-12 David S. Miller <davem@davemloft.net>
31935
31936 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31937 values. Noticed by Pavel Roskin.
31938
df38d0bb 31939 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31940 target compiler.
7dd4a573 31941
e382e93a 31942 * genmk.rb: Add more flexible image type specification, also
31943 pass --strip-unneeded to objcopy.
31944 * conf/i386-pc.rmk: Use *_FORMAT.
31945 * conf/i386-pc.mk: Rebuilt.
31946
f5dbbca9 31947 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31948 (OFDISK_HASH_SZ): Define.
31949 (ofdisk_hash): New hash table.
31950 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31951 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31952 instead of device phandle which is not unique.
31953
91c88b12 31954 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31955 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31956 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31957 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31958 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31959 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31960 GRUB_KERNEL_MACHINE_DATA_END): Define.
31961 (grub_kernel_image_size, grub_total_module_size): Declare.
31962
5b5d4aa5 319632009-04-12 Pavel Roskin <proski@gnu.org>
31964
7dd4a573 31965 * configure.ac: Change the logic when we check for target tools.
31966 Do it when the target is specified and it's different from the
31967 specified value of the host.
5b5d4aa5 31968
c91e1793 319692009-04-11 Felix Zielcke <fzielcke@z-51.de>
31970
31971 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31972 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31973 GNU/kFreeBSD. Check if a device is a character device. Use
31974 DIOCGMEDIASIZE to get the size.
31975 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31976 support for GNU/kFreeBSD.
31977 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31978 is a character device instead of a block device. Add support for
31979 FreeBSD device names.
31980
31981 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31982 is a character device instead of a block device.
31983
31984 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31985 is a character device instead of a block device.
31986
b1ac8644 319872009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31988
31989 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31990 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31991 FreeBSD. Check if a device is a character device. Use
31992 DIOCGMEDIASIZE to get the size.
31993 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31994 support for FreeBSD.
31995 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31996 is a character device instead of a block device. Add support for
31997 FreeBSD device names.
31998
31999 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32000 a character device instead of a block device.
32001 (grub_util_check_char_device): New function.
32002
32003 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32004 a character device instead of a block device.
32005
32006 * include/grub/util/getroot.h (grub_util_check_char_device): New
32007 prototype.
32008
a3f7515a 320092009-04-11 David S. Miller <davem@davemloft.net>
32010
32011 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32012 static libgcc.
32013 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32014 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32015 function, if present.
32016 (__bswapdi2): Likewise.
32017
0d44993d 32018 * include/grub/sparc64/ieee1275/boot.h: New file.
32019 * boot/sparc64/ieee1275/boot.S: Likewise.
32020 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32021
ed3d2bc2 32022 * kern/misc.c (grub_ltoa): New function.
32023 (grub_vsprintf): Use it to format 'long' integers.
32024
d3bfb59c 320252009-04-10 David S. Miller <davem@davemloft.net>
32026
32027 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32028 slots are of type grub_ieee1275_cell_t.
32029 (grub_nand_read): Likewise.
32030 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32031 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32032 macros are used to compare values in arg/ret block of the call.
32033 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32034 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32035 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32036 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32037 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32038 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32039 grub_ieee1275_close, grub_ieee1275_set_property,
32040 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32041 grub_ieee1275_cell_t.
32042 * kern/ieee1275/openfw.c (grub_map): Likewise.
32043 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32044 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32045
450e2238 32046 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32047 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32048 (grub_devalias_iterate): Likewise.
32049
7dd4a573 320502009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 32051
32052 UFS improvements
32053
32054 * fs/ufs.c (INODE_NBLOCKS): new definition
32055 (struct grub_ufs_dirent): added fields for non-BSD dirents
32056 (grub_ufs_get_file_block): fixed double indirect handling
32057 (grub_ufs_lookup_symlink): use more robust way to determine whether
32058 symlink is inline
32059 (grub_ufs_find_file): support for non-BSD dirents
32060 (grub_ufs_dir): support for non-BSD dirents
32061
e7e6862a 320622009-04-10 Bean <bean123ch@gnail.com>
32063
32064 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32065 attribute, otherwise the size would be wrong for i386 platform.
32066
32067 * include/grub/pci.h (grub_pci_read_word): New inline function.
32068 (grub_pci_read_byte): Likewise.
32069 (grub_pci_write): Likewise.
32070 (grub_pci_write_word): Likewise.
32071 (grub_pci_write_byte): Likewise.
32072
32073 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32074
32075 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32076 (find_framebuf): Scan pci to locate the frame buffer address.
32077
32078 * commands/efi/fixvideo.c: New file.
32079
32080 * commands/efi/loadbios.c: Likewise.
32081
32082 * commands/memrw.c: Likewise.
32083
32084 * util/grub-dumpbios.in: Likewise.
32085
32086 * conf/common.rmk (grub-dumpbios): New utility.
32087 (pkglib_MODULES): New module memrw.mod.
32088 (memrw_mod_SOURCE): New macro.
32089 (memrw_mod_CFLAGS): Likewise.
32090 (memrw_mod_LDFLAGS): Likewise.
32091
7dd4a573 32092 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32093 fixvideo.mod.
32094 (loadbios_mod_SOURCE): New macro.
32095 (loadbios_mod_CFLAGS): Likewise.
32096 (loadbios_mod_LDFLAGS): Likewise.
32097 (fixvideo_mod_SOURCE): Likewise.
32098 (fixvideo_mod_CFLAGS): Likewise.
32099 (fixvideo_mod_LDFLAGS): Likewise.
32100
7dd4a573 32101 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32102 fixvideo.mod.
32103 (loadbios_mod_SOURCE): New macro.
32104 (loadbios_mod_CFLAGS): Likewise.
32105 (loadbios_mod_LDFLAGS): Likewise.
32106 (fixvideo_mod_SOURCE): Likewise.
32107 (fixvideo_mod_CFLAGS): Likewise.
32108 (fixvideo_mod_LDFLAGS): Likewise.
32109
af63ada2 321102009-04-08 Felix Zielcke <fzielcke@z-51.de>
32111
32112 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32113
c2cdde70 321142009-04-07 David S. Miller <davem@davemloft.net>
32115
32116 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32117 support for R_SPARC_OLO10 relocations. Fix compile warning for
32118 R_SPARC_WDISP30 case.
ea3f72cf 32119 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 32120
761319cf 321212009-04-06 Pavel Roskin <proski@gnu.org>
32122
1007d1f5 32123 * include/grub/misc.h (ARRAY_SIZE): New macro.
32124 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32125 New macro.
32126 * loader/i386/linux.c (allocate_pages): Use free_pages().
32127 (grub_linux_unload): Don't use free_pages().
32128 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32129 wrong index. Treat all other modes as text modes.
32130 (grub_cmd_linux): Initialize vid_mode unconditionally to
32131 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32132
761319cf 32133 * commands/help.c (print_command_help): Use cmd->prio, not
32134 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32135
ea761d40 321362009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 32137
ea761d40 32138 Parttool
32139
32140 * parttool/pcpart.c: new file
32141 * commands/parttool.c: likewise
32142 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32143 (parttool_mod_SOURCES): new variable
32144 (parttool_mod_CFLAGS): likewise
32145 (parttool_mod_LDFLAGS): likewise
32146 (pcpart_mod_SOURCES): likewise
32147 (pcpart_mod_CFLAGS): likewise
32148 (pcpart_mod_LDFLAGS): likewise
7dd4a573 32149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 32150 and parttool/pcpart.c
32151 * conf/i386-efi.rmk: likewise
32152 * conf/i386-ieee1275.rmk: likewise
32153 * conf/i386-pc.rmk: likewise
32154 * conf/powerpc-ieee1275.rmk: likewise
32155 * conf/sparc64-ieee1275.rmk: likewise
32156 * conf/x86_64-ieee1275.rmk: likewise
32157
05aaebfb 321582009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32159
32160 Support for mtime and further expandability of dir command
32161
32162 * include/grub/lib/datetime.h: moved to ...
7dd4a573 32163 * include/grub/datetime.h: ... moved here and added
05aaebfb 32164 declaration of grub_unixtime2datetime. All users updated
7dd4a573 32165 * include/grub/fs.h: new syntax for dir and mtime functions in
32166 struct grub_fs
05aaebfb 32167 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32168 and GRUB_FSHELP_FLAGS_MASK
32169 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32170 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32171 (grub_ext2_mtime): new function
32172 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32173 (grub_hfsplus_mtime): new function
32174 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32175 (GRUB_UFS_ATTR_FILE): likewise
32176 (GRUB_UFS_ATTR_LNK): likewise
32177 (struct grub_ufs_sblock): new fields mtime
32178 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32179 all users updated
32180 (grub_ufs_dir): mtime support
32181 (grub_ufs_mtime): new function
32182 * fs/affs.c (grub_affs_dir): use new dir syntax
32183 * fs/afs.c (grub_afs_dir): likewise
32184 * fs/cpio.c (grub_cpio_dir): likewise
32185 * fs/fat.c (grub_fat_find_dir): likewise
32186 * fs/hfs.c (grub_hfs_dir): likewise
32187 * fs/iso9660.c (grub_iso9660_dir): likewise
32188 * fs/jfs.c (grub_jfs_dir): likewise
32189 * fs/minix.c (grub_minix_dir): likewise
32190 * fs/ntfs.c (grub_ntfs_dir): likewise
32191 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32192 * fs/sfs.c (grub_sfs_dir): likewise
32193 * fs/xfs.c (grub_xfs_dir): likewise
32194 * util/hostfs.c (grub_hostfs_dir): likewise
32195 * lib/datetime.c: moved to ...
32196 * normal/datetime.c: ... moved here
32197 (grub_unixtime2datetime): new function
32198 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 32199 * normal/completion.c (iterate_dir): use new dir syntax
32200 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 32201 last modification time of a volume
7dd4a573 32202 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 32203 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 32204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 32205 (normal_mod_SOURCES): likewise
32206 (datetime_mod_SOURCES): Removed lib/datetime.c
32207 * conf/i386-efi.rmk: likewise
7dd4a573 32208 * conf/i386-ieee1275.rmk: likewise
05aaebfb 32209 * conf/i386-pc.rmk: likewise
32210 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32211 * conf/sparc64-ieee1275.rmk: likewise
32212 * conf/x86_64-efi.rmk: likewise
05aaebfb 32213
8a7e1a14 322142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32215
32216 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 32217
32218 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 32219 on grub_fat_find_dir
32220 (grub_fat_find_dir): use grub_fat_iterate_dir
32221 (grub_fat_label): likewise
32222
04186a9c 322232009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32224
7dd4a573 32225 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 32226 and command.h
32227 remove extraneous kernel_elf_HEADERS
32228
da4c0bb6 322292009-04-04 Bean <bean123ch@gnail.com>
32230
32231 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32232
32233 * util/misc.c: Likewise.
32234
54ad9555 322352009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32236
32237 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32238 instead of grub_printf.
32239
7a6bf9f2 322402009-04-03 Robert Millan <rmh@aybabtu.com>
32241
32242 * loader/i386/linux.c (grub_linux_setup_video): Fill
32243 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32244 values from `mode info' structure instead of hardcoded
32245 values.
32246
3fcc2083 322472009-04-01 Pavel Roskin <proski@gnu.org>
32248
32249 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32250 unused now.
32251 * genmk.rb: Likewise.
32252 * configure.ac: Likewise.
32253
5ec9740b 322542009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32255
32256 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32257 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32258
5270cec8 322592009-04-01 David S. Miller <davem@davemloft.net>
32260
32261 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 32262 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 32263 (grub_setjmp): Mark with 'returns_twice' attribute.
32264 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32265 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32266 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32267
9c3dd854 322682009-04-01 Robert Millan <rmh@aybabtu.com>
32269
32270 Reapply fix from 2008-07-28 which was accidentally reverted; also
32271 perform the same fix to a similar check in same function.
32272
32273 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32274 with the same number are found, just use issue a warning with
32275 grub_dprintf(), as this error has been reported to be non-fatal.
32276
0d818b7e 322772009-03-31 Pavel Roskin <proski@gnu.org>
32278
32279 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32280 for cross-compilation.
32281
95646d92 322822009-03-30 Robert Millan <rmh@aybabtu.com>
32283
32284 Fix i386-ieee1275 build.
32285
32286 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32287 Remove declaration.
32288
6a003ed1 322892009-03-30 Pavel Roskin <proski@gnu.org>
32290
32291 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32292 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32293 zero-terminated, rely only on the strlen value. Fix comparison
32294 of strings differing in length.
32295
92f33540 322962009-03-30 Robert Millan <rmh@aybabtu.com>
32297
32298 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32299 checking for abi version. Improve error messages on BIOS to notify
32300 user about `linux16' command.
32301
a8c48fd5 323022009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32303
f968172e 32304 Leak fixes
a8c48fd5 32305
f968172e 32306 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32307 in case of collision
32308 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 32309
9c323f09 323102009-03-29 Robert Millan <rmh@aybabtu.com>
32311
32312 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32313 set `vid_mode' accordingly.
32314 (grub_linux_boot): Process `vid_mode' and set video mode.
32315
ae68f423 323162009-03-29 Robert Millan <rmh@aybabtu.com>
32317
32318 * util/grub.d/10_linux.in (linux_entry): New function.
32319 Factorize generation of Linux boot entries.
32320
5709cfc4 323212009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32322
32323 Make the format of Environment Block plain text. The boot loader
32324 part is not tested well yet.
7dd4a573 32325
5709cfc4 32326 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32327 (buffer): Removed.
32328 (envblk): Likewise.
32329 (usage): Remove "info" and "clear". Add "unset". Update the
32330 description of "set", as this does not delete variables any
32331 longer.
32332 (create_envblk_file): Complete rewrite.
32333 (open_envblk_file): Likewise.
32334 (cmd_info): Removed.
32335 (cmd_list): Likewise.
32336 (cmd_set): Likewise.
32337 (cmd_clear): Likewise.
32338 (list_variables): New function.
32339 (write_envblk): Likewise.
32340 (set_variables): Likewise.
32341 (unset_variables): Likewise.
32342 (main): Complete rewrite.
32343
32344 * commands/loadenv.c (buffer): Removed.
32345 (envblk): Likewise.
32346 (open_envblk_file): New function.
32347 (read_envblk_file): Complete rewrite.
32348 (grub_cmd_load_env): Likewise.
32349 (grub_cmd_list_env): Likewise.
32350 (struct blocklist): New struct.
32351 (free_blocklists): New function.
32352 (check_blocklists): Likewise.
32353 (write_blocklists): Likewise.
32354 (grub_cmd_save_env): Complete rewrite.
32355
32356 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32357 a plain text signature.
32358 (GRUB_ENVBLK_MAXLEN): Removed.
32359 (struct grub_envblk): Complete rewrite.
32360 (grub_envblk_find): Removed.
32361 (grub_envblk_insert): Likewise.
32362 (grub_envblk_open): New prototype.
32363 (grub_envblk_set): Likewise.
32364 (grub_envblk_delete): Put const to VALUE.
32365 (grub_envblk_iterate): Put const to NAME and VALUE.
32366 (grub_envblk_close): New prototype.
32367 (grub_envblk_buffer): New inline function.
32368 (grub_envblk_size): Likewise.
32369
32370 * lib/envblk.c: Include grub/mm.h.
32371 (grub_env_find): Removed.
32372 (grub_envblk_open): New function.
32373 (grub_envblk_close): Likewise.
32374 (escaped_value_len): Likewise.
32375 (find_next_line): Likewise.
32376 (grub_envblk_insert): Removed.
32377 (grub_envblk_set): New function.
32378 (grub_envblk_delete): Complete rewrite.
32379 (grub_envblk_iterate): Likewise.
32380
a9368fd3 323812009-03-28 Robert Millan <rmh@aybabtu.com>
32382
32383 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32384 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32385 variables. Use 16-bit loader.
32386 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32387 loader.
32388 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32389 (grub_linux16_boot): ... this. Update all users.
32390 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32391 (grub_linux_boot): ... this. Update all users.
32392
32393 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32394 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32395 commands to `linux16' and `initrd16'.
32396 (GRUB_MOD_FINI(linux)): Rename to ...
32397 (GRUB_MOD_FINI(linux16)): ... this.
32398
e4dd5a7e 323992009-03-24 Pavel Roskin <proski@gnu.org>
32400
32401 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32402 not just for compilation.
32403
c04d6e05 324042009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32405
32406 Move multiboot helper out of kernel
32407
32408 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32409 `loader/i386/multiboot_helper.S'.
32410 * conf/i386-coreboot.rmk: Likewise
32411 * conf/i386-ieee1275.rmk: Likewise
32412
32413 * kern/i386/loader.S: Move multiboot helpers from here...
32414 * loader/i386/multiboot_helper.S: ...moved here
32415 * include/grub/i386/loader.h: Move declarations of multiboot
32416 helpers from here...
32417 * include/grub/i386/multiboot.h: ...moved here
32418 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32419
42a5b3fc 324202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32421
32422 * kern/env.c (grub_env_context_open): Added an argument to specify
32423 whether a new context inherits exported variables from current
32424 one. This is useful when making a sandbox to interpret a config
32425 file.
32426 All callers updated.
32427
32428 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32429
b28bbc4e 324302009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32431
32432 * kern/env.c (grub_env_context_close): Fix memory leaks.
32433
f04f02e4 324342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32435
32436 * normal/main.c (grub_normal_execute): Added an argument
32437 BATCH to specify if an interactive interface should be provided
32438 after reading a config file.
32439 All callers updated.
32440 (read_command_list): Prevent being executed twice.
32441 (read_fs_list): Likewise.
32442
42a5b3fc 32443 * include/grub/normal.h (grub_normal_execute): Updated the
32444 prototype.
f04f02e4 32445
41473ac2 324462009-03-22 Pavel Roskin <proski@gno.org>
32447
fbc00b0c 32448 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32449 _start.
32450 * kern/i386/pc/startup.S: Likewise.
32451 * kern/i386/efi/startup.S: Likewise.
32452 * kern/i386/ieee1275/startup.S: Likewise.
32453 * kern/i386/coreboot/startup.S: Likewise.
32454 * kern/x86_64/efi/startup.S: Likewise.
32455
41473ac2 32456 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32457 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32458 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32459
2274cc8f 324602009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32461
32462 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32463
32464 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32465 limit detection.
32466 Use vaddr of correct segment for entry_point.
32467
b1b797cb 324682009-03-21 Bean <bean123ch@gmail.com>
32469
32470 * commands/blocklist.c: Add include file <grub/command.h>, remove
32471 <grub/normal.h> and <grub/arg.h>.
32472 (grub_cmd_blocklist): Use the new command interface.
32473 (GRUB_MOD_INIT): Likewise.
32474 (GRUB_MOD_FINI): Likewise.
32475 * commands/boot.c: Likewise.
32476 * commands/cat.c: Likewise.
32477 * commands/cmp.c: Likewise.
32478 * commands/configfile.c: Likewise.
32479 * commands/crc.c: Likewise.
32480 * commands/echo.c: Likewise.
32481 * commands/halt.c: Likewise.
32482 * commands/handler.c: Likewise.
32483 * commands/hdparm.c: Likewise.
32484 * commands/help.c: Likewise.
32485 * commands/hexdump.c: Likewise.
32486 * commands/loadenv.c: Likewise.
32487 * commands/ls.c: Likewise.
32488 * commands/lsmmap.c: Likewise.
32489 * commands/lspci.c: Likewise.
32490 * commands/loadenv.c: Likewise.
32491 * commands/read.c: Likewise.
32492 * commands/reboot.c: Likewise.
32493 * commands/search.c: Likewise.
32494 * commands/sleep.c: Likewise.
32495 * commands/test.c: Likewise.
32496 * commands/usbtest.c: Likewise.
32497 * commands/videotest.c: Likewise.
32498 * commands/i386/cpuid.c: Likewise.
32499 * commands/i386/pc/halt.c: Likewise.
32500 * commands/i386/pc/play.c: Likewise.
32501 * commands/i386/pc/pxecmd.c: Likewise.
32502 * commands/i386/pc/vbeinfo.c: Likewise.
32503 * commands/i386/pc/vbetest.c: Likewise.
32504 * commands/ieee1275/suspend.c: Likewise.
32505 * disk/loopback.c: Likewise.
32506 * font/font_cmd.c: Likewise.
32507 * hello/hello.c: Likewise.
32508 * loader/efi/appleloader.c: Likewise.
32509 * loader/efi/chainloader.c: Likewise.
32510 * loader/i386/bsd.c: Likewise.
32511 * loader/i386/efi/linux.c: Likewise.
32512 * loader/i386/ieee1275/linux.c: Likewise.
32513 * loader/i386/linux.c: Likewise.
32514 * loader/i386/pc/chainloader.c: Likewise.
32515 * loader/i386/pc/linux.c: Likewise.
32516 * loader/powerpc/ieee1275/linux.c: Likewise.
32517 * loader/multiboot_loader.c: Likewise.
32518 * term/gfxterm.c: Likewise.
32519 * term/i386/pc/serial.c: Likewise.
32520 * term/terminfo.c: Likewise.
32521
32522 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32523 * term/i386/pc/vga.c: Likewise.
32524 * video/readers/jpeg.c: Likewise.
32525 * video/readers/png.c: Likewise.
32526 * video/readers/tga.c: Likewise.
32527
32528 * util/grub-fstest (cmd_loopback): Removed.
32529 (cmd_blocklist): Likewise.
32530 (cmd_ls): Likewise.
32531 (grub_register_command): Likewise.
32532 (grub_unregister_command): Likewise.
32533 (execute_command): Use grub_command_find to locate command and execute
32534 it.
32535
32536 * include/grub/efi/chainloader.h: Removed.
32537 * loader/efi/chainloader_normal.c: Likewise.
32538 * loader/i386/bsd_normal.c: Likewise.
32539 * loader/i386/pc/chainloader_normal.c: Likewise.
32540 * loader/i386/pc/multiboot_normal.c: Likewise.
32541 * loader/linux_normal.c: Likewise.
32542 * loader/multiboot_loader_normal.c: Likewise.
32543 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32544
32545 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32546 and grub_register_command_p1.
32547
32548 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32549 kern/command.c, lib/arg.c and commands/extcmd.c.
32550 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32551 (minicmd_mod_SOURCES): New variable.
32552 (minicmd_mod_CFLAGS): Likewise.
32553 (minicmd_mod_LDFLAGS): Likewise.
32554 (extcmd_mod_SOURCES): Likewise.
32555 (extcmd_mod_CFLAGS): Likewise.
32556 (extcmd_mod_LDFLAGS): Likewise.
32557 (boot_mod_SOURCES): Removed.
32558 (boot_mod_CFLAGS): Likewise.
32559 (boot_mod_LDFLAGS): Likewise.
32560
32561 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32562 kern/corecmd.c.
32563 (kernel_img_HEADERS): Add command.h.
32564 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32565 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32566 and lib/arg.c.
32567 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32568 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32569 remove the corresponding normal mode command.
32570 (normal_mod_SOURCES): Remove normal/arg.c.
32571 * conf/i386-coreboot.rmk: Likewise.
32572 * conf/i386-efi.rmk: Likewise.
32573 * conf/i386-ieee1275.rmk: Likewise.
32574 * conf/powerpc-ieee1275.rmk: Likewise.
32575 * conf/x86_64-efi.rmk: Likewise.
32576
32577 * include/grub/arg.h: Move from here ...
32578 * include/grub/lib/arg.h: ... to here.
32579
32580 * normal/arg.c: Move from here ...
32581 * lib/arg.c: ... to here.
32582
32583 * commands/extcmd.c: New file.
32584 * commands/minicmd.c: Likewise.
32585 * include/grub/command.h: Likewise.
32586 * include/grub/extcmd.h: Likewise.
32587 * kern/command.c: Likewise.
32588 * kern/corecmd.c: Likewise.
32589
32590 * kern/list.c (grub_list_iterate): Return int instead of void.
32591 (grub_list_insert): New function.
32592 (grub_prio_list_insert): Likewise.
32593
32594 * kern/rescue.c (grub_rescue_command): Removed.
32595 (grub_rescue_command_list): Likewise.
32596 (grub_rescue_register_command): Likewise.
32597 (grub_rescue_unregister_command): Likewise.
32598 (grub_rescue_cmd_boot): Move to minicmd.c
32599 (grub_rescue_cmd_help): Likewise.
32600 (grub_rescue_cmd_info): Likewise.
32601 (grub_rescue_cmd_boot): Likewise.
32602 (grub_rescue_cmd_testload): Likewise.
32603 (grub_rescue_cmd_dump): Likewise.
32604 (grub_rescue_cmd_rmmod): Likewise.
32605 (grub_rescue_cmd_lsmod): Likewise.
32606 (grub_rescue_cmd_exit): Likewise.
32607 (grub_rescue_print_devices): Moved to corecmd.c.
32608 (grub_rescue_print_files): Likewise.
32609 (grub_rescue_cmd_ls): Likewise.
32610 (grub_rescue_cmd_insmod): Likewise.
32611 (grub_rescue_cmd_set): Likewise.
32612 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32613 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32614 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32615 commands, remove grub_rescue_register_command calls.
b1b797cb 32616
7d074e3c 32617 * normal/command.c (grub_register_command): Removed.
b1b797cb 32618 (grub_unregister_command): Likewise.
32619 (grub_command_find): Likewise.
32620 (grub_iterate_commands): Likewise.
32621 (rescue_command): Likewise.
32622 (export_command): Moved to corecmd.c.
32623 (set_command): Removed.
32624 (unset_command): Likewise.
32625 (insmod_command): Likewise.
32626 (rmmod_command): Likewise.
32627 (lsmod_command): Likewise.
32628 (grub_command_init): Likewise.
32629
32630 * normal/completion.c (iterate_command): Use cmd->prio to check for
32631 active command.
32632 (complete_arguments): Use grub_extcmd_t structure to find options.
32633 (grub_normal_do_completion): Change function grub_iterate_commands to
32634 grub_command_iterate.
32635
32636 * normal/execute.c (grub_script_execute_cmd): No need to parse
32637 argument here.
32638
32639 * normal/main.c (grub_dyncmd_dispatcher): New function.
32640 (read_command_list): Register unload commands as dyncmd.
32641 (grub_cmd_normal): Use new command interface, register rescue,
32642 unregister normal at entry, register normal, unregister rescue at exit.
32643
32644 * include/grub/list.h (grub_list_test_t): New type.
32645 (grub_list_iterate): Return int instead of void.
32646 (grub_list_insert): New function.
32647 (GRUB_AS_NAMED_LIST_P): New macro.
32648 (GRUB_AS_PRIO_LIST): Likewise.
32649 (GRUB_AS_PRIO_LIST_P): Likewise.
32650 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32651 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32652 (grub_prio_list): New structure.
32653 (grub_prio_list_insert): New function.
32654 (grub_prio_list_remove): New inline function.
32655
32656 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32657 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32658 (GRUB_COMMAND_FLAG_MENU): Likewise.
32659 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32660 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32661 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32662 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32663 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32664 (grub_command): Likewise.
32665 (grub_register_command): Likewise.
32666 (grub_command_find): Likewise.
32667 (grub_iterate_commands): Likewise.
32668 (grub_command_init): Likewise.
32669 (grub_arg_parse): Likewise.
32670 (grub_arg_show_help): Likewise.
32671
32672 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32673 (grub_rescue_unregister_command): Likewise.
32674
32675 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32676 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32677 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32678
32679 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32680 grub_rescue_cmd_initrd.
32681 * include/grub/i386/loader.h: Likewise.
32682 * include/grub/x86_64/loader.h: Likewise.
32683
32684 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32685
1f4147aa 326862009-03-21 Bean <bean123ch@gmail.com>
32687
32688 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32689 instead of stat in mingw environment.
32690
32691 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32692
32693 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32694
32695 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32696 AC_CONFIG_LINKS.
32697
2156d5ba 326982009-03-21 Bean <bean123ch@gmail.com>
32699
32700 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32701 out of range error.
32702
177b82ca 327032009-03-18 Michel Dänzer <michel@daenzer.net>
32704
32705 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32706 checking inode flags for EXT4_EXTENTS_FLAG.
32707
14aad807 327082009-03-18 Robert Millan <rmh@aybabtu.com>
32709
32710 * loader/i386/linux.c: Include `<grub/video.h>' and
32711 `<grub/i386/pc/vbe.h>'..
32712 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32713 (grub_linux32_boot): Attempt to configure video settings with
32714 grub_linux_setup_video().
32715 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32716 to avoid grub_console_fini() which would step out of graphical mode
32717 unconditionally.
32718
8cf83a27 327192009-03-14 Robert Millan <rmh@aybabtu.com>
32720
32721 Fix build on powerpc.
32722 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32723
40164e75 327242009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32725
32726 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32727 background image command.
32728
c58bc32a 327292009-03-12 Colin D Bennett <colin@gibibit.com>
32730
32731 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32732 (grub_gfxterm_putchar): Extract pairs of identical calls to
32733 draw_cursor out of conditional blocks.
32734
5415144a 327352009-03-11 Pavel Roskin <proski@gnu.org>
32736
32737 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32738 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32739
6394042e 327402009-03-11 Robert Millan <rmh@aybabtu.com>
32741
32742 * loader/i386/multiboot_elfxx.c
32743 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32744
b7b50e5f 327452009-03-11 Felix Zielcke <fzielcke@z-51.de>
32746
32747 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32748 `kern/handler.c'.
32749
1ca7fc96 327502009-03-11 Robert Millan <rmh@aybabtu.com>
32751
32752 * loader/i386/multiboot.c (code_size): New variable.
32753 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32754 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32755 4-byte alignment to MBI and others by increasing
7d074e3c 32756 `boot_loader_name_length' appropriately.
1ca7fc96 32757
32758 * loader/i386/multiboot_elfxx.c
32759 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32760
a83ea1d2 327612009-03-09 Felix Zielcke <fzielcke@z-51.de>
32762
32763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32764 `fs/ext2.c'.
32765
aa9f3bff 327662009-03-08 Robert Millan <rmh@aybabtu.com>
32767
32768 Make loader/i386/linux.c usable on i386-pc again.
32769
32770 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32771 memory to heap.
32772 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32773 `#error' stanza.
32774
d8b3b60e 327752009-03-07 Bean <bean123ch@gmail.com>
32776
32777 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32778 allocation.
32779
b362c9e9 327802009-03-06 Robert Millan <rmh@aybabtu.com>
32781
32782 Fix display issue on terminals with screen size other than 80x25
32783 (e.g. gfxterm with resolution higher than 640x480).
32784
32785 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32786 position relative to the center of the terminal instead of relying
b362c9e9 32787 on a hardcoded offset.
32788
9304eef1 327892009-03-04 Robert Millan <rmh@aybabtu.com>
32790
32791 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32792 installed.
32793
32794 * Makefile.in (host_kernel): New variable.
32795 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32796 scripts instead of just the windows one.
32797 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32798
eabc95fb 327992009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32800
32801 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32802 `kern/handler.c'.
32803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32804 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32805 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32807 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32809
ceb1223c 328102009-03-04 Felix Zielcke <fzielcke@z-51.de>
32811
32812 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32813 or if there's no space for the disk label and print the partition number on a
32814 invalid magic.
32815
4910684a 328162009-03-04 Felix Zielcke <fzielcke@z-51.de>
32817
32818 * util/misc.c: Include <time.h>.
32819 (grub_millisleep): New function.
32820
7e9ca17a 328212009-03-04 Bean <bean123ch@gmail.com>
32822
32823 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32824 another option -mno-red-zone.
32825
32826 * commands/handler.c: Change module description.
32827
32828 * kern/handler.c: Add missing space at the end of description line.
32829
32830 * kern/list.c: Likewise.
32831
f501677c 328322009-03-03 Robert Millan <rmh@aybabtu.com>
32833
32834 Move more components to the relocation area, and fix mbi pointer
32835 handling to use the destination rather than the origin (thanks to
32836 Vladimir Serbinenko for spotting).
32837
32838 * loader/i386/multiboot.c (mbi_dest): New variable.
32839 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32840 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32841 relocation area.
32842
9902d047 328432009-03-01 Bean <bean123ch@gmail.com>
32844
50fb7002 32845 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32846 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32847 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32848 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32849
32850 * loader/i386/efi/linux.c (acpi_guid): New variable.
32851 (acpi_guid): Likewise.
32852 (EBDA_SEG_ADDR): New constant.
32853 (LOW_MEM_ADDR): Likewise.
32854 (FAKE_EBDA_SEG): Likewise.
32855 (fake_bios_data): New function.
32856 (grub_linux_boot): Call fake_bios_data.
32857
71b9f361 328582009-03-01 Bean <bean123ch@gmail.com>
32859
32860 * commands/terminal.c: Removed.
32861
32862 * commands/handler.c: New file.
32863
32864 * include/grub/list.h: Likewise.
32865
32866 * include/grub/handler.h: Likewise.
32867
32868 * kern/list.c: Likewise.
32869
32870 * kern/handler.c: Likewise.
32871
32872 * kern/term.h: Include header file <grub/handler.h>.
32873 (grub_term_input): Move next field to the beginning.
32874 (grub_term_output): Likewise.
32875 (grub_term_input_class): New variable.
32876 (grub_term_output_class): Likewise.
32877 (grub_term_register_input): Changed to inline function.
32878 (grub_term_register_output): Likewise.
32879 (grub_term_unregister_input): Likewise.
32880 (grub_term_unregister_output): Likewise.
32881 (grub_term_set_current_input): Likewise.
32882 (grub_term_set_current_output): Likewise.
32883 (grub_term_get_current_input): Likewise.
32884 (grub_term_get_current_output): Likewise.
32885 (grub_term_iterate_input): Removed.
32886 (grub_term_iterate_output): Likewise.
32887
32888 * kern/term.c (grub_term_list_input): Removed.
32889 (grub_term_list_output): Likewise.
32890 (grub_term_input_class): New variable.
32891 (grub_term_output_class): Likewise.
50fb7002 32892 (grub_cur_term_input): Change variable as macro.
71b9f361 32893 (grub_cur_term_output): Likewise.
32894 (grub_term_register_input): Removed.
32895 (grub_term_register_output): Likewise.
32896 (grub_term_unregister_input): Likewise.
32897 (grub_term_unregister_output): Likewise.
32898 (grub_term_set_current_input): Likewise.
32899 (grub_term_set_current_output): Likewise.
32900 (grub_term_iterate_input): Likewise.
32901 (grub_term_iterate_output): Likewise.
32902 (grub_term_get_current_input): Likewise.
32903 (grub_term_get_current_output): Likewise.
32904
32905 * util/grub-editenv.c: Include header file <grub/handler.h>.
32906 (grub_term_get_current_input): Removed.
32907 (grub_term_get_current_output): Likewise.
32908 (grub_term_input_class): New variable.
50fb7002 32909 (grub_term_output_class): Likewise.
71b9f361 32910
32911 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32912 (grub_term_get_current_output): Likewise.
32913 (grub_term_input_class): New variable.
50fb7002 32914 (grub_term_output_class): Likewise.
71b9f361 32915
32916 * util/grub-probe.c (grub_term_get_current_input): Removed.
32917 (grub_term_get_current_output): Likewise.
32918 (grub_term_input_class): New variable.
50fb7002 32919 (grub_term_output_class): Likewise.
71b9f361 32920
32921 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32922 (grub_term_get_current_output): Likewise.
32923 (grub_term_input_class): New variable.
50fb7002 32924 (grub_term_output_class): Likewise.
71b9f361 32925
32926 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32927 (terminal_mod_SOURCES): Likewise.
32928 (terminal_mod_CFLAGS): Likewise.
32929 (terminal_mod_LDFLAGS): Likewise.
32930
32931 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32932 handler.c.
32933 (kernel_img_SOURCES): Add list.c and handler.c.
32934 (kernel_img_HEADERS): Add list.h and handler.h.
32935
32936 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32937 handler.c.
32938 (kernel_mod_SOURCES): Add list.c and handler.c.
32939 (kernel_mod_HEADERS): Add list.h and handler.h.
32940
32941 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32942 handler.c.
32943 (kernel_elf_SOURCES): Add list.c and handler.c.
32944 (kernel_elf_HEADERS): Add list.h and handler.h.
32945
32946 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32947 handler.c.
32948 (kernel_elf_SOURCES): Add list.c and handler.c.
32949 (kernel_elf_HEADERS): Add list.h and handler.h.
32950
32951 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32952 handler.c.
32953 (kernel_mod_SOURCES): Add list.c and handler.c.
32954 (kernel_mod_HEADERS): Add list.h and handler.h.
32955
32956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32957 handler.c.
32958 (kernel_elf_SOURCES): Add list.c and handler.c.
32959 (kernel_elf_HEADERS): Add list.h and handler.h.
32960
8a31787f 329612009-02-27 Robert Millan <rmh@aybabtu.com>
32962
32963 Factorize elf32 / elf64 code in Multiboot loader. This will
32964 prevent it from getting out of sync again.
32965
32966 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32967 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32968 grub_multiboot_load_elf64): Move from here ...
32969 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32970 grub_multiboot_load_elf): ... to here (new file).
32971
51cd3dfc 329722009-02-27 Robert Millan <rmh@aybabtu.com>
32973
32974 * util/grub.d/10_linux.in: Rename "single-user mode" to
32975 "recovery mode".
32976
6e8c9c3a 329772009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32978
32979 Don't leak in SCSI code.
32980 * disk/scsi.c (grub_scsi_close): free `scsi'.
32981
4b6bf4f9 329822009-02-27 Robert Millan <rmh@aybabtu.com>
32983
32984 * loader/i386/pc/multiboot.c: Move from here ...
32985 * loader/i386/multiboot.c: ... to here. Update all users.
32986
b9413424 329872009-02-27 Robert Millan <rmh@aybabtu.com>
32988
32989 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32990 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32991
50fb7002 329922009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32993
32994 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32995 b-tree.
32996
8cc50345 329972009-02-27 Robert Millan <rmh@aybabtu.com>
32998
32999 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33000 `0x' qualifier as 0 when base is specified as parameter).
33001
6e09b8b7 330022009-02-24 Bean <bean123ch@gmail.com>
33003
33004 * configure.ac: Check for -mcmodel=large in x86_64 target.
33005
33006 * include/grub/efi/api.h (efi_call_10): New macro.
33007 (efi_wrap_10): New function.
33008
33009 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33010 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33011 (GRUB_PE32_REL_BASED_LOW): Likewise.
33012 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33013 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33014 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33015 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33016 (GRUB_PE32_REL_BASED_REL): Likewise.
33017 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33018 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33019 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33020
33021 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33022 issue.
33023
33024 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33025 (efi_wrap_10): New function.
33026
33027 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33028
33029 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33030 MB/MBP model (NV chipset).
33031 (devdata_devs): Add devpath_5 to the list.
33032
33033 * load/i386/efi/linux.c (video_base): Remove variable.
33034 (RGB_MASK): New macro.
33035 (RGB_MAGIC): Likewise.
33036 (LINE_MIN): Likewise.
33037 (LINE_MAX): Likewise.
33038 (FBTEST_STEP): Likewise.
33039 (FBTEST_COUNT): Likewise.
33040 (fb_list): New variable.
33041 (grub_find_video_card): Remove function.
33042 (find_framebuf): New function.
33043 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33044 line length.
33045
33046 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33047 problem for x86_64.
33048
74b21bee 330492009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33050
33051 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33052
33053 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33054 coding tool name.
33055
a455f472 330562009-02-22 Robert Millan <rmh@aybabtu.com>
33057
33058 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33059 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33060 in our relocation, instead of using it directly from heap. Also
33061 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33062
6374daf3 330632009-02-21 Robert Millan <rmh@aybabtu.com>
33064
33065 Implement USB keyboard support (based on patch by Marco Gerards)
33066
33067 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33068 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33069 (usb_keyboard_mod_LDFLAGS): New variables.
33070
33071 * term/usb_keyboard.c: New file.
33072
8fa4ea70 330732009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33074
33075 Corrected wrong declaration
33076
33077 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33078
353976ac 330792009-02-14 Christian Franke <franke@computer.org>
33080
33081 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33082 (grub_lspci_iter): Print class code and programming interface byte.
33083
6aa1169b 330842009-02-14 Christian Franke <franke@computer.org>
33085
33086 * gendistlist.sh: Ignore `.svn' directories.
33087
265372ca 330882009-02-14 Felix Zielcke <fzielcke@z-51.de>
33089
33090 * fs/fat.c: Add 2009 to Copyright line.
33091
9ff516f3 330922009-02-14 Christian Franke <franke@computer.org>
33093
33094 * commands/hdparm.c: New file. Provides `hdparm' command
33095 which sends ATA commands via grub_disk_ata_pass_through ().
33096
33097 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33098
33099 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33100 and <grub/cpu/io.h> to include/grub/ata.h.
33101 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33102 (GRUB_CDROM_SECTOR_SIZE): Remove.
33103 (GRUB_ATA_*): Move to include/grub/ata.h.
33104 (GRUB_ATAPI_*): Likewise.
33105 (enum grub_ata_commands): Likewise.
33106 (enum grub_ata_timeout_milliseconds): Likewise.
33107 (struct grub_ata_device): Likewise.
33108 (grub_ata_regset): Likewise.
33109 (grub_ata_regget): Likewise.
33110 (grub_ata_regset2): Likewise.
33111 (grub_ata_regget2): Likewise.
33112 (grub_ata_check_ready): Likewise.
33113 (grub_ata_wait_not_busy): Remove static, exported in
33114 include/grub/ata.h.
33115 (grub_ata_wait_drq): Likewise.
33116 (grub_ata_pio_read): Likewise.
33117
33118 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33119 function for hdparm.mod.
33120
33121 * include/grub/ata.h: New file, contains declarations from
33122 disk/ata.c.
33123 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33124
33125 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33126 (grub_disk_ata_pass_through): New exported variable.
33127
33128 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33129
772e23da 331302009-02-13 Colin D Bennett <colin@gibibit.com>
33131
33132 Support multiple fallback entries, and provide an API to support
33133 executing default+fallback menu entries. Renamed the `terminal' menu
33134 viewer to `text'.
33135
33136 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33137 variable declaration.
33138 (grub_menu_execute_callback): New structure declaration.
33139 (grub_menu_execute_callback_t): New typedef.
33140 (grub_menu_execute_with_fallback): New function declaration.
33141 (grub_menu_get_entry): Likewise.
33142 (grub_menu_get_timeout): Likewise.
33143 (grub_menu_set_timeout): Likewise.
33144
33145 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33146
33147 * normal/menu.c (grub_wait_after_message): Moved to
33148 `normal/menu_text.c'.
33149 (draw_border): Likewise.
33150 (print_message): Likewise.
33151 (print_entry): Likewise.
33152 (print_entries): Likewise.
33153 (grub_menu_init_page): Likewise.
33154 (get_entry_number): Likewise.
33155 (print_timeout): Likewise.
33156 (run_menu): Likewise.
33157 (grub_menu_execute_entry): Likewise.
33158 (show_text_menu): Likewise.
33159 (get_and_remove_first_entry_number): New function.
33160 (grub_menu_execute_with_fallback): Likewise.
33161 (get_entry): Renamed to ...
33162 (grub_menu_get_entry): .. this and made it global.
33163 (get_timeout): Renamed to ...
33164 (grub_menu_get_timeout): ... this and made it global.
33165 (set_timeout): Renamed to ...
33166 (grub_menu_set_timeout): ... this and made it global.
33167 (grub_normal_terminal_menu_viewer): Renamed to ...
33168 (grub_normal_text_menu_viewer): ... this.
33169
33170 * normal/menu_text.c: New file. Extracted text-menu-specific code
33171 from normal/menu.c.
33172
33173 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33174 (normal_mod_SOURCES): Likewise.
33175
33176 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33177 (normal_mod_SOURCES): Likewise.
33178
33179 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33180 (normal_mod_SOURCES): Likewise.
33181
33182 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33183 (normal_mod_SOURCES): Likewise.
33184
33185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33186 (normal_mod_SOURCES): Likewise.
33187
33188 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33189 (normal_mod_SOURCES): Likewise.
33190
33191 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33192 (normal_mod_SOURCES): Likewise.
33193
16ac430e 331942009-02-11 Robert Millan <rmh@aybabtu.com>
33195
33196 * util/grub.d/00_header.in: Update old reference to `font' command.
33197
06ff20fc 331982009-02-10 Felix Zielcke <fzielcke@z-51.de>
33199
33200 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33201
33202 Based on patch from Javier Martín.
33203
96da9407 332042009-02-09 Felix Zielcke <fzielcke@z-51.de>
33205
33206 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 33207 to avoid false positives with FAT.
96da9407 33208 (grub_fstest_SOURCES): Likewise.
33209 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33210 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33212 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33213 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33214 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33215
6dca6fe4 332162009-02-09 Felix Zielcke <fzielcke@z-51.de>
33217
06ff20fc 33218 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 33219 bpb.version_specific.fat12_or_fat16.fstype and
33220 bpb.version_specific.fat32.fstype.
33221
2550c62f 332222009-02-08 Robert Millan <rmh@aybabtu.com>
33223
be110b30 33224 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 33225
56978920 332262009-02-08 Robert Millan <rmh@aybabtu.com>
33227
33228 * Makefile.in (host_os, host_cpu): New variables.
33229 (target_os): Remove. Update all users.
33230
d64399b5 332312009-02-08 Marco Gerards <marco@gnu.org>
33232
33233 * Makefile.in (enable_grub_emu_usb): New variable.
33234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33235 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33236 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33237 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33238 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33239 `usbtest.mod' and `usbms.mod'.
33240 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33241 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33242 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33243 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33244 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33245 variables.
33246
33247 * disk/usbms.c: New file.
33248
33249 * include/grub/usb.h: Likewise.
33250
33251 * include/grub/usbtrans.h: Likewise.
33252
33253 * include/grub/usbdesc.h: Likewise.
33254
33255 * bus/usb/usbtrans.c: Likewise.
33256
33257 * bus/usb/ohci.c: Likewise.
33258
33259 * bus/usb/uhci.c: Likewise.
33260
33261 * bus/usb/usbhub.c: Likewise.
33262
33263 * bus/usb/usb.c: Likewise.
33264
33265 * commands/usbtest.c: Likewise.
33266
33267 * util/usb.c: Likewise.
50fb7002 33268
d64399b5 33269 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33270
33271 * configure.ac: Test for libusb presence.
50fb7002 33272
d64399b5 33273 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33274
2b40d6bb 332752009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33276
33277 * kern/mm.c: Add more comments.
33278
73a4ce81 332792009-02-08 Robert Millan <rmh@aybabtu.com>
33280
33281 Patch from Javier Martín.
33282 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33283 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33284
f821ce59 332852009-02-08 Robert Millan <rmh@aybabtu.com>
33286
33287 * fs/cpio.c: Split tar functionality to ...
33288 * fs/tar.c: ... here (new file). Update all users.
33289
aebfc4b0 332902009-02-07 Robert Millan <rmh@aybabtu.com>
33291
33292 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33293 backward-incompatible features.
33294
33295 Based on patch from Javier Martín, with some adjustments.
33296
50fb7002 332972009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 33298
33299 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33300
0bb5115e 333012009-02-07 Robert Millan <rmh@aybabtu.com>
33302
33303 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33304 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33305 after the RAID stuff.
33306
38a0f8e7 333072009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33308
50fb7002 33309 Fixes problem when running vbetest command as reported by
38a0f8e7 33310 Vladimir Serbinenko <phcoder@gmail.com>.
33311
33312 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33313
3143cc1c 333142009-02-04 Felix Zielcke <fzielcke@z-51.de>
33315
33316 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33317 /dev/md/NpN style mdraid devices.
33318
9cba6fce 333192009-02-03 Felix Zielcke <fzielcke@z-51.de>
33320
33321 * util/unifont2pff.rb: Remove.
33322
e507a2c1 333232009-02-03 Felix Zielcke <fzielcke@z-51.de>
33324
33325 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33326 `#'.
33327
d2c2b4cd 333282009-02-03 Felix Zielcke <fzielcke@z-51.de>
33329
33330 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33331 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33332 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33333 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33335 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33336 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33337
b4315fb0 333382009-02-02 Christian Franke <franke@computer.org>
33339
33340 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33341
de3aa260 333422009-02-01 Felix Zielcke <fzielcke@z-51.de>
33343
7c3ff286 33344 * INSTALL: Note that we now require at least autoconf 2.59 and
33345 that LZO is optional.
de3aa260 33346
825a182b 333472009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33348
33349 Base on patch on bug #24154 created by Tomas Tintera
33350 <trosos@seznam.cz>.
33351
33352 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33353
a69ef770 333542009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33355
7c3ff286 33356 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 33357 <bero@arklinux.org>.
33358
33359 * normal/parser.y (script_init): Add missing semicolon.
33360
6fa42fa6 333612009-01-31 Colin D Bennett <colin@gibibit.com>
33362
7c3ff286 33363 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 33364 (free_menu_entry_classes): Added.
33365 (grub_normal_menu_addentry): Added class property handling.
33366 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33367 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33368
33369 * normal/menu_viewer.c: New file.
33370
33371 * normal/menu.c (run_menu_entry): Renamed to ...
33372 (grub_menu_execute_entry): ... this and made it as global.
33373 (grub_menu_run): Renamed to ...
33374 (show_text_menu): ... this and made it local.
33375 (show_text_menu): Adapt to new function names.
33376 (grub_normal_terminal_menu_viewer): New global variable.
33377
33378 * include/grub/menu.h: New file.
33379
33380 * include/grub/menu_viewer.h: New file.
33381
33382 * include/grub/normal.h: Added include to grub/menu.h.
33383 (grub_menu_entry): Moved to include/grub/menu.h.
33384 (grub_menu_entry_t): Likewise.
33385 (grub_menu): Likewise.
33386 (grub_menu_t): Likewise.
33387 (grub_normal_terminal_menu_viewer): Added.
33388 (grub_menu_execute_entry): Likewise.
33389 (grub_menu_run): Removed.
33390
33391 * DISTLIST: Added include/grub/menu.h.
33392 Added include/grub/menu_viewer.h.
33393 Added normal/menu_viewer.c.
33394
333952009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33396
33397 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33398 arglist for menutitle arguments.
33399
33400 * normal/main.c (grub_normal_menu_addentry): Likewise.
33401
33402 * normal/parser.y (menuentry): Likewise.
33403
33404 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33405
33406 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33407 (grub_script_create_cmdmenu): Likewise.
33408
33409 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33410
33411 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33412 changes.
33413
33414 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33415
33416 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33417
33418 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33419
33420 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33421
33422 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33423
33424 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33425
56192c23 334262009-01-30 Christian Franke <franke@computer.org>
33427
33428 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33429 in option help text.
33430
d72521b3 334312009-01-27 Pavel Roskin <proski@gnu.org>
33432
33433 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33434
994b5e84 334352009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33436
33437 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33438
33439 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33440
33441 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33442 unregister function.
33443
6a7eab2c 334442009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33445
33446 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33447
33448 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33449
33450 * util/grub-mkfont.c (usage): Fix typo.
33451
33452 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33453
1806b56e 334542009-01-26 Daniel Mierswa <impulze@impulze.org>
33455
3fb18f09 33456 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33457
336e1fb9 33458 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33459
1806b56e 33460 * kern/misc.c (grub_strcasecmp): New function.
33461 (grub_strcasecmp): Use grub_size_t instead of int for length.
33462 Fix return value.
33463 * include/grub/misc.h: Update function prototypes.
33464
580b2a0f 334652009-01-26 Robert Millan <rmh@aybabtu.com>
33466
33467 * configure.ac: Fix cross-compilation check.
ef257b36 33468
d31c24f1 334692009-01-22 Christian Franke <franke@computer.org>
33470
33471 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33472 (precision) digit string. Allow `.format2' without `format1' (width).
33473 Limit input chars for `%s' output to `format2' if specified. This is
33474 compatible with standard printf ().
33475
3138b44c 334762009-01-22 Christian Franke <franke@computer.org>
33477
33478 * disk/ata.c (grub_ata_wait_status): Replace by ...
33479 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33480 other status bits may be invalid while BSY is asserted.
33481 (grub_ata_check_ready): New function.
33482 (grub_ata_cmd): Removed.
33483 (grub_ata_wait_drq): New function.
33484 (grub_ata_strncpy): Remove inline.
33485 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33486 and error check now done by grub_ata_wait_drq ().
33487 (grub_ata_pio_write): Likewise.
33488 (grub_atapi_identify): Set DEV before check for !BSY. Use
33489 grub_ata_wait_drq () to wait for data.
33490 (grub_ata_device_initialize): Add status register check to
33491 detect missing SATA slave devices. Add debug messages.
33492 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33493 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33494 transfer loop by grub_ata_pio_write ().
33495 (grub_ata_identify): Set DEV before check for !BSY. Use
33496 grub_ata_wait_drq () to wait for data.
ef257b36 33497 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33498 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33499 read/write in one loop. Fix invalid command on write. Fix incomplete
33500 command on (size % batch) == 0. Add missing error check after write of
33501 last block. Add debug messages.
33502 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33503
59a64ef6 335042009-01-19 Christian Franke <franke@computer.org>
33505
33506 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33507 (GRUB_ATAPI_IREASON_*): Likewise.
33508 (grub_ata_pio_write): Fix timeout error return.
33509 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33510 (grub_atapi_wait_drq): New function.
33511 (grub_atapi_packet): New parameter `size'.
33512 Use grub_atapi_wait_drq () and direct write instead of
33513 grub_ata_pio_write ().
33514 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33515 reads the number of bytes requested by the device for each DRQ
33516 assertion.
33517 (grub_atapi_write): Remove old implementation, return not
33518 implemented instead.
33519
1cfe20b3 335202009-01-19 Christian Franke <franke@computer.org>
33521
33522 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33523 of 512 to calculate data size.
33524 (grub_scsi_read12): Likewise.
33525 (grub_scsi_write10): Likewise.
33526 (grub_scsi_write12): Likewise.
33527 (grub_scsi_read): Adjust size according to blocksize.
33528 Add checks for invalid blocksize and unaligned transfer.
33529
bee5fe5d 335302009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33531
33532 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33533
ef257b36 33534 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33535 width glyphs.
33536
3e643f8c 335372009-01-19 Robert Millan <rmh@aybabtu.com>
33538
33539 * config.guess: Update to latest version from config git.
33540 * config.sub: Likewise.
33541
4fa80998 335422009-01-17 Felix Zielcke <fzielcke@z-51.de>
33543
33544 * Makefile.in: Change font compilation to use new grub-mkfont instead
33545 of java version.
33546
33547 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33548 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33549 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33550 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33551 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33552 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33553 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33554 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33555 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33556
7086085b 335572009-01-16 Christian Franke <franke@computer.org>
33558
33559 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33560 (enum grub_ata_timeout_milliseconds): New enum.
33561 (grub_ata_wait_status): Add parameter milliseconds.
33562 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33563 recovery from timed-out commands.
33564 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33565 return grub_errno instead of REG_ERROR.
33566 (grub_ata_pio_write): Add parameter milliseconds.
33567 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33568 Pass milliseconds to grub_ata_wait_status () and
33569 grub_ata_pio_read ().
33570 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33571 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33572 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33573 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33574 It is not suitable for device detection, because DEV bit is ignored,
33575 the command may run too long, and not all devices set the signature
33576 properly.
33577 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33578 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33579 Fix device selection, DEV bit must be set first to address the registers
33580 of the correct device.
33581 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33582 grub_ata_pio_read/write ().
33583 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33584 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33585
4a412913 335862009-01-13 Carles Pina i Estany <carles@pina.cat>
33587
33588 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33589
7795c55e 335902009-01-13 Bean <bean123ch@gmail.com>
d913988c 33591
33592 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33593
7795c55e 335942009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33595
33596 * Makefile.in: (enable_grub_mkfont): New variable.
33597 (freetype_cflags): Likewise.
33598 (freetype_libs): Likewise.
33599
33600 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33601 (grub_mkfont_SOURCES): New variable.
33602 (grub_mkfont_CFLAGS): Likewise.
33603 (grub_mkfont_LDFLAGS): Likewise.
33604
33605 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33606 library if `--enable-grub-mkfont' is requested.
33607 (enable_grub_mkfont): New variable.
33608 (freetype_cflags): Likewise.
33609 (freetype_libs): Likewise.
33610
33611 * util/grub-mkfont.c: New file.
33612
093af1fe 336132009-01-12 Christian Franke <franke@computer.org>
33614
33615 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33616 mode check. Fix setting of compat_use[].
33617
f36cc108 336182009-01-10 Robert Millan <rmh@aybabtu.com>
33619
33620 Update a few copyright years which we forgot to do in 2008 (only for
33621 files whose changes made in 2008 were copyright-significant)
33622
33623 * Makefile.in: Add 2008 to Copyright line.
33624 * disk/ieee1275/ofdisk.c: Likewise.
33625 * disk/efi/efidisk.c: Likewise.
33626 * kern/dl.c: Likewise.
33627 * kern/sparc64/ieee1275/init.c: Likewise.
33628 * kern/mm.c: Likewise.
33629 * kern/efi/mm.c: Likewise.
33630 * boot/i386/pc/boot.S: Likewise.
33631 * genfslist.sh: Likewise.
33632 * fs/iso9660.c: Likewise.
33633 * fs/hfs.c: Likewise.
33634 * fs/jfs.c: Likewise.
33635 * fs/minix.c: Likewise.
33636 * fs/ufs.c: Likewise.
33637 * gensymlist.sh.in: Likewise.
33638 * genkernsyms.sh.in: Likewise.
33639 * include/grub/misc.h: Likewise.
33640 * include/grub/types.h: Likewise.
33641 * include/grub/symbol.h: Likewise.
33642 * include/grub/elf.h: Likewise.
33643 * include/grub/kernel.h: Likewise.
33644 * include/grub/disk.h: Likewise.
33645 * include/grub/dl.h: Likewise.
33646 * include/grub/i386/linux.h: Likewise.
33647 * include/grub/i386/pc/biosdisk.h: Likewise.
33648 * include/grub/efi/api.h: Likewise.
33649 * include/grub/efi/pe32.h: Likewise.
33650 * include/grub/util/misc.h: Likewise.
33651 * normal/execute.c: Likewise.
33652 * normal/arg.c: Likewise.
33653 * normal/completion.c: Likewise.
33654 * normal/lexer.c: Likewise.
33655 * normal/parser.y: Likewise.
33656 * normal/misc.c: Likewise.
33657 * commands/i386/pc/vbeinfo.c: Likewise.
33658 * commands/hexdump.c: Likewise.
33659 * commands/terminal.c: Likewise.
33660 * commands/ls.c: Likewise.
33661 * commands/help.c: Likewise.
33662 * partmap/pc.c: Likewise.
33663 * loader/efi/chainloader.c: Likewise.
33664 * loader/multiboot_loader.c: Likewise.
33665 * loader/i386/pc/multiboot2.c: Likewise.
33666 * term/efi/console.c: Likewise.
33667 * term/i386/pc/serial.c: Likewise.
33668 * util/lvm.c: Likewise.
33669 * util/console.c: Likewise.
33670 * util/i386/efi/grub-mkimage.c: Likewise.
33671 * util/raid.c: Likewise.
33672
7f02114b 336732009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33674
33675 * commands/videotest.c: Removed include to grub/machine/memory.h.
33676
33677 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33678 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33679 (video_mod_SOURCES): Removed.
33680 (video_mod_CFLAGS): Likewise.
33681 (video_mod_LDFLAGS): Likewise.
33682 (gfxterm_mod_SOURCES): Likewise.
33683 (gfxterm_mod_CFLAGS): Likewise.
33684 (gfxterm_mod_LDFLAGS): Likewise.
33685 (videotest_mod_SOURCES): Likewise.
33686 (videotest_mod_CFLAGS): Likewise.
33687 (videotest_mod_LDFLAGS): Likewise.
33688 (bitmap_mod_SOURCES): Likewise.
33689 (bitmap_mod_CFLAGS): Likewise.
33690 (bitmap_mod_LDFLAGS): Likewise.
33691 (tga_mod_SOURCES): Likewise.
33692 (tga_mod_CFLAGS): Likewise.
33693 (tga_mod_LDFLAGS): Likewise.
33694 (jpeg_mod_SOURCES): Likewise.
33695 (jpeg_mod_CFLAGS): Likewise.
33696 (jpeg_mod_LDFLAGS): Likewise.
33697 (png_mod_SOURCES): Likewise.
33698 (png_mod_CFLAGS): Likewise.
33699 (png_mod_LDFLAGS): Likewise.
33700
33701 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33702 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33703 (video_mod_SOURCES): Added.
33704 (video_mod_CFLAGS): Likewise.
33705 (video_mod_LDFLAGS): Likewise.
33706 (videotest_mod_SOURCES): Likewise.
33707 (videotest_mod_CFLAGS): Likewise.
33708 (videotest_mod_LDFLAGS): Likewise.
33709 (bitmap_mod_SOURCES): Likewise.
33710 (bitmap_mod_CFLAGS): Likewise.
33711 (bitmap_mod_LDFLAGS): Likewise.
33712 (tga_mod_SOURCES): Likewise.
33713 (tga_mod_CFLAGS): Likewise.
33714 (tga_mod_LDFLAGS): Likewise.
33715 (jpeg_mod_SOURCES): Likewise.
33716 (jpeg_mod_CFLAGS): Likewise.
33717 (jpeg_mod_LDFLAGS): Likewise.
33718 (png_mod_SOURCES): Likewise.
33719 (png_mod_CFLAGS): Likewise.
33720 (png_mod_LDFLAGS): Likewise.
33721 (gfxterm_mod_SOURCES): Likewise.
33722 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33723 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33724
33725 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33726 grub/machine/console.h.
33727
644fff97 337282009-01-04 Jerone Young <jerone@gmail.com>
33729
33730 Make on screen instructions clearer
33731
33732 Based on patch created by Jidanni <jidanni@jidanni.org>
33733
33734 * normal/menu.c: print clearer instructions on the screen
33735
1e901a75 337362009-01-02 Colin D Bennett <colin@gibibit.com>
33737
33738 New font engine.
34c44600 33739
1e901a75 33740 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33741 build system and fixed gfxterm.c to work with different sized fonts.
33742
33743 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33744
1e901a75 33745 * configure: Re-generated.
34c44600 33746
1e901a75 33747 * DISTLIST: Removed font/manager.c.
33748 Added font/font.c.
33749 Added font/font_cmd.c.
34c44600 33750
1e901a75 33751 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33752 compilation.
34c44600 33753
1e901a75 33754 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33755
33756 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33757
33758 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33759
1e901a75 33760 * normal/menu.c: Likewise.
34c44600 33761
1e901a75 33762 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33763 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33764
1e901a75 33765 * include/grub/font.h: Replaced with new file.
34c44600 33766
1e901a75 33767 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33768 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33769 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33770 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33771 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33772 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33773 fg_red, fg_green, fg_blue, fg_alpha.
33774 (grub_video_adapter): Removed blit_glyph.
34c44600 33775 (grub_video_blit_glyph): Removed.
33776
1e901a75 33777 * font/manager.c: Removed file.
34c44600 33778
33779 * font/font.c: New file.
33780
1e901a75 33781 * font/font_cmd.c: Likewise.
34c44600 33782
1e901a75 33783 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33784
1e901a75 33785 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33786 (grub_video_vbe_map_rgba): Likewise.
33787 (grub_video_vbe_unmap_color_int): Likewise.
33788 (grub_video_vbe_blit_glyph): Removed.
33789 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33790
1e901a75 33791 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33792 (get_pixel): Likewise.
34c44600 33793 (set_pixel): Likewise.
33794
1e901a75 33795 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33796
1e901a75 33797 * term/gfxterm.c: Adapted to new font engine.
34c44600 33798
1e901a75 33799 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33800
1e901a75 33801 * term/i386/pc/vga.c: Likewise.
34c44600 33802
1e901a75 33803 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33804
1e901a75 33805 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33806
1e901a75 33807 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33808
1e901a75 33809 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33810
1e901a75 33811 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33812
1e901a75 33813 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33814
1e901a75 33815 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33816
1e901a75 33817 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33818
1e901a75 33819 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33820
33821 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33822
1e901a75 33823 * util/grub-mkconfig_lib.in: Changed font extension.
33824
278922e8 338252008-12-28 Felix Zielcke <fzielcke@z-51.de>
33826
33827 * util/getroot.c (grub_util_get_grub_dev): Add support for
33828 /dev/md/dNNpNN style partitionable mdraid devices.
33829
3ced05cf 338302008-12-12 Alex Smith <alex@alex-smith.me.uk>
33831
33832 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33833 at a time limit of the PXE TFTP API correctly.
33834 (grub_pxefs_close): Likewise.
33835
7fd0ee30 338362008-11-29 Robert Millan <rmh@aybabtu.com>
33837
34c44600 33838 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33839 grub_ata_device_initialize() calls.
33840
34c44600 338412008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33842
33843 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33844 iteration failed.
33845 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33846
89313780 338472008-11-28 Robert Millan <rmh@aybabtu.com>
33848
33849 Fix build on powerpc-ieee1275. Based on patch created by
33850 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33851 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33852 `kern/ieee1275/mmap.c'.
33853 * include/grub/powerpc/ieee1275/memory.h: New file.
33854
15257703 33855 Provide grub-install on coreboot.
33856 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33857 (grub_install_SOURCES): New variable.
33858 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33859 usable on coreboot.
33860
9fc5388a 338612008-11-25 Felix Zielcke <fzielcke@z-51.de>
33862
33863 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33864 to `grub_term_input_t'.
33865 (grub_term_get_current_output): Change return type to
33866 `grub_term_output_t'.
33867
bc3a2f31 338682008-11-22 Robert Millan <rmh@aybabtu.com>
33869
34c44600 33870 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33871 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33872 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33873 grub_vga_text_cls().
33874
80fc88f2 33875 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33876 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33877
cbf36fd3 33878 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33879 to 0x200000 (avoids trouble with some OFW implementations, and matches
33880 with the one in Yaboot).
33881 Reported by Manoel Abranches
33882
73e8e268 338832008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33884
33885 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33886 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33887
73e8e268 33888 * util/grub-mkconfig_lib.in (grub_warn): New function.
33889 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33890 warnings, to obtain consistent formatting.
33891 * util/grub.d/00_header.in: Likewise.
33892 * util/update-grub_lib.in: Likewise.
33893
e94045a1 33894 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33895 Move comment text to `#error' stanza.
e94045a1 33896
79d29fd7 33897 Harmonize ieee1275's grub_available_iterate() with the generic
33898 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33899 build problem on i386-ieee1275):
33900 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33901 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33902 parameter `type'. Update all users of this function.
33903 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33904 `kern/ieee1275/mmap.c'.
33905 * kern/ieee1275/init.c
33906 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33907 with ...
33908 (grub_machine_mmap_iterate): ... this.
33909 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33910 return type to `grub_err_t'. Update all implementations of this
33911 function prototype.
33912 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33913 Likewise.
33914
60d6b16e 33915 Add `lsmmap' command (lists firmware-provided memory map):
33916 * commands/lsmmap.c: New file.
33917 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33918 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33919 variables.
33920 * conf/powerpc-ieee1275.rmk: Likewise.
33921 * conf/i386-coreboot.rmk: Likewise.
33922 * conf/i386-ieee1275.rmk: Likewise.
33923
ebaaf49b 339242008-11-19 Robert Millan <rmh@aybabtu.com>
33925
33926 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33927 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33928 constraints to initrd allocation (based on code from
33929 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33930 for Linux to find it.
ebaaf49b 33931
dfab719f 339322008-11-14 Robert Millan <rmh@aybabtu.com>
33933
33934 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33935 order to cope with duplicate slashes.
33936
10fc3eb9 339372008-11-14 Robert Millan <rmh@aybabtu.com>
33938
33939 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33940 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33941 don't want to mess with lower memory, because it is used in the Linux
33942 loader.
33943
33944 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33945 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33946 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33947 is in our heap (probably as a result of it being corrupted during
2f2a3442 33948 decompression). Add #error instance with comment to explain why this
33949 loader isn't currently usable on PC/BIOS.
10fc3eb9 33950
e2e07847 339512008-11-14 Robert Millan <rmh@aybabtu.com>
33952
33953 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33954 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33955
fe8e8d69 339562008-11-12 Robert Millan <rmh@aybabtu.com>
33957
33958 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33959
33960 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33961 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33962 from here ...
33963 * include/grub/i386/pc/memory.h: ... to here.
33964
976b07d0 339652008-11-12 Robert Millan <rmh@aybabtu.com>
33966
33967 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33968 split).
33969
33970 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33971 (grub_console_cur_color, grub_console_real_putchar)
33972 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33973 (grub_console_setcolorstate, grub_console_setcolor)
33974 (grub_console_getcolor): Move from here ...
33975 * include/grub/i386/vga_common.h: ... to here (new file).
33976
33977 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33978 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33979 `<grub/i386/io.h>'.
33980 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33981 `<grub/i386/vga_common.h>'.
33982
76679cd3 339832008-11-12 Robert Millan <rmh@aybabtu.com>
33984
33985 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33986 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33987 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33988 variables.
33989 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33990 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33991
33992 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33993 grub_console_init() with call to grub_vga_text_init().
33994 (grub_machine_fini): Replace call to
33995 grub_console_fini() with call to grub_vga_text_fini() and
33996 grub_at_keyboard_fini().
33997
33998 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33999 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34000 (grub_console_setcolorstate, grub_console_setcolor)
34001 (grub_console_getcolor): New function prototypes.
34002
34003 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34004 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34005 (grub_vga_text_setcursor): Static-ize.
34006 (grub_vga_text_term): New structure.
34007 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34008
34009 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34010 (grub_console_cur_color, grub_console_standard_color)
34011 (grub_console_normal_color, grub_console_highlight_color)
34012 (map_char, grub_console_putchar, grub_console_getcharwidth)
34013 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34014 (grub_console_getcolor): Move from here ...
34015 * term/i386/vga_common.c: ... to here (same function names).
34016
95b841d3 340172008-11-12 Robert Millan <rmh@aybabtu.com>
34018
34019 Use newly-added Multiboot support in coreboot.
34020
34021 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34022 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34023
34024 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34025 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34026 (codestart): Store the MBI in `startup_multiboot_info' when we're
34027 being loaded using Multiboot.
34028
34029 * kern/i386/coreboot/init.c (grub_machine_init): Move
34030 grub_at_keyboard_init() call to beginning of function (useful for
34031 debugging). Call grub_machine_mmap_init() before attempting to use
34032 grub_machine_mmap_iterate().
34033 (grub_lower_mem, grub_upper_mem): Move from here ...
34034 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34035 here (new file).
34036
34037 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34038 function prototype.
34039
761ca975 340402008-11-12 Robert Millan <rmh@aybabtu.com>
34041
34042 Fix a regression introduced by the at_keyboard.mod split. Because
34043 some terminals are default on some platforms and non-default on
34044 others, the first terminal being registered determines which is
34045 going to be default.
34046
34047 * kern/term.c (grub_term_register_input): If this is the first
34048 terminal being registered, set it as the current one.
34049 (grub_term_register_output): Likewise.
34050
34051 * term/efi/console.c (grub_console_init): Do not call
34052 grub_term_set_current_output() or grub_term_set_current_input().
34053 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34054 * term/i386/pc/console.c (grub_console_init): Likewise.
34055 (grub_console_fini): Do not call grub_term_set_current_input()
34056 (but leave grub_term_set_current_output() to restore text mode).
34057
6c529df7 340582008-11-10 Robert Millan <rmh@aybabtu.com>
34059
34060 * util/grub.d/00_header.in: Add backward compatibility check for
34061 versions of terminal.mod that don't understand `terminal_input' or
34062 `terminal_output'.
34063
132e4113 340642008-11-09 Robert Millan <rmh@aybabtu.com>
34065
34066 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34067 `terminal_input' / `terminal_output', not `terminal'.
34068
ac293d50 340692008-11-08 Robert Millan <rmh@aybabtu.com>
34070
34071 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 34072 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 34073
0025933a 340742008-11-08 Robert Millan <rmh@aybabtu.com>
34075
34076 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 34077 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 34078 members. Update all users.
34079 * util/console.c (grub_ncurses_term): Split in ...
34080 (grub_ncurses_term_input): ... this, and ...
34081 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 34082 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 34083
37c86336 340842008-11-08 Robert Millan <rmh@aybabtu.com>
34085
34086 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34087 (PKGDATA): Add $(pkgdata_SRCDIR).
34088 (pkglib_BUILDDIR): New variable.
34089 (pkgdata_SRCDIR): New variable.
34090 (build_env.mk): New target.
34091 (include_DATA): New variable.
34092 (install-local): Install $(include_DATA) files in $(includedir).
34093
b6c15a2d 340942008-11-07 Pavel Roskin <proski@gnu.org>
34095
d99d46f1 34096 * gendistlist.sh: Use C locale for sorting to ensure consistent
34097 output on all systems.
34098
b6c15a2d 34099 * util/grub.d/00_header.in: Remove incorrect space before
34100 "serial".
34101
c32ee8c9 341022008-11-07 Robert Millan <rmh@aybabtu.com>
34103
34104 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34105 per specification.
34106 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34107 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34108 (based on find_multi_boot1_header).
34109 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34110 using find_multi_boot2_header(), and abort if neither Multiboot or
34111 Multiboot headers were found.
34112
651c29b7 341132008-11-07 Robert Millan <rmh@aybabtu.com>
34114
34115 Modularize at_keyboard.mod:
34116
34117 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34118 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34119 (at_keyboard_mod_LDFLAGS): New variables.
34120
34121 Actual terminal split:
34122
34123 * include/grub/term.h (struct grub_term): Split in ...
34124 (struct grub_term_input): ... this, and ...
34125 (struct grub_term_output): ... this. Update all users.
34126 (grub_term_set_current): Split in ...
34127 (grub_term_set_current_input): ... this, and ...
34128 (grub_term_set_current_output): ... this.
34129 (grub_term_get_current): Split in ...
34130 (grub_term_get_current_input): ... this, and ...
34131 (grub_term_get_current_output): ... this.
34132 (grub_term_register): Split in ...
34133 (grub_term_register_input): ... this, and ...
34134 (grub_term_register_output): ... this.
34135 (grub_term_unregister): Split in ...
34136 (grub_term_unregister_input): ... this, and ...
34137 (grub_term_unregister_output): ... this.
34138 (grub_term_iterate): Split in ...
34139 (grub_term_iterate_input): ... this, and ...
34140 (grub_term_iterate_output): ... this.
34141
34142 * kern/term.c (grub_term_list): Split in ...
34143 (grub_term_list_input): ... this, and ...
34144 (grub_term_list_output): ... this. Update all users.
34145 (grub_cur_term): Split in ...
34146 (grub_cur_term_input): ... this, and ...
34147 (grub_cur_term_output): ... this. Update all users.
34148 (grub_term_set_current): Split in ...
34149 (grub_term_set_current_input): ... this, and ...
34150 (grub_term_set_current_output): ... this.
34151 (grub_term_get_current): Split in ...
34152 (grub_term_get_current_input): ... this, and ...
34153 (grub_term_get_current_output): ... this.
34154 (grub_term_register): Split in ...
34155 (grub_term_register_input): ... this, and ...
34156 (grub_term_register_output): ... this.
34157 (grub_term_unregister): Split in ...
34158 (grub_term_unregister_input): ... this, and ...
34159 (grub_term_unregister_output): ... this.
34160 (grub_term_iterate): Split in ...
34161 (grub_term_iterate_input): ... this, and ...
34162 (grub_term_iterate_output): ... this.
34163
34164 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34165 a check for input and one for output (and only attempt to get keys
34166 from user when input works).
34167
34168 * util/grub-probe.c (grub_term_get_current): Split in ...
34169 (grub_term_get_current_input): ... this, and ...
34170 (grub_term_get_current_output): ... this.
34171 * util/grub-fstest.c: Likewise.
34172 * util/i386/pc/grub-setup.c: Likewise.
34173 * util/grub-editenv.c: Likewise.
34174
34175 Portability adjustments:
34176
34177 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34178 `term/i386/pc/at_keyboard.c'.
34179 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34180 grub_keyboard_controller_init() (now handled by terminal .init).
34181 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34182 grub_at_keyboard_init().
34183 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34184 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34185 at_keyboard.mod via input terminal interface).
34186 * include/grub/i386/coreboot/console.h: Convert into a stub for
34187 `<grub/i386/pc/console.h>'.
34188
34189 Migrate full terminals to new API:
34190
34191 * term/efi/console.c (grub_console_term): Split into ...
34192 (grub_console_term_input): ... this, and ...
34193 (grub_console_term_output): ... this. Update all users.
34194 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34195 (grub_ofconsole_init): Split into ...
34196 (grub_ofconsole_init_input): ... this, and ...
34197 (grub_ofconsole_init_output): ... this.
34198 (grub_ofconsole_term): Split into ...
34199 (grub_ofconsole_term_input): ... this, and ...
34200 (grub_ofconsole_term_output): ... this. Update all users.
34201 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34202 (grub_serial_term_input): ... this, and ...
34203 (grub_serial_term_output): ... this. Update all users.
34204 * term/i386/pc/console.c (grub_console_term): Split into ...
34205 (grub_console_term_input): ... this, and ...
34206 (grub_console_term_output): ... this. Update all users.
34207 (grub_console_term_input): Only enable it on PC/BIOS platform.
34208 (grub_console_init): Remove grub_keyboard_controller_init() call.
34209
34210 Migrate input terminals to new API:
34211
34212 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34213 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34214 i386-specific anyway).
34215 (grub_console_checkkey): Rename to ...
34216 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34217 users.
34218 (grub_keyboard_controller_orig): New variable.
34219 (grub_console_getkey): Rename to ...
34220 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34221 users.
34222 (grub_keyboard_controller_init): Static-ize. Save original
34223 controller value so that it can be restored ...
34224 (grub_keyboard_controller_fini): ... here (new function).
34225 (grub_at_keyboard_term): New structure.
34226 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34227 functions.
34228
34229 Migrate output terminals to new API:
34230
34231 * term/i386/pc/vga.c (grub_vga_term): Change type to
34232 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34233 members. Update all users.
34234 * term/gfxterm.c (grub_video_term): Change type to
34235 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34236 members. Update all users.
34237 * include/grub/i386/pc/console.h (grub_console_checkkey)
34238 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34239 etc).
34240
34241 Migrate `terminal' command and userland tools to new API:
34242
34243 * commands/terminal.c (grub_cmd_terminal): Split into ...
34244 (grub_cmd_terminal_input): ... this, and ...
34245 (grub_cmd_terminal_output): ... this.
34246 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34247 `terminal_input' and `terminal_output'.
34248 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34249 `terminal_input' / `terminal_output' API.
34250 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34251 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34252 provided ${GRUB_TERMINAL}, convert it).
34253
96e5d876 342542008-11-04 Robert Millan <rmh@aybabtu.com>
34255
34256 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34257 for FreeBSD.
34258 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34259
556f3775 342602008-11-03 Bean <bean123ch@gmail.com>
34261
34262 * kern/elf.c (grub_elf32_load): Revert to previous code.
34263 (grub_elf64_load): Likewise.
34264
34265 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34266
926b9823 342672008-11-01 Robert Millan <rmh@aybabtu.com>
34268
34269 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34270 (TARGET_CPPFLAGS): Likewise.
34271 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34272
1432e958 342732008-11-01 Carles Pina i Estany <carles@pina.cat>
34274
34275 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34276
dba3f844 342772008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 34278
34279 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34280 addition of objects until the code is not going to be able to fail.
34281
dba3f844 342822008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 34283
34284 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34285 (add a missing NULL check, and correct them by moving the pointer
34286 operations after the actual check).
34287
7ab28c21 342882008-10-29 Robert Millan <rmh@aybabtu.com>
34289
34290 * util/i386/pc/grub-install.in: Handle empty string as output from
34291 make_system_path_relative_to_its_root().
34292
1b7748eb 342932008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34294
34295 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34296 circular metadata worst case scenario. If the metadata is circular
34297 then copy the wrap in place.
34298 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34299 project lib/format_text/layout.h
34300 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34301
c9618ab2 343022008-10-03 Felix Zielcke <fzielcke@z-51.de>
34303
7a36edca 34304 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 34305
bf981c62 343062008-10-03 Felix Zielcke <fzielcke@z-51.de>
34307
34308 * util/update-grub_lib.in: Mention filename in warning message.
34309
6d994591 343102008-09-29 Felix Zielcke <fzielcke@z-51.de>
34311
34312 * NEWS: Update for rename of update-grub to grub-mkconfig.
34313
18ade780 343142008-09-29 Felix Zielcke <fzielcke@z-51.de>
34315
34316 * util/update-grub_lib.in: Copy to ...
34317 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 34318 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 34319 * util/update-grub.in: Rename to ...
34320 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34321 option. Add `--output' option to allow users to specify the generated
34322 configuration file. Default to stdout.
34323 (update_grub_dir): Rename to ...
34324 (grub_mkconfig_dir): ... this.
34325 (grub_cfg): Default to an empty string.
34326 * conf/common.rmk (update-grub): Rename to ...
34327 (grub-mkconfig): ... this.
34328 (update-grub_lib): Copy to ...
34329 (grub-mkconfig_lib): ... this.
34330 (update-grub_SCRIPTS): Copy to ...
34331 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34332 (update-grub_DATA): Rename to ...
34333 (grub-mkconfig_DATA): ... this.
34334
556ce6ac 343352008-09-28 Robert Millan <rmh@aybabtu.com>
34336
34337 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34338 to `modified'. Add the real `created' field.
34339 (grub_iso9660_uuid): Use `modified' rather than `created' for
34340 constructing the UUID.
34341
343422008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 34343
34344 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34345 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34346
92274e85 343472008-09-28 Bean <bean123ch@gmail.com>
34348
34349 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34350 Thanks to Christian Franke for finding this bug.
34351
add6f17a 343522008-09-25 Robert Millan <rmh@aybabtu.com>
34353
34354 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34355 instances of grub_util_get_disk_name() (see previous commit).
34356
d2a367b8 343572008-09-25 Robert Millan <rmh@aybabtu.com>
34358
34359 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34360 `util/i386/get_disk_name.c'.
34361 * conf/i386-efi.rmk: Likewise.
34362 * conf/x86_64-efi.rmk: Likewise.
34363 * conf/i386-coreboot.rmk: Likewise.
34364 * conf/i386-ieee1275.rmk: Likewise.
34365 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34366 `util/ieee1275/get_disk_name.c'.
34367 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34368 * util/ieee1275/get_disk_name.c: Remove file.
34369 * util/i386/get_disk_name.c: Remove file.
34370 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34371 "hd%d" for device.map entries, rather than using
34372 grub_util_get_disk_name().
34373
81a06771 343742008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 34375
34376 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34377 warning.
34378 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34379
5a004279 343802008-09-24 Carles Pina i Estany <carles@pina.cat>
34381
34382 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34383 Changed to 0x5100.
34384 (GRUB_TERM_PPAGE): Changed to 0x4900.
34385
397093d3 343862008-09-24 Robert Millan <rmh@aybabtu.com>
34387
34388 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34389 macros (they were i386-pc specific).
34390 * include/grub/sparc64/ieee1275/console.h: Likewise.
34391 * include/grub/efi/console.h: Likewise.
34392
a91b6c7c 343932008-09-22 Bean <bean123ch@gmail.com>
34394
34395 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34396 resident and in attribute list.
34397
34398 * include/grub/ntfs.h (BMP_LEN): Removed.
34399
c40fd116 344002008-09-22 Bean <bean123ch@gmail.com>
34401
81a06771 34402 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34403 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34404
34405 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34406 error occurs, as grub_disk_open will call grub_disk_close, which will
34407 call p->close (scsi).
34408
81a06771 344092008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34410
34411 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34412 (AC_PREREQ): Bumped to 2.59.
34413 (AC_TRY_COMPILE): Replace obsolete macro with ...
34414 (AC_COMPILE_IFELSE): ... this.
34415 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34416 (AC_LINK_IFELSE): ... this.
34417
5dc43410 344182008-09-21 Felix Zielcke <fzielcke@z-51.de>
34419
34420 * autogen.sh: Add a call to `gendistlist.sh'.
34421
9035dce4 344222008-09-19 Christian Franke <franke@computer.org>
34423
34424 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34425 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34426 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34427 Export __enable_execute_stack() to modules.
34428 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34429 New function.
34430
7fd75377 344312008-09-09 Felix Zielcke <fzielcke@z-51.de>
34432
040030b3 34433 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34434 Sort the list.
34435
344362008-09-09 Felix Zielcke <fzielcke@z-51.de>
34437
34438 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34439 #include <grub/util/hostdisk.h>.
34440
89d5ffcf 344412008-09-08 Robert Millan <rmh@aybabtu.com>
34442
34443 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34444 segments when their filesz is zero (grub_file_read() interprets
81a06771 34445 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34446 Use `lowest_segment' rather than 0 for calculating the current
34447 segment load address.
34448
40da438f 344492008-09-08 Robert Millan <rmh@aybabtu.com>
34450
34451 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34452 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34453 clobbered useful information.
34454
ddbf5556 344552008-09-08 Robert Millan <rmh@aybabtu.com>
34456
34457 * include/grub/util/biosdisk.h: Move to ...
34458 * include/grub/util/hostdisk.h: ... here. Update all users.
34459 * util/biosdisk.c: Move to ...
34460 * util/hostdisk.c: ... here. Update all users.
34461
783d0f48 344622008-09-07 Robert Millan <rmh@aybabtu.com>
34463
34464 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34465 variables.
34466 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34467 and length can be stored directly in the `mbi->mmap_addr' and
34468 `mbi->mmap_length' struct fields.
34469
548e2ea5 344702008-09-07 Robert Millan <rmh@aybabtu.com>
34471
34472 * conf/i386.rmk: New file. Provides declaration for building
34473 `cpuid.mod'.
34474 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34475 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34476 variables.
34477 Include `conf/i386.mk'.
34478 * conf/i386-efi.rmk: Likewise.
34479 * conf/x86_64-efi.rmk: Likewise.
34480 * conf/i386-coreboot.rmk: Likewise.
34481 * conf/i386-ieee1275.rmk: Likewise.
34482
0ea85a37 344832008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34484
34485 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34486 Adds optimization support for BGR based modes.
34487
34488 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34489 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34490 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34491 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34492 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34493 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34494 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34495 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34496 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34497 (grub_video_i386_vbeblit_index_index): Likewise.
34498 (grub_video_i386_vbeblit_replace_directN): Added.
34499 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34500 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34501 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34502 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34503 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34504 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34505 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34506 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34507 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34508 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34509 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34510 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34511 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34512
34513 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34514 (grub_video_i386_vbefill_R8G8B8): Likewise.
34515 (grub_video_i386_vbefill_index): Likewise.
34516 (grub_video_i386_vbefill_direct32): Added.
34517 (grub_video_i386_vbefill_direct24): Likewise.
34518 (grub_video_i386_vbefill_direct16): Likewise.
34519 (grub_video_i386_vbefill_direct8): Likewise.
34520
81a06771 34521 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34522 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34523 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34524 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34525 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34526 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34527
0ea85a37 34528 * video/video.c (grub_video_get_blit_format): Updated to use new
34529 blit formats. Added handling for 16 bit color modes.
81a06771 34530
34531 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34532 fillers.
34533 (common_blitter): Updated to use new blitters.
34534
34535 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34536 Removed.
34537 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34538 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34539 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34540 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34541 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34542 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34543 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34544 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34545 (grub_video_i386_vbeblit_index_index): Likewise.
34546 (grub_video_i386_vbeblit_replace_directN): Added.
34547 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34548 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34549 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34550 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34551 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34552 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34553 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34554 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34555 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34556 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34557 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34558 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34559 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34560
0ea85a37 34561 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34562 (grub_video_i386_vbefill_R8G8B8): Likewise.
34563 (grub_video_i386_vbefill_index): Likewise.
34564 (grub_video_i386_vbefill_direct32): Added.
34565 (grub_video_i386_vbefill_direct24): Likewise.
34566 (grub_video_i386_vbefill_direct16): Likewise.
34567 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34568
0ea85a37 34569 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34570 types.
81a06771 34571
0ea85a37 34572 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34573 types.
81a06771 34574
0ea85a37 34575 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34576 blitter types.
81a06771 34577
0ea85a37 34578 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34579 types.
34580
e8a83df6 345812008-09-06 Felix Zielcke <fzielcke@z-51.de>
34582
34583 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34584 RAID level 1.
34585
6bcd8ee5 345862008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34587
6bcd8ee5 34588 * fs/iso9660.c (grub_iso9660_date): New structure.
34589 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34590 (grub_iso9660_uuid): New function.
c375ae58 34591
59261157 345922008-09-05 Bean <bean123ch@gmail.com>
34593
34594 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34595
34596 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34597 insensitive bit for names in Win32 and Win32 & DOS namespace.
34598
34599 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34600
34601 * include/grub/types.h (LONG_MAX): Likewise.
34602
58b6645a 346032008-09-04 Felix Zielcke <fzielcke@z-51.de>
34604
4ee55921 34605 * util/getroot.c: Include <config.h>.
34606 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34607 add support for /dev/md/N devices and handle LVM double dash escaping.
34608
346092008-09-04 Felix Zielcke <fzielcke@z-51.de>
34610
34611 * config.guess: Update to latest version from config git.
34612 * config.sub: Likewise.
58b6645a 34613
9124f65d 346142008-09-03 Robert Millan <rmh@aybabtu.com>
34615
34616 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34617 `disk->total_sectors'.
34618
81a06771 346192008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34620
34621 * include/grub/normal.h: Fixed incorrect comment for
34622 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34623
81a06771 346242008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34625
34626 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34627 values with defines.
34628
34629 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34630 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34631 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34632 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34633 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34634 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34635 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34636 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34637 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34638 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34639 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34640 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34641 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34642 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34643 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34644 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34645 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34646 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34647 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34648
93d5cbf8 346492008-08-31 Robert Millan <rmh@aybabtu.com>
34650
34651 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34652 declaration.
34653 (grub_multiboot): Fix a few warnings.
34654
21751d50 346552008-08-31 Robert Millan <rmh@aybabtu.com>
34656
34657 * loader/i386/pc/multiboot.c: Update comment not to say that
34658 boot_device support is unimplemented.
34659
e27a75c5 346602008-08-31 Robert Millan <rmh@aybabtu.com>
34661
34662 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34663 or memory map support are unimplemented.
34664
81a06771 346652008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34666
34667 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34668
81a06771 346692008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34670
34671 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34672 total video memory in 'vbeinfo' output; show color format details for
34673 each video mode.
34674
7c5d8d95 346752008-08-30 Pavel Roskin <proski@gnu.org>
34676
34677 * util/genmoddep.c: Remove for real this time.
34678 * DISTLIST: Remove util/genmoddep.c.
34679
4cebd25a 346802008-08-30 Robert Millan <rmh@aybabtu.com>
34681
34682 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34683 as required by Multiboot spec (it was already 4-byte aligned, but
34684 only by chance).
34685
b497a269 346862008-08-29 Pavel Roskin <proski@gnu.org>
34687
e3925185 34688 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34689 * kern/powerpc/ieee1275/startup.S: ... this.
34690 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34691 * DISTLIST: Likewise.
34692
b497a269 34693 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34694 grub/cpu/kernel.h. Add start label for consistency with other
34695 platforms. Add grub_prefix immediately after start. Add jump
34696 to the code after grub_prefix.
34697 * include/grub/powerpc/kernel.h: Provide valid values for
34698 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34699
6e5a42fe 347002008-08-29 Bean <bean123ch@gmail.com>
34701
34702 * configure.ac: Change host_os to cygwin for mingw.
34703 (asprintf): New check for function.
34704
34705 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34706 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34707
34708 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34709 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34710 sync, sleep and grub_util_get_disk_size for mingw.
34711
34712 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34713 to get size in mingw.
34714 (open_device): Use flag O_BINARY if it's defined.
34715 (find_root_device): Add dummy code for mingw.
34716
34717 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34718 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34719 (get_scsi_disk_name): Return 0 for mingw.
34720
34721 * util/hostfs.c: #include <grub/util/misc.h>.
34722 (grub_hostfs_open): Use "rb" flag to open file, use
34723 grub_util_get_disk_size to get disk size for mingw.
34724
34725 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34726 (asprintf): New function if HAVE_ASPRINTF is not set.
34727 (sync): New function for mingw.
34728 (sleep): Likewise.
34729 (grub_util_get_disk_size): Likewise.
34730
ab3f2673 347312008-08-28 Pavel Roskin <proski@gnu.org>
34732
34733 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34734 kern/time.c.
34735
1c282483 347362008-08-28 Robert Millan <rmh@aybabtu.com>
34737
34738 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34739
678e849c 347402008-08-28 Robert Millan <rmh@aybabtu.com>
34741
34742 Change find_grub_drive() syntax so it doesn't prevent it from
34743 detecting NULL names as errors.
34744
34745 * util/biosdisk.c (find_grub_drive): Move free slot search code
34746 from here ...
34747 (find_free_slot): ... to here.
34748 (read_device_map): Use find_free_slot() to search for free slots.
34749
965c75ca 347502008-08-27 Marco Gerards <marco@gnu.org>
34751
34752 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34753 (scsi_mod_SOURCES): New variable.
34754 (scsi_mod_CFLAGS): Likewise
34755 (scsi_mod_LDFLAGS): Likewise.
34756
34757 * disk/scsi.c: New file.
34758
34759 * include/grub/scsi.h: Likewise.
34760
34761 * include/grub/scsicmd.h: Likewise.
34762
34763 * disk/ata.c: Include <grub/scsi.h>.
34764 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34765 instead.
34766 (grub_ata_iterate): Skip ATAPI devices.
34767 (grub_ata_open): Only handle ATAPI devices.
34768 (struct grub_atapi_read): Removed.
34769 (grub_atapi_readsector): Likewise.
34770 (grub_ata_read): No longer handle ATAPI devices.
34771 (grub_ata_write): Likewise.
34772 (grub_atapi_iterate): New function.
34773 (grub_atapi_read): Likewise.
34774 (grub_atapi_write): Likewise.
34775 (grub_atapi_open): Likewise.
34776 (grub_atapi_close): Likewise.
34777 (grub_atapi_dev): New variable.
34778 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34779 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34780
34781 * include/grub/disk.h (enum grub_disk_dev_id): Add
34782 `GRUB_DISK_DEVICE_SCSI_ID'.
34783
c07ae501 347842008-08-26 Robert Millan <rmh@aybabtu.com>
34785
34786 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34787 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34788 descriptive.
34789
5ed20adc 347902008-08-23 Bean <bean123ch@gmail.com>
34791
34792 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34793 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34794 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34795 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34796 dm_nv.mod.
34797 (raid5rec_mod_SOURCES): New macro.
34798 (raid5rec_mod_CFLAGS): Likewise.
34799 (raid5rec_mod_LDFLAGS): Likewise.
34800 (raid6rec_mod_SOURCES): Likewise.
34801 (raid6rec_mod_CFLAGS): Likewise.
34802 (raid6rec_mod_LDFLAGS): Likewise.
34803 (mdraid_mod_SOURCES): Likewise.
34804 (mdraid_mod_CFLAGS): Likewise.
34805 (mdraid_mod_LDFLAGS): Likewise.
34806 (dm_nv_mod_SOURCES): Likewise.
34807 (dm_nv_mod_CFLAGS): Likewise.
34808 (dm_nv_mod_LDFLAGS): Likewise.
34809
34810 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34811 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34812 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34813
34814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34815 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34816
34817 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34818
34819 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34820
34821 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34822
34823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34824
34825 * disk/raid5_recover.c: New file.
34826
34827 * disk/raid6_recover.c: Likewise.
34828
34829 * disk/mdraid_linux.c: Likewise.
34830
34831 * disk/dmraid_nvidia.c: Likewise.
34832
34833 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34834 ULONG_MAX.
34835
34836 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34837 calculate the size of raid device.
34838 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34839 different layout of raid5.
34840 (grub_raid_scan_device): Remove code specific to mdraid.
34841 (grub_raid_list): New variable.
34842 (free_array): New function.
34843 (grub_raid_register): Likewise.
34844 (grub_raid_unregister): Likewise.
34845 (grub_raid_rescan): Likewise.
34846 (GRUB_MOD_INIT): Don't iterate device here.
34847 (GRUB_MOD_FINI): Use free_array to release resource.
34848
34849 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34850 (grub_raid5_recover_func_t): New function variable type.
34851 (grub_raid6_recover_func_t): Likewise.
34852 (grub_raid5_recover_func): New variable.
34853 (grub_raid6_recover_func): Likewise.
34854 (grub_raid_register): New function.
34855 (grub_raid_unregister): Likewise.
34856 (grub_raid_rescan): Likewise.
34857 (grub_raid_block_xor): Likewise.
34858
34859 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34860 (CMD_CRC): New macro.
34861 (part): Removed.
34862 (read_file): Handle device as well as file.
34863 (cmd_crc): New function.
34864 (fstest): Handle multiple disks.
34865 (options): Remove part, raw and long, add root and diskcount.
34866 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34867 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34868 add handling for the new options, support multiple disks.
34869
34870 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34871
29c18915 348722008-08-23 Bean <bean123ch@gmail.com>
34873
34874 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34875
34876 * genfslist.sh: Ignore kernel.mod.
34877
34878 * genpartmaplist.sh: Likewise.
34879
8415f261 348802008-08-23 Robert Millan <rmh@aybabtu.com>
34881
34882 * util/getroot.c (find_root_device): Skip anything that starts with
34883 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34884
d5a7dc5b 348852008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34886
d5a7dc5b 34887 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34888 * util/grub.d/00_header.in: Allow the administrator to change default
34889 gfxmode via ${GRUB_GFXMODE}.
34890
380cfbb4 348912008-08-21 Felix Zielcke <fzielcke@z-51.de>
34892
34893 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34894
c9baafe7 348952008-08-21 Robert Millan <rmh@aybabtu.com>
34896
34897 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34898 loader.
34899 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34900 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34901
e290bef2 349022008-08-20 Carles Pina i Estany <carles@pina.cat>
34903
34904 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34905 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34906
f9dbfc96 349072008-08-19 Robert Millan <rmh@aybabtu.com>
34908
34909 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34910 (struct grub_virtual_screen): Remove `cursor_color'.
34911 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34912 initialization.
34913 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34914
dd6bd6ab 349152008-08-18 Robert Millan <rmh@aybabtu.com>
34916
34917 Unify (identical) linux_normal.c files.
34918 * loader/i386/efi/linux_normal.c: Move from here ...
34919 * loader/linux_normal.c: ... to here. Update all users.
34920 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34921 * loader/i386/ieee1275/linux_normal.c: Likewise.
34922
7f42f83e 349232008-08-18 Robert Millan <rmh@aybabtu.com>
34924
34925 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34926 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34927 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34928 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34929 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34930 New macros.
34931 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34932 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34933 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34934 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34935 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34936 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34937 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34938 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34939 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34940 portably using grub_getxy().
34941 Replace `-EFI' with `-bzImage' in boot message.
34942
38487ddb 349432008-08-17 Robert Millan <rmh@aybabtu.com>
34944
34945 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34946
deceb3ec 349472008-08-17 Robert Millan <rmh@aybabtu.com>
34948
34949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34950
34951 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34952 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34953 (grub_machine_mmap_iterate): New function declaration.
34954 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34955 structure.
34956 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34957 macros.
34958
34959 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34960 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34961 Move e820 parsing from here ...
34962 * kern/i386/pc/mmap.c: New file.
34963 (grub_machine_mmap_iterate): ... to here.
34964
34965 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34966 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34967 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34968 (grub_available_iterate): Redeclare to return `void', and redeclare
34969 its hook to use grub_uint64_t as addr and size parameters, and rename
34970 to ...
34971 (grub_machine_mmap_iterate): ... this. Update all users.
34972
34973 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34974 to make it more readable. Rename to ...
34975 (grub_machine_mmap_iterate): ... this.
34976
34977 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34978 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34979 (grub_multiboot): Allocate an extra region after the payload, and fill
34980 it with a Multiboot memory map. Adjust a.out loader to calculate size
34981 with the extra space.
34982 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34983 with the extra space.
34984
f8aa0f43 349852008-08-17 Carles Pina i Estany <carles@pina.cat>
34986
9807deb9 34987 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34988
605f5bb6 349892008-08-17 Felix Zielcke <fzielcke@z-51.de>
34990
34991 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34992 mdate-sh to the list `find' searches for.
34993 * DISTLIST: Regenerated.
34994
210db6c6 349952008-08-16 Felix Zielcke <fzielcke@z-51.de>
34996
34997 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34998 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34999 genmoddep.awk, gensymlist.sh.in.
35000 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 35001 * DISTLIST: Regenerated.
48cdbfd4 35002 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 35003
1082b929 350042008-08-16 Robert Millan <rmh@aybabtu.com>
35005
35006 * disk/raid.c (grub_raid_init): Handle/report errors set by
35007 grub_device_iterate().
35008 * disk/lvm.c (grub_lvm_init): Likewise.
35009
42ce5170 350102008-08-15 Bean <bean123ch@gmail.com>
35011
35012 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35013 and datehook.mod.
35014 (datetime_mod_SOURCES): New macro.
35015 (datetime_mod_CFLAGS): Likewise.
35016 (datetime_mod_LDFLAGS): Likewise.
35017 (date_mod_SOURCES): Likewise.
35018 (date_mod_CFLAGS): Likewise.
35019 (date_mod_LDFLAGS): Likewise.
35020 (datehook_mod_SOURCES): Likewise.
35021 (datehook_mod_CFLAGS): Likewise.
35022 (datehook_mod_LDFLAGS): Likewise.
35023
35024 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35025 and datehook.mod.
35026 (datetime_mod_SOURCES): New macro.
35027 (datetime_mod_CFLAGS): Likewise.
35028 (datetime_mod_LDFLAGS): Likewise.
35029 (date_mod_SOURCES): Likewise.
35030 (date_mod_CFLAGS): Likewise.
35031 (date_mod_LDFLAGS): Likewise.
35032 (datehook_mod_SOURCES): Likewise.
35033 (datehook_mod_CFLAGS): Likewise.
35034 (datehook_mod_LDFLAGS): Likewise.
35035
35036 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35037 and datehook.mod.
35038 (datetime_mod_SOURCES): New macro.
35039 (datetime_mod_CFLAGS): Likewise.
35040 (datetime_mod_LDFLAGS): Likewise.
35041 (date_mod_SOURCES): Likewise.
35042 (date_mod_CFLAGS): Likewise.
35043 (date_mod_LDFLAGS): Likewise.
35044 (datehook_mod_SOURCES): Likewise.
35045 (datehook_mod_CFLAGS): Likewise.
35046 (datehook_mod_LDFLAGS): Likewise.
35047
35048 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35049 and datehook.mod.
35050 (datetime_mod_SOURCES): New macro.
35051 (datetime_mod_CFLAGS): Likewise.
35052 (datetime_mod_LDFLAGS): Likewise.
35053 (date_mod_SOURCES): Likewise.
35054 (date_mod_CFLAGS): Likewise.
35055 (date_mod_LDFLAGS): Likewise.
35056 (datehook_mod_SOURCES): Likewise.
35057 (datehook_mod_CFLAGS): Likewise.
35058 (datehook_mod_LDFLAGS): Likewise.
35059
35060 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35061 and datehook.mod.
35062 (datetime_mod_SOURCES): New macro.
35063 (datetime_mod_CFLAGS): Likewise.
35064 (datetime_mod_LDFLAGS): Likewise.
35065 (date_mod_SOURCES): Likewise.
35066 (date_mod_CFLAGS): Likewise.
35067 (date_mod_LDFLAGS): Likewise.
35068 (datehook_mod_SOURCES): Likewise.
35069 (datehook_mod_CFLAGS): Likewise.
35070 (datehook_mod_LDFLAGS): Likewise.
35071
35072 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35073
35074 * commands/date.c: New file.
35075
35076 * hook/datehook.c: Likewise.
35077
35078 * include/grub/lib/datetime.h: Likewise.
35079
35080 * include/grub/i386/cmos.h: Likewise.
35081
35082 * lib/datetime.c: Likewise.
35083
35084 * lib/i386/datetime.c: Likewise.
35085
35086 * lib/efi/datetime.c: Likewise.
35087
0e9242da 350882008-08-14 Robert Millan <rmh@aybabtu.com>
35089
35090 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35091 (grub_mkelfimage_SOURCES): New variable.
35092 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35093
35094 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35095 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35096 * conf/powerpc-ieee1275.rmk: Likewise.
35097 * conf/i386-ieee1275.rmk: Likewise.
35098
35099 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35100 * kern/i386/coreboot/init.c: Likewise.
35101
35102 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35103 with `<grub/cpu/kernel.h>'.
35104 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35105 to ...
35106 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35107 * kern/i386/coreboot/startup.S: Likewise.
35108
35109 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35110 (GRUB_MOD_GAP): Remove.
35111 * include/grub/powerpc/kernel.h: New file.
35112 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35113 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35114 * include/grub/i386/kernel.h: New file.
35115 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35116 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35117 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35118
35119 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35120 `grub-mkelfimage'.
35121 Use --directory when invoking grub_mkimage.
35122
35123 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35124 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35125 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35126 and GRUB_KERNEL_CPU_PREFIX.
35127
b86408f8 351282008-08-14 Felix Zielcke <fzielcke@z-51.de>
35129
d5e619ca 35130 * include/grub/err.h (grub_err_printf): New function prototype.
35131 * util/misc.c (grub_err_printf): New function.
35132 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35133 grub_printf.
35134 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 35135
7161f0e0 351362008-08-13 Robert Millan <rmh@aybabtu.com>
35137
35138 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35139
a1967522 351402008-08-13 Robert Millan <rmh@aybabtu.com>
35141
35142 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35143 boot entry.
35144
371458b5 351452008-08-12 Robert Millan <rmh@aybabtu.com>
35146
35147 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35148 of the relocation code from here ...
35149 (grub_multiboot): ... to here.
35150 (forward_relocator, backward_relocator): Move from here ...
35151 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35152 (grub_multiboot_backward_relocator): ... to here.
35153 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35154 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35155 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35156 (grub_multiboot_forward_relocator_end)
35157 (grub_multiboot_backward_relocator)
35158 (grub_multiboot_backward_relocator_end): New variables.
35159
05f9452b 351602008-08-12 Bean <bean123ch@gmail.com>
35161
35162 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35163
20024ab0 351642008-08-11 Robert Millan <rmh@aybabtu.com>
35165
35166 * kern/i386/linuxbios/startup.S: Move from here ...
35167 * kern/i386/coreboot/startup.S: ... to here.
35168
35169 * kern/i386/linuxbios/init.c: Move from here ...
35170 * kern/i386/coreboot/init.c: ... to here.
35171
35172 * kern/i386/linuxbios/table.c: Move from here ...
35173 * kern/i386/coreboot/mmap.c: ... to here.
35174
35175 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35176
e352e9cd 351772008-08-11 Robert Millan <rmh@aybabtu.com>
35178
35179 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35180 errors. Leave it to the upper layer to handle them.
35181
2d05bc6a 351822008-08-09 Christian Franke <franke@computer.org>
35183
35184 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35185 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35186 Install `grub.d/10_windows' only on Cygwin.
35187 * configure.ac: Add subst of `target_os'.
35188 Check `target_os' also before setting TARGET_OBJ2ELF.
35189 Add `--enable-grub-pe2elf'.
35190
042bd419 351912008-08-08 Robert Millan <rmh@aybabtu.com>
35192
35193 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35194 (grub_last_time): Change type to grub_uint64_t.
35195 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35196 (grub_disk_close): Likewise.
35197
35198 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35199 (run_menu): Migrate code from to using grub_get_time_ms().
35200
35201 * util/misc.c (grub_get_time_ms): New function.
35202
7f280db5 352032008-08-08 Marco Gerards <marco@gnu.org>
35204
35205 * disk/ata.c (grub_ata_regget): Change return type to
35206 `grub_uint8_t'.
35207 (grub_ata_regget2): Likewise.
35208 (grub_ata_wait_status): New function.
35209 (grub_ata_wait_busy): Removed function, updated all users to use
35210 `grub_ata_wait_status'.
35211 (grub_ata_wait_drq): Likewise.
35212 (grub_ata_cmd): New function.
35213 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35214 error handling.
35215 (grub_ata_pio_write): Add error handling.
35216 (grub_atapi_identify): Likewise.
35217 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35218 handling.
35219 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35220 handling. Actually use the detected registers. Reorder the
35221 detection logic such that it is easier to read.
35222 (grub_ata_pciinit): Do not assign the same ID to each controller.
35223 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35224 handling.
35225 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35226
35227 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35228
1fbc5e66 352292008-08-08 Marco Gerards <marco@gnu.org>
35230
35231 * NEWS: Update.
35232
819ce6c0 352332008-08-07 Bean <bean123ch@gmail.com>
35234
35235 * include/grub/x86_64/pci.h: New file.
35236
5c41d44d 352372008-08-07 Christian Franke <franke@computer.org>
35238
35239 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35240 (TIMER2_GATE): Likewise.
35241 (grub_pit_wait): Add enable/disable of the timer2 gate
35242 bit of port 0x61. This fixes a possible infinite loop.
35243
5ebc275d 352442008-08-07 Bean <bean123ch@gmail.com>
35245
35246 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35247 kern/i386/tsc.c and kern/i386/pit.c.
35248
35249 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35250 x86_64 platform.
35251
35252 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35253 <grub/i386/tsc.h>.
35254
35255 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35256
e383b3d0 352572008-08-07 Bean <bean123ch@gmail.com>
35258
35259 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35260
35261 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35262
35263 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35264 multiple inclusion. Add #include <grub/types.h>.
35265
1cbb58ac 352662008-08-06 Christian Franke <franke@computer.org>
35267
35268 * conf/common.rmk: Build and install `10_windows'.
35269 * util/grub.d/10_windows.in: New script.
35270
337f5a1e 352712008-08-06 Pavel Roskin <proski@gnu.org>
35272
35273 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35274
057bc4ac 352752008-08-06 Robert Millan <rmh@aybabtu.com>
35276
35277 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35278 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35279
2b99f123 352802008-08-06 Bean <bean123ch@gmail.com>
35281
35282 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35283 (grub_pxefs_fs_int): Remove dummy definition.
35284 (grub_pxefs_open): Use data->block_size to store the current block
35285 size setting.
35286 (grub_pxefs_read): Use block size stored in data->block_size. As the
35287 value of grub_pxe_blksize can be changed after the file is opened.
35288
9f0234cb 352892008-08-06 Bean <bean123ch@gmail.com>
35290
35291 * fs/i386/pc/pxe.c (curr_file): new variable.
35292 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35293 require the dummy internal file system anymore.
35294 (grub_pxefs_read): Removed.
35295 (grub_pxefs_close): Likewise.
35296 (grub_pxefs_fs_int): Likewise.
35297 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35298 connection when we switch file.
35299 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35300
a55d42e0 353012008-08-06 Robert Millan <rmh@aybabtu.com>
35302
35303 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35304 `halt.mod'.
35305 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35306 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35307
35308 * kern/i386/halt.c: New file.
35309 * kern/i386/reboot.c: Likewise.
35310 * include/grub/i386/reboot.h: Likewise.
35311 * include/grub/i386/halt.h: Likewise.
35312
35313 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35314 Include `<grub/cpu/halt.h>'.
35315 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35316 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35317
35318 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35319 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35320 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35321 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35322 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35323 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35324 from here ...
35325 * include/grub/i386/at_keyboard.h: ... to here.
35326
24371d26 353272008-08-05 Robert Millan <rmh@aybabtu.com>
35328
35329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35330 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35331 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35332 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35333 `kern/generic/millisleep.c'.
35334
35335 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35336 instead of grub_get_rtc().
35337 (grub_tsc_init): Initialize `tsc_boot_time'.
35338
35339 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35340 (grub_machine_init): Use grub_tsc_init() rather than
35341 installing an RTC-based handler via grub_install_get_time_ms().
35342
35343 * kern/i386/pit.c: New file.
35344 * include/grub/i386/pit.h: Likewise.
35345
9e7007b3 353462008-08-05 Bean <bean123ch@gmail.com>
35347
35348 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35349
35350 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35351 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35352 (pxe_mod_SOURCES): New macro.
35353 (pxe_mod_CFLAGS): Likewise.
35354 (pxe_mod_LDFLAGS): Likewise.
35355 (pxecmd_mod_SOURCES): Likewise.
35356 (pxecmd_mod_CFLAGS): Likewise.
35357 (pxecmd_mod_LDFLAGS): Likewise.
35358
35359 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35360 (grub_pxe_call): Likewise.
35361
35362 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35363
35364 * commands/i386/pc/pxecmd.c: New file.
35365
9f0234cb 35366 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 35367
35368 * include/grub/i386/pc/pxe.h: Likewise.
35369
6977d49f 353702008-08-05 Bean <bean123ch@gmail.com>
35371
35372 * util/console.c (grub_console_cur_color): New variable.
35373 (grub_console_standard_color): Likewise.
35374 (grub_console_normal_color): Likewise.
35375 (grub_console_highlight_color): Likewise.
35376 (color_map): Likewise.
35377 (use_color): Likewise.
35378 (NUM_COLORS): New macro.
35379 (grub_ncurses_setcolorstate): Handle color properly.
35380 (grub_ncurses_setcolor): Don't change color here, just remember the
35381 settings, color will be set in grub_ncurses_setcolorstate.
35382 (grub_ncurses_getcolor): New function.
35383 (grub_ncurses_init): Initialize color pairs.
35384 (grub_ncurses_term): New member grub_ncurses_getcolor.
35385
9c2ff3ee 353862008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35387
9c2ff3ee 35388 High resolution timer support. Implemented for x86 CPUs using TSC.
35389 Extracted generic grub_millisleep() so it's linked in only as needed.
35390 This requires a Pentium compatible CPU; if the RDTSC instruction is
35391 not supported, then it falls back on the generic grub_get_time_ms()
35392 implementation that uses the machine's RTC.
35393
35394 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35395 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35396 `kern/generic/millisleep.c'.
35397
35398 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35399 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35400
35401 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35402 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35403
35404 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35405
35406 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35407 `kern/generic/millisleep.c'.
35408
35409 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35410
35411 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35412
35413 * kern/generic/rtc_get_time_ms.c: New file.
35414
35415 * kern/generic/millisleep.c: New file.
337f5a1e 35416
9c2ff3ee 35417 * kern/misc.c: Don't include
35418 <kern/time.h> anymore.
35419 (grub_millisleep_generic): Removed.
35420
35421 * commands/sleep.c (grub_interruptible_millisleep): Uses
35422 grub_get_time_ms() instead of grub_get_rtc().
35423
35424 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35425 function.
35426 (grub_cpu_is_cpuid_supported): New inline function.
35427 (grub_cpu_is_tsc_supported): New inline function.
35428 (grub_tsc_init): New function prototype.
35429 (grub_tsc_get_time_ms): New function prototype.
35430
35431 * kern/i386/tsc.c (grub_get_time_ms): New file.
35432
35433 * include/grub/time.h: Include <grub/types.h.
35434 (grub_millisleep_generic): Removed.
35435 (grub_get_time_ms): New prototype.
35436 (grub_install_get_time_ms): New prototype.
35437 (grub_rtc_get_time_ms): New prototype.
35438
35439 * kern/time.c (grub_get_time_ms): New function.
35440 (grub_install_get_time_ms): New function.
35441
35442 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35443 <grub/time.h> anymore.
35444 (grub_millisleep): Removed.
35445 (grub_machine_init): Call grub_tsc_init.
35446
35447 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35448 get_time_ms() implementation.
35449
35450 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35451 (ieee1275_get_time_ms): New function.
35452 (grub_machine_init): Install get_time_ms() implementation.
35453
35454 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35455 (grub_machine_init): Call grub_tsc_init().
35456 (grub_millisleep): Removed.
bf06a93f 35457
9c2ff3ee 35458 * kern/ieee1275/init.c (grub_millisleep): Removed.
35459 (grub_machine_init): Install ieee1275_get_time_ms()
35460 implementation.
35461 (ieee1275_get_time_ms): New function.
35462 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35463 real work.
35464
9ec92aaf 354652008-08-05 Marco Gerards <marco@gnu.org>
35466
35467 * disk/ata.c: Include <grub/pci.h>.
35468 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35469 (grub_ata_initialize): Rewritten.
35470 (grub_ata_device_initialize): New function.
35471
8d23f507 354722008-08-04 Pavel Roskin <proski@gnu.org>
35473
35474 * kern/main.c: Include grub/mm.h.
35475
5e15ee3d 354762008-08-04 Robert Millan <rmh@aybabtu.com>
35477
35478 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35479 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35480 corruption problem).
35481
a9053f8f 354822008-08-04 Robert Millan <rmh@aybabtu.com>
35483
35484 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35485 warnings introduced in my last commit.
35486
dd19c7d7 354872008-08-03 Robert Millan <rmh@aybabtu.com>
35488
35489 Make PCI available on all i386 architectures.
35490
35491 * include/grub/i386/pc/pci.h: Move from here ...
35492 * include/grub/i386/pci.h: ... to here.
35493
35494 * include/grub/i386/pc/pci.h: Remove.
35495 * include/grub/i386/efi/pci.h: Remove.
35496 * include/grub/x86_64/efi/pci.h: Remove.
35497
35498 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35499 `<grub/cpu/pci.h>'.
35500
35501 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35502 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35503 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35504
35505 * conf/i386-ieee1275.rmk: Likewise.
35506
e14a6184 355072008-08-03 Robert Millan <rmh@aybabtu.com>
35508
35509 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35510 (grub_console_setcursor): Make it possible to set cursor off.
35511
52768e37 355122008-08-03 Robert Millan <rmh@aybabtu.com>
35513
35514 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35515 of modules instead of assuming which platform provides what.
35516 * util/update-grub.in: Likewise.
35517
2d52f57f 355182008-08-03 Robert Millan <rmh@aybabtu.com>
35519
35520 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35521 instead of `grub_install_dos_part' to determine whether a drive needs
35522 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35523 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35524
2a5cd121 355252008-08-02 Robert Millan <rmh@aybabtu.com>
35526
35527 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35528
93808428 355292008-08-02 Robert Millan <rmh@aybabtu.com>
35530
35531 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35532 of informational grub_dprintf() calls.
35533
3bd0a12a 355342008-08-02 Robert Millan <rmh@aybabtu.com>
35535
35536 * disk/memdisk.c (memdisk_size): Don't initialize.
35537 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35538
35539 * include/grub/i386/pc/kernel.h
35540 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35541 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35542 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35543 (grub_arch_memdisk_size): Remove.
35544
35545 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35546 field (was only used to transfer a constant). Add `type' field to
35547 support multiple module types.
35548 (grub_module_iterate): New function.
35549
35550 * kern/device.c (grub_device_open): Do not hide error messages
35551 when grub_disk_open() fails. Use grub_print_error() instead.
35552
35553 * kern/i386/pc/init.c (grub_arch_modules_addr)
35554 (grub_arch_memdisk_size): Remove functions.
35555 (grub_arch_modules_addr): Return the module address in high memory
35556 (now that it isn't copied anymore).
35557
35558 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35559 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35560 decompression routine (grub_total_module_size already includes that
35561 now). Don't copy modules back to low memory.
35562
35563 * kern/main.c: Include `<grub/mm.h>'.
35564 (grub_load_modules): Split out (and use) ...
35565 (grub_module_iterate): ... this function, which iterates through
35566 module objects and runs a hook.
35567 Comment out grub_mm_init_region() call, as it would cause non-ELF
35568 modules to be overwritten.
35569
35570 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35571 the memdisk image in its own region, make it part of the module list.
35572 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35573 (main): Parse --memdisk|-m option, and pass user-provided path as
35574 parameter to generate_image().
35575 (add_segments): Pass `memdisk_path' down to load_modules().
35576 (load_modules): Embed memdisk image in module section when requested.
35577 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35578 `header.type' instead of `header.offset'.
35579
35580 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35581 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35582 (memdisk_mod_LDFLAGS): New variables.
35583 * conf/i386-coreboot.rmk: Likewise.
35584 * conf/i386-ieee1275.rmk: Likewise.
35585
a927cc73 355862008-08-02 Robert Millan <rmh@aybabtu.com>
35587
35588 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35589 (backward_relocator): New variables. Used to allocate and relocate
35590 the payload, respectively.
35591 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35592 address, install the appropriate relocator code in each bound of
a927cc73 35593 the payload, and set the entry point such that
35594 grub_multiboot_real_boot() will jump to one of them.
35595
35596 * kern/i386/loader.S (grub_multiboot_payload_size)
35597 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35598 (grub_multiboot_payload_entry_offset): New variables.
35599 (grub_multiboot_real_boot): Set cpu context to what the relocator
35600 expects, and jump to the relocator instead of the payload.
35601
35602 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35603 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35604 (grub_multiboot_payload_entry_offset): Export.
35605
b15d8a0c 356062008-08-01 Bean <bean123ch@gmail.com>
35607
35608 * normal/menu_entry.c (editor_getline): Don't return the original
35609 string as result, as it will be released by lexer once it has done
35610 using it.
35611
cdfb3d22 356122008-08-01 Robert Millan <rmh@aybabtu.com>
35613
35614 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35615 within menuentries, not before them.
35616 util/grub.d/10_hurd.in: Likewise.
35617
9175e93d 356182008-08-01 Bean <bean123ch@gmail.com>
35619
35620 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35621 (bufio_mod_SOURCES): New macro.
35622 (bufio_mod_CFLAGS): Likewise.
35623 (bufio_mod_LDFLAGS): Likewise.
35624
35625 * include/grub/bufio.h: New file.
35626
35627 * io/bufio.c: Likewise.
35628
35629 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35630 (grub_video_reader_png): Use grub_buffile_open to open file.
35631
35632 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35633 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35634
35635 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35636 (grub_video_reader_tga): Use grub_buffile_open to open file.
35637
35638 * font/manager.c: Include <grub/bufio.h>.
35639 (add_font): Use grub_buffile_open to open file.
35640
3d8383e7 356412008-07-31 Robert Millan <rmh@aybabtu.com>
35642
35643 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35644 ELF segments, use a macro for arbitrarily accessing any of them instead
35645 of preparing a pointer that allows access to one at a time.
35646 (grub_multiboot_load_elf64): Likewise.
35647
16e641b6 356482008-07-31 Bean <bean123ch@gmail.com>
35649
35650 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35651 GRUB_KERNEL_MACHINE_DATA_END.
35652
59198b72 356532008-07-30 Robert Millan <rmh@aybabtu.com>
35654
35655 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35656 Increase from 0x50 to 0x60.
35657 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35658 use UUIDs to identify the root drive for them. If that's not
35659 possible, abort.
35660 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35661 check, for cross-disk installs.
35662
ae88bca3 356632008-07-30 Robert Millan <rmh@aybabtu.com>
35664
35665 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35666 is non-empty, use it to set the `prefix' environment variable instead
35667 of the usual approach.
35668 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35669 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35670 environment variable instead of dummy make_install_device().
35671
35672 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35673 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35674 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35675
35676 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35677 New variable reference.
35678 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35679 New macro. Defines offset of `grub_prefix' within startup.S (relative
35680 to `start').
35681 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35682 section within startup.S (relative to `start').
35683 * include/grub/i386/coreboot/kernel.h: Likewise.
35684
35685 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35686 Overwrite grub_prefix with its contents, at the beginning of the
35687 first segment.
35688 (main): Understand -p|--prefix.
35689
14f41dd1 356902008-07-30 Robert Millan <rmh@aybabtu.com>
35691
35692 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35693
4ca049a3 356942008-07-30 Robert Millan <rmh@aybabtu.com>
35695
35696 * term/i386/pc/vga_text.c (grub_console_cls): Use
35697 grub_console_gotoxy() to go back to beginning of the screen.
35698 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35699
2921d337 357002008-07-29 Christian Franke <franke@computer.org>
35701
35702 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35703 Add conversion of emulated mount points on Cygwin.
35704
b609876d 357052008-07-29 Christian Franke <franke@computer.org>
35706
35707 * util/update-grub.in: Add a check for admin
35708 group on Cygwin.
35709 Remove old `grub.cfg.new' before creation.
35710 Add `-f' to `mv' to handle the different filesystem
35711 semantics of Windows.
35712
e93e4679 357132008-07-29 Bean <bean123ch@gmail.com>
35714
35715 * normal/main.c (get_line): Fix buffer overflow bug.
35716
41694fd0 357172008-07-28 Robert Millan <rmh@aybabtu.com>
35718
35719 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35720 (struct grub_apple_header): New struct. Describes the layout of
35721 the partmap header.
35722 (apple_partition_map_iterate): Check the header magic as well as the
35723 partition magic (which was already being checked).
35724
cfd0b4e6 357252008-07-28 Pavel Roskin <proski@gnu.org>
35726
35727 * genmk.rb: Add a warning to the beginning of the output that
35728 it's a generated file and should not be edited.
35729
93cce016 357302008-07-28 Robert Millan <rmh@aybabtu.com>
35731
35732 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35733 with the same number are found, just use issue a warning with
35734 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35735
cd1df915 357362008-07-27 Robert Millan <rmh@aybabtu.com>
35737
35738 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35739 information.
35740
b70a8427 357412008-07-27 Bean <bean123ch@gmail.com>
35742
35743 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35744 (grub_fat_find_dir): Ignore case when comparing filename.
35745
8f5e379f 357462008-07-27 Bean <bean123ch@gmail.com>
35747
35748 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35749 smallino, as it's more descriptive, and i8count can be confused with
35750 the other field count.
35751 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35752 inode type.
35753
a85cd5a0 357542008-07-27 Bean <bean123ch@gmail.com>
35755
35756 * commands/crc.c: New file.
35757
35758 * lib/crc.c: Likewise.
35759
35760 * include/grub/lib/crc.h: Likewise.
35761
35762 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35763
35764 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35765 (hexdump): Move this function to ...
35766
35767 * lib/hexdump.c: ... here.
35768
35769 * include/grub/hexdump.h: Renamed to ...
35770
35771 * include/grub/lib/hexdump.h: ... this.
35772
35773 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35774
35775 * util/grub-editenv.c: Likewise.
35776
35777 * include/envblk.h: Renamed to ...
35778
35779 * include/lib/envblk.h: ... this.
35780
35781 * util/envblk.c: Renamed to ...
35782
35783 * lib/envblk.c: ... this.
35784
35785 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35786 lib/hexdump.c.
35787 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35788 (pkglib_MODULES): Add crc.mod.
35789 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35790 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35791 (crc_mod_SOURCES): New macro.
35792 (crc_mod_CFLAGS): Likewise.
35793 (crc_mod_LDFLAGS): Likewise.
35794
35795 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35796
35797 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35798
35799 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35800
35801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35802
35803 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35804
c298def0 358052008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35806
35807 * commands/help.c: Include <grub/term.h>.
35808 (TERM_WIDTH): Removed. Updated all users.
35809
cc349fb3 358102008-07-27 Pavel Roskin <proski@gnu.org>
35811
35812 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35813 spurious warnings about a comment within a comment.
35814
9051607e 358152008-07-25 Robert Millan <rmh@aybabtu.com>
35816
35817 * util/getroot.c (find_root_device): Skip devices that match
35818 /dev/dm-[0-9]. This lets the real device be found for any type of
35819 abstraction (LVM, EVMS, RAID..).
35820 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35821 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35822 device is found first, find_root_device() will now skip it.
35823
01453bfc 358242008-07-24 Pavel Roskin <proski@gnu.org>
35825
35826 * include/grub/types.h: Use __builtin_bswap32() and
35827 __builtin_bswap64() with gcc 4.3 and newer.
35828
6af9849f 358292008-07-24 Christian Franke <franke@computer.org>
35830
3a0fa256 35831 * util/i386/pc/grub-install.in: If `--debug' is specified,
35832 pass `--verbose' to grub-setup.
35833 Abort script if make_system_path_relative_to_its_root() fails.
35834
7810e747 358352008-07-24 Bean <bean123ch@gmail.com>
35836
35837 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35838 variable `target_platform' should be `platform'.
35839
42290e17 358402008-07-24 Bean <bean123ch@gmail.com>
35841
51cc5193 35842 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35843 (grub_png_init_fixed_block): New function.
35844 (grub_png_decode_image_data): Handle fixed huffman code compression.
35845
2a8a80e4 358462008-07-24 Bean <bean123ch@gmail.com>
35847
35848 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35849 (grub_pe2elf_SOURCES): New macro.
35850 (CLEANFILES): Add grub-pe2elf.
35851
35852 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35853 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35854 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35855 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35856 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35857 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35858 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35859 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35860 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35861 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35862 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35863 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35864 (GRUB_PE32_DT_FUNCTION): Likewise.
35865 (GRUB_PE32_REL_I386_DIR32): Likewise.
35866 (GRUB_PE32_REL_I386_REL32): Likewise.
35867 (grub_pe32_symbol): New structure.
35868 (grub_pe32_reloc): Likewise.
35869
35870 * util/grub-pe2elf.c: New file.
35871
35872 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35873 start symbol in non pc platform.
35874
35875 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35876
35877 The following patches are from Christian Franke.
35878
35879 * include/grub/dl.h: Remove .previous, gas supports this only
35880 for ELF format.
35881
35882 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35883 Remove .type, gas supports this only for ELF format.
35884
35885 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35886 nullbytes in symbol table. This fixes an infinite loop if table is
35887 zero filled.
35888
35889 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35890 TARGET_IMG_LDFLAGS and EXEEXT.
35891
35892 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35893 TARGET_IMG_LDFLAGS_AC.
35894 (grub_CHECK_STACK_ARG_PROBE): New function.
35895
35896 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35897
35898 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35899
35900 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35901 to set TARGET_IMG_LD* accordingly.
35902 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35903 Add call to grub_CHECK_STACK_ARG_PROBE.
35904 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35905
35906 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35907
35908 * genmk.rb: Add EXEEXT to CLEANFILES.
35909
12ccdb75 359102008-07-23 Robert Millan <rmh@aybabtu.com>
35911
35912 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35913 define the codes for arrows and lines used for the menu).
35914 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35915 as well.
35916
35917 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35918 fonts, because the latter are too slow.
35919
18eeaf04 359202008-07-21 Bean <bean123ch@gmail.com>
35921
35922 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35923 a20. Run keyboard test last, as it will cause macbook to halt.
35924
b095e2ad 359252008-07-18 Pavel Roskin <proski@gnu.org>
35926
35927 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35928 load foreign architecture modules correctly anyway. Keep
35929 support for loading host architecture modules, whether we
35930 compile them or not.
35931
737feb35 359322008-07-17 Pavel Roskin <proski@gnu.org>
35933
3f4ce737 35934 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35935 change target_cpu. The compiler default can mismatch target_cpu
35936 in any case.
35937
4ad2d049 35938 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35939 * kern/efi/efi.c: Likewise.
35940
f6130a12 35941 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35942 target compiler is functional.
35943 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35944 are set up.
35945
58393a2d 35946 * configure.ac: Default to efi platform for x86_64-apple. Allow
35947 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35948 adjustments from the rest, only do them if target is not
35949 explicitly given. Merge other adjustments with the final sanity
35950 check. Remove an extraneous check for supported CPU. Be
35951 specific which CPU and which platform is not supported.
35952
737feb35 35953 * configure.ac: Default to pc platform for x86_64.
35954
546f966a 359552008-07-17 Robert Millan <rmh@aybabtu.com>
35956
35957 Partial LinuxBIOS -> Coreboot rename.
35958
35959 * conf/i386-linuxbios.rmk: Renamed to ...
35960 * conf/i386-coreboot.rmk: ... this.
35961 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35962 * configure.ac: Accept "coreboot" as input platform (but maintain
35963 compatibility with "linuxbios").
35964 * include/grub/i386/linuxbios: Renamed to ...
35965 * include/grub/i386/coreboot: ... this.
35966
20011694 359672008-07-17 Bean <bean123ch@gmail.com>
35968
35969 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35970 (appleldr_mod_SOURCE): New variable.
20011694 35971 (appleldr_mod_CFLAGS): Likewise.
35972 (appleldr_mod_LDFLAGS): Likewise.
35973 (pci_mod_SOURCES): Likewise.
35974 (pci_mod_CFLAGS): Likewise.
35975 (pci_mod_LDFLAGS): Likewise.
35976 (lspci_mod_SOURCES): Likewise.
35977 (lspci_mod_CFLAGS): Likewise.
35978 (lspci_mod_LDFLAGS): Likewise.
35979
35980 * conf/x86_64-efi.rmk: New file.
35981
35982 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35983 macro.
35984 (grub_efidisk_write): Likewise.
35985
35986 * include/efi/api.h (efi_call_0): New macro.
35987 (efi_call_1): Likewise.
35988 (efi_call_2): Likewise.
35989 (efi_call_3): Likewise.
35990 (efi_call_4): Likewise.
35991 (efi_call_5): Likewise.
35992 (efi_call_6): Likewise.
35993
35994 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35995 grub_rescue_cmd_chainloader.
35996
35997 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35998 (grub_pe32_optional_header): Change some fields based on i386 or
35999 x86_64 platform.
36000 (GRUB_PE32_PE32_MAGIC): Likewise.
36001
36002 * include/grub/efi/uga_draw.h: New file.
36003
36004 * include/grub/elf.h (STN_ABS): New constant.
36005 (R_X86_64_NONE): Relocation constant for x86_64.
36006 (R_X86_64_64): Likewise.
36007 (R_X86_64_PC32): Likewise.
36008 (R_X86_64_GOT32): Likewise.
36009 (R_X86_64_PLT32): Likewise.
36010 (R_X86_64_COPY): Likewise.
36011 (R_X86_64_GLOB_DAT): Likewise.
36012 (R_X86_64_JUMP_SLOT): Likewise.
36013 (R_X86_64_RELATIVE): Likewise.
36014 (R_X86_64_GOTPCREL): Likewise.
36015 (R_X86_64_32): Likewise.
36016 (R_X86_64_32S): Likewise.
36017 (R_X86_64_16): Likewise.
36018 (R_X86_64_PC16): Likewise.
36019 (R_X86_64_8): Likewise.
36020 (R_X86_64_PC8): Likewise.
36021
36022 * include/grub/i386/efi/pci.h: New file.
36023
36024 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36025 Change it value based on platform.
36026 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36027 (GRUB_E820_RAM): Likewise.
36028 (GRUB_E820_RESERVED): Likewise.
36029 (GRUB_E820_ACPI): Likewise.
36030 (GRUB_E820_NVS): Likewise.
36031 (GRUB_E820_EXEC_CODE): Likewise.
36032 (GRUB_E820_MAX_ENTRY): Likewise.
36033 (grub_e820_mmap): New structure.
36034 (linux_kernel_header): Change the efi field according to different
36035 kernel version, also field from linux_kernel_header.
36036
36037 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36038
36039 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36040 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36041 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36042 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36043 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36044 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36045 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36046 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36047 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36048 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36049
36050 * include/grub/x86_64/efi/kernel.h: New file.
36051
36052 * include/grub/x86_64/efi/loader.h: Likewise.
36053
36054 * include/grub/x86_64/efi/machine.h: Likewise.
36055
36056 * include/grub/x86_64/efi/pci.h: Likewise.
36057
36058 * include/grub/x86_64/efi/time.h: Likewise.
36059
36060 * include/grub/x86_64/linux.h: Likewise.
36061
36062 * include/grub/x86_64/setjmp.h: Likewise.
36063
36064 * include/grub/x86_64/time.h: Likewise.
36065
36066 * include/grub/x86_64/types.h: Likewise.
36067
36068 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36069 GRUB_TARGET_SIZEOF_VOID_P.
36070
36071 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36072 (grub_efi_locate_handle): Likewise.
36073 (grub_efi_open_protocol): Likewise.
36074 (grub_efi_set_text_mode): Likewise.
36075 (grub_efi_stall): Likewise.
36076 (grub_exit): Likewise.
36077 (grub_reboot): Likewise.
36078 (grub_halt): Likewise.
36079 (grub_efi_exit_boot_services): Likewise.
36080 (grub_get_rtc): Likewise.
36081
36082 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36083 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36084 (grub_efi_allocate_pages): Wrap efi calls.
36085 (grub_efi_free_pages): Wrap efi calls.
36086 (grub_efi_get_memory_map): Wrap efi calls.
36087
36088 * kern/x86_64/dl.c: New file.
36089
36090 * kern/x86_64/efi/callwrap.S: Likewise.
36091
36092 * kern/x86_64/efi/startup.S: Likewise.
36093
36094 * loader/efi/appleloader.c: Likewise.
36095
36096 * loader/efi/chainloader.c (cmdline): New variable.
36097 (grub_chainloader_unload): Wrap efi calls.
36098 (grub_chainloader_boot): Likewise.
36099 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36100 command line.
36101
36102 * loader/efi/chainloader_normal.c (chainloader_command):
36103 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36104 command line.
36105
36106 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36107 method.
36108 (grub_e820_add_region): New function.
36109 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36110 booting.
36111 (grub_find_video_card): New function.
36112 (grub_linux_setup_video): New function.
36113 (grub_rescue_cmd_linux): Probe for video information.
36114
36115 * normal/x86_64/setjmp.S: New file.
36116
36117 * term/efi/console.c (map_char): New function.
36118 (grub_console_putchar): Map unicode char.
36119 (grub_console_checkkey): Wrap efi calls.
36120 (grub_console_getkey): Likewise.
36121 (grub_console_getwh): Likewise.
36122 (grub_console_gotoxy): Likewise.
36123 (grub_console_cls): Likewise.
36124 (grub_console_setcolorstate): Likewise.
36125 (grub_console_setcursor): Likewise.
36126
36127 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36128
59652a20 361292008-07-16 Pavel Roskin <proski@gnu.org>
36130
ef294055 36131 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36132 format strings.
36133
59652a20 36134 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36135 pointer, not an integer. This fixes a warning and prevents
36136 precision loss on 64-bit systems.
36137 (relocate_addresses): Remove unneeded cast.
36138
afc3b5d7 361392008-07-15 Pavel Roskin <proski@gnu.org>
36140
506b2b3e 36141 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36142
62ead89c 36143 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36144
c4cd51d7 36145 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36146 Fix comparison between signed and unsigned.
36147
0d3d8f28 36148 * include/grub/i386/ieee1275/console.h: Declare
36149 grub_console_init() and grub_console_fini().
36150
8804b286 36151 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36152 It's empty and unused.
36153
ee01cf35 36154 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36155 beginning to avoid warnings with some compilers.
36156
afc3b5d7 36157 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36158 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36159
e4e8eaa5 361602008-07-14 Pavel Roskin <proski@gnu.org>
36161
407aceb4 36162 * kern/env.c (grub_register_variable_hook): Don't copy empty
36163 string, it leaks memory. Pass "" to grub_env_set(), it should
36164 handle constant strings.
36165
e4e8eaa5 36166 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36167 * commands/cmp.c (grub_cmd_cmp): Likewise.
36168 * kern/dl.c (grub_dl_flush_cache): Likewise.
36169 (grub_dl_load_core): Likewise.
36170 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36171 (grub_elf64_load_phdrs): Likewise.
36172
d4e2dad3 361732008-07-13 Pavel Roskin <proski@gnu.org>
36174
36175 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36176 between signed and unsigned.
36177 (LzmaEnc_Finish): Fix warning about an unused parameter.
36178
aa24b516 361792008-07-13 Bean <bean123ch@gmail.com>
36180
36181 * Makefile.in (enable_lzo): New rule.
36182
36183 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36184
36185 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36186
36187 * boot/i386/pc/lnxboot.S: #include <config.h>.
36188
36189 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 36190 its value according to the compression algorithm used, lzo or lzma.
aa24b516 36191
36192 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36193 compression algorithm according to configure macro.
36194
36195 * kern/i386/pc/startup.S (codestart): Likewise.
36196
36197 * kern/i386/pc/lzma_decode.S: New file.
36198
36199 * include/grub/lib/LzFind.h: Likewise.
36200
36201 * include/grub/lib/LzHash.h: Likewise.
36202
36203 * include/grub/lib/LzmaDec.h: Likewise.
36204
36205 * include/grub/lib/LzmaEnc.h: Likewise.
36206
36207 * include/grub/lib/LzmaTypes.h: Likewise.
36208
36209 * lib/LzFind.c: Likewise.
36210
36211 * lib/LzmaDec.c: Likewise.
36212
36213 * lib/LzmaEnc.c: Likewise.
36214
4ae821ac 362152008-07-13 Bean <bean123ch@gmail.com>
36216
36217 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36218 (grub_ext4_extent_header): New structure.
36219 (grub_ext4_extent): Likewise.
36220 (grub_ext4_extent_idx): Likewise.
36221 (grub_ext4_find_leaf): New function.
36222 (grub_ext2_read_block): Handle extents.
36223
9a745147 362242008-07-12 Robert Millan <rmh@aybabtu.com>
36225
36226 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36227
d49a4cf6 362282008-07-11 Robert Millan <rmh@aybabtu.com>
36229
36230 * util/grub.d/40_custom.in: New file. Example on how to add custom
36231 entries to /etc/grub.d.
36232 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36233 40_custom (implicitly, by merging all the grub.d rules).
36234
947414b4 362352008-07-11 Pavel Roskin <proski@gnu.org>
36236
0059cf6f 36237 * commands/read.c (grub_getline): Fix invalid memory access.
36238 Don't add newline to the variable value.
36239
947414b4 36240 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36241 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36242 (serial_hw_get_port): Check validity of the port number.
36243 (grub_cmd_serial): Check return value of serial_hw_get_port().
36244
62a02d00 362452008-07-07 Pavel Roskin <proski@gnu.org>
36246
36247 * boot/i386/pc/diskboot.S (notification_string): Replace
36248 "Loading kernel" with just "loading". This is shorter, less
36249 confusing and saves a few bytes for possible future changes.
36250
3e5581b0 362512008-07-05 Pavel Roskin <proski@gnu.org>
36252
ea387a48 36253 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36254 size for ATAPI devices, they are undefined. Output sector
36255 number in decimal form.
36256
3e5581b0 36257 * disk/ata.c: Use named constants for status bits.
36258
fdecb8fd 362592008-07-04 Pavel Roskin <proski@gnu.org>
36260
bcd35b90 36261 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36262 grub_addr_t before casting it to the void pointer to fix a
36263 warning. Non-addressable regions are discarded earlier.
36264 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36265 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36266 (check_signature): Don't shadow table_header.
36267 (grub_linuxbios_table_iterate): Cast numeric constants to
36268 grub_linuxbios_table_header_t.
36269 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36270 grub_stop().
36271
af58ab3d 36272 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36273 prevent warnings.
36274
1759aa57 36275 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36276 pointer, which can cause warnings. Support 64-bit addresses.
36277
fdecb8fd 36278 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36279 of sizeof(long). This fixes PowerPC image generation on x86_64.
36280
8516d2a8 362812008-07-04 Robert Millan <rmh@aybabtu.com>
36282
36283 This fixes a performance issue when pc & gpt partmap iterators
36284 didn't abort iteration even after our hook found what it was
fe987087 36285 looking for (often causing expensive probes of non-existent drives).
8516d2a8 36286
36287 Some callers relied on previous buggy behaviour, since they would
34c44600 36288 raise an error when their own hooks caused early abortion of its
8516d2a8 36289 iteration.
36290
36291 * kern/device.c (grub_device_open): Improve error message.
36292 * disk/lvm.c (grub_lvm_open): Likewise.
36293 * disk/raid.c (grub_raid_open): Likewise.
36294
36295 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36296 when hook requests it, independently of grub_errno.
36297 (pc_partition_map_probe): Do not fail when find_func() caused
36298 early abortion of pc_partition_map_iterate().
36299
36300 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36301 when hook requests it, independently of grub_errno.
36302 (gpt_partition_map_probe): Do not fail when find_func() caused
36303 early abortion of gpt_partition_map_iterate().
36304
36305 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36306 when hook requests it, independently of grub_errno. Do not fail when
36307 part_map_iterate_hook() caused early abortion of p->iterate().
36308
36309 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36310 when grub_partition_iterate() returned with non-zero.
36311
277d0de9 363122008-07-03 Pavel Roskin <proski@gnu.org>
36313
36314 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36315 like we do in grub_ata_pio_read().
36316 (grub_ata_readwrite): Always write individual sectors. Fix the
36317 sector count for the remainder.
36318 (grub_ata_write): Enable writing to ATA devices. Correctly
36319 report error for ATAPI devices.
36320
d4c9b428 363212008-07-02 Pavel Roskin <proski@gnu.org>
36322
e43fc690 36323 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36324 warning.
36325
f707af42 36326 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36327 for every read sector, we already increment it for the whole
36328 batch. This fixes reading more than 256 sectors at once.
36329
11e16b15 36330 * util/grub-editenv.c (cmd_info): Cast argument to long
36331 explicitly. ptrdiff_t reduces to int on i386.
36332
cbabfdd4 36333 * util/grub-editenv.c (main): Be specific which parameter is
36334 missing.
36335
b8fbce0a 36336 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36337 (memdisk): Make memdisk_orig_addr a pointer.
36338
c9c8e606 36339 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36340 for file offsets, use grub_off_t instead. Fix printf format
36341 warnings.
36342
ca62e598 36343 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36344 there. Real unexpected warnings should not drown in the noise
36345 about known problems.
36346
ce8d1766 36347 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36348 grub_disk_addr_t for memory addresses.
36349
00c7a56a 36350 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36351 explicitly to fix a warning.
36352
08d3ef09 36353 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36354
cb71ba20 36355 * Makefile.in (MODULE_LDFLAGS): New variable.
36356 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36357 the linker accepts --build-id=none.
36358 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36359 MODULE_LDFLAGS.
36360 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36361
d4c9b428 36362 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36363 those in Linux XFS code. Provide a way to access 64-bit parent
36364 inode.
36365 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36366 the end of struct grub_xfs_dir_header.
36367
d4156eee 363682008-07-02 Bean <bean123ch@gmail.com>
36369
36370 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36371 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36372 and GRUB_IEEE1275_FLAG_NO_ANSI.
36373
36374 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36375 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36376 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36377
36378 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36379 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36380
36381 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36382 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36383
36384 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36385 esc sequence on non ANSI terminal.
36386 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36387
36388 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36389 beginning of file.
36390
2270f77b 363912008-07-02 Bean <bean123ch@gmail.com>
36392
36393 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36394 (grub_editenv_SOURCES): New variable.
36395 (pkglib_MODULES): Add loadenv.mod.
36396 (loadenv_mod_SOURCES): New variable.
36397 (loadenv_mod_CFLAGS): Likewise.
36398 (loadenv_mod_LDFLAGS): Likewise.
36399
36400 * include/grub/envblk.h: New file.
36401
36402 * util/envblk.c: New file.
36403
36404 * util/grub-editenv.c: New file.
36405
36406 * commands/loadenv.c: New file.
36407
0e9e51ec 364082008-07-01 Pavel Roskin <proski@gnu.org>
36409
d89b7634 36410 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36411 not unsigned char. This fixes warnings and is consistent with
36412 other tags.
36413
bf1835b1 36414 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36415
8222a04b 36416 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36417
6a42d99d 36418 * term/tparm.c (analyze): Always set *popcount.
36419
10b159d1 36420 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36421 cast to fix a warning.
36422
b8789f6c 36423 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36424 cast to suppress a warning.
36425
29d7e38a 36426 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36427 grub_fshelp_read_file() expects.
36428
f341f669 36429 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36430 write uuid as a 32-bit value in CPU byte order, so declare and
36431 use it as such.
36432
0e9e51ec 36433 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36434 long if the format specifier expects it.
36435 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36436 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36437 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36438 long to fix a warning.
36439 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36440 grub_dprintf() arguments to fix warnings.
36441
3aefa857 364422008-06-30 Pavel Roskin <proski@gnu.org>
36443
56c7668b 36444 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36445 install_bsd_part immediately before core.img is embedded or
36446 modified on disk. This fixes core.img verification if core.img
36447 cannot be embedded.
36448
3aefa857 36449 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36450 core_path to calculate the blocklist.
36451 Patch from Javier Martín <lordhabbit@gmail.com>
36452
5444088d 364532008-06-29 Robert Millan <rmh@aybabtu.com>
36454
36455 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36456 block to disk block.
36457 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36458 Patch from Niels Böhm <bitbucket@arcor.de>
36459
674835c8 364602008-06-29 Robert Millan <rmh@aybabtu.com>
36461
36462 * util/update-grub_lib.in (font_path): Search for fonts in
36463 /boot/grub first, which is more likely to be readable (we aren't
36464 deciding where fonts live, just looking for them).
36465
f527dbc8 364662008-06-26 Pavel Roskin <proski@gnu.org>
36467
6c2d8df6 36468 * util/biosdisk.c (read_device_map): Don't leave dead map
36469 entries for devices failing stat() check.
36470
f527dbc8 36471 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36472 core_path_dev for the core.img path on the target device.
36473
aebe3d13 364742008-06-26 Robert Millan <rmh@aybabtu.com>
36475
36476 * disk/fs_uuid.c: New file.
36477 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36478 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36479 (fs_uuid_mod_LDFLAGS): New variables.
36480 * include/grub/disk.h (grub_disk_dev_id): Add
36481 `GRUB_DISK_DEVICE_UUID_ID'.
36482 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36483 implement iterate().
36484
37aaf354 364852008-06-26 Robert Millan <rmh@aybabtu.com>
36486
36487 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36488 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36489 Linux image includes no initrd.
36490
25ff262a 364912008-06-21 Javier Martín <lordhabbit@gmail.com>
36492
36493 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36494 call to resolve the core image location that effectively appended the
36495 name twice.
36496
76a2bd44 364972008-06-21 Robert Millan <rmh@aybabtu.com>
36498
36499 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36500 call from here ...
36501
36502 * util/grub.d/10_hurd.in: ... to here ...
36503 * util/grub.d/10_linux.in: ... and here.
36504
650e1c79 365052008-06-19 Robert Millan <rmh@aybabtu.com>
36506
fe987087 36507 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36508 after it has been set by grub_machine_set_prefix().
36509
6ce63911 365102008-06-19 Robert Millan <rmh@aybabtu.com>
36511
36512 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36513 search result when not saving to variable, not the other way around.
36514 When saving to variable, abort iteration as soon as a match is found.
36515
73940cec 365162008-06-19 Robert Millan <rmh@aybabtu.com>
36517
36518 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36519 check for partition that provides /boot/grub. Its logic is flawed,
36520 as it prevents prepare_grub_to_access_device() from being called
36521 multiple times.
36522
3c62a39d 365232008-06-19 Robert Millan <rmh@aybabtu.com>
36524
36525 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36526 "insmod" command directly when abstraction modules are needed,
fe987087 36527 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36528 since it had already been processed).
36529
47395a42 365302008-06-19 Pavel Roskin <proski@gnu.org>
36531
36532 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36533 changed. This is needed in case GRUB_LIBDIR changes.
36534 * conf/i386-ieee1275.rmk: Likewise.
36535 * conf/i386-linuxbios.rmk: Likewise.
36536 * conf/i386-pc.rmk: Likewise.
36537 * conf/powerpc-ieee1275.rmk: Likewise.
36538
a145ac2d 365392008-06-18 Pavel Roskin <proski@gnu.org>
36540
36541 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36542 kernel_elf_symlist.c to symlist.c for consistency with other
36543 architectures. Update all users.
36544 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36545
7847c51e 365462008-06-18 Robert Millan <rmh@aybabtu.com>
36547
36548 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36549 it in prefix.
36550
36551 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36552 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36553 a RAID device, run setup() for all members independently on whether
36554 LVM abstraction is being used.
36555 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36556 If grub-mkimage has set `*install_dos_part == -2', don't override this
36557 value.
36558 Perform *install_dos_part adjustments independently on whether
36559 we're embedding or not.
36560 Clarify error message when image is too big for embedding.
36561 Remove duplicate *install_dos_part stanza.
36562
b23e5644 365632008-06-17 Robert Millan <rmh@aybabtu.com>
36564
36565 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36566 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36567 variables.
36568 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36569 values in grub_ofconsole_normal_color and
36570 grub_ofconsole_highlight_color (they're not directly related to
36571 background and foreground).
36572 (grub_ofconsole_setcolorstate): Extract background and foreground
36573 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36574
0aac2f79 365752008-06-17 Robert Millan <rmh@aybabtu.com>
36576
36577 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36578 /boot/grub for the check in last commit, not /boot (they could be
36579 different partitions).
36580
3cca7ef3 365812008-06-16 Robert Millan <rmh@aybabtu.com>
36582
36583 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36584 asked to setup access for the same partition that provides /boot,
36585 don't bother using UUIDs since our root already has the value we
36586 want.
36587
347396d8 365882008-06-16 Robert Millan <rmh@aybabtu.com>
36589
36590 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36591 I2O devices.
36592 Patch from Sven Mueller <sven@debian.org>.
36593
991477f8 365942008-06-16 Robert Millan <rmh@aybabtu.com>
36595
36596 * util/update-grub.in: Check for $EUID instead of $UID.
36597 Reported by Vincent Zweije.
36598
d31a32a1 365992008-06-16 Bean <bean123ch@gmail.com>
36600
fe987087 36601 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36602 (grub_ext2_read_block): Likewise.
36603 (grub_ext2_read_inode): Likewise.
36604 (grub_ext2_mount): Likewise.
36605 (grub_ext2_close): Likewise.
36606 (grub_ext3_get_journal): Removed.
36607
fe987087 36608 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36609 (grub_reiserfs_read_symlink): Likewise.
36610 (grub_reiserfs_mount): Likewise.
36611 (grub_reiserfs_open): Likewise.
36612 (grub_reiserfs_read): Likewise.
36613 (grub_reiserfs_close): Likewise.
36614 (grub_reiserfs_get_journal): Removed.
36615
36616 * fs/fshelp.c (grub_fshelp_read): Removed.
36617 (grub_fshelp_map_block): Likewise.
36618
36619 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36620 (grub_fshelp_journal): Likewise.
36621 (grub_fshelp_read): Likewise.
36622 (grub_fshelp_map_block): Likewise.
36623
3540a760 366242008-06-16 Pavel Roskin <proski@gnu.org>
36625
36626 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36627 floating point anymore.
36628 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36629
95614c84 366302008-06-15 Pavel Roskin <proski@gnu.org>
36631
36632 * commands/ls.c (grub_ls_list_files): Use integer calculations
36633 for human readable format, avoid floating point use.
36634 * kern/misc.c (grub_ftoa): Remove.
36635 (grub_vsprintf): Remove floating point support.
36636
50465dd6 366372008-06-15 Robert Millan <rmh@aybabtu.com>
36638
fe6b695a 36639 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36640 devices.
36641 Reported by Max Vozeler.
36642
a9207284 366432008-06-15 Robert Millan <rmh@aybabtu.com>
36644
36645 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36646 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36647 skipped later.
36648 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36649 the beginning of the prefix.
36650
36651 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36652 It is assumed that if we have a memdisk, grub-mkimage has set
36653 grub_prefix to include the "(memdisk)" drive in it.
36654
a7cbd45a 366552008-06-15 Robert Millan <rmh@aybabtu.com>
36656
36657 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36658 Initialize keyboard controller after registering the terminal, so that
36659 grub_printf() can be called from grub_keyboard_controller_init().
36660
21cf716a 366612008-06-15 Robert Millan <rmh@aybabtu.com>
36662
36663 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36664 extent-btree which is written as big endian on disk.
36665 Reported by Alain Greppin <al@chilibi.org>.
36666
23a64d8e 366672008-06-14 Robert Millan <rmh@aybabtu.com>
36668
36669 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36670 * util/i386/pc/grub-install.in (modules): Likewise.
36671
d687651c 366722008-06-13 Pavel Roskin <proski@gnu.org>
36673
36674 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36675
dfe9ddd4 366762008-06-13 Bean <bean123ch@gmail.com>
36677
36678 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36679
36680 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36681
36682 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36683 to indicate sparse block.
36684
16ae7781 366852008-06-12 Pavel Roskin <proski@gnu.org>
36686
e6d1a308 36687 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36688 number, grub_fshelp_read() does it for us.
36689
16ae7781 36690 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36691 linear disk read with journal translation.
36692 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36693 * include/grub/fshelp.h: Declare grub_fshelp_read().
36694
40fd3a2b 366952008-06-09 Pavel Roskin <proski@gnu.org>
36696
36697 * fs/minix.c (grub_minix_mount): Handle error reading
36698 superblock.
36699
f5679726 367002008-06-08 Robert Millan <rmh@aybabtu.com>
36701
36702 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36703 don't append the RAID prefix afterwards.
36704 Reported by Clint Adams.
36705
ce525529 367062008-06-08 Robert Millan <rmh@aybabtu.com>
36707
36708 Based on description from Pavel:
36709 * kern/disk.c (grub_disk_check_range): Rename to ...
36710 (grub_disk_adjust_range): ... this. Add a comment explaining the
36711 tasks performed by this function.
36712
ad4936a0 367132008-06-08 Robert Millan <rmh@aybabtu.com>
36714
36715 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36716 `num_serial' (for consistency with other variables).
36717 (struct grub_ntfs_data): Add `uuid' member.
36718 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36719 (grub_ntfs_uuid): New function.
36720 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36721
dc20b0f9 367222008-06-07 Pavel Roskin <proski@gnu.org>
36723
36724 * util/biosdisk.c (open_device): Revert last change to the
36725 function, it broke installation. The sector needs to be
36726 different dependent on which device is opened.
36727
c5e3cfba 367282008-06-06 Robert Millan <rmh@aybabtu.com>
36729
36730 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36731 rest of GRUB, and breakage doesn't happen if its value were modified.
36732
36733 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36734 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36735 a constant (same value).
36736 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36737 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36738
26a1f8c4 367392008-06-06 Robert Millan <rmh@aybabtu.com>
36740
36741 * util/biosdisk.c (open_device): Do not modify sector offset when
36742 accessing a partition. kern/disk.c already handles this for us.
36743
25d6b327 367442008-06-06 Robert Millan <rmh@aybabtu.com>
36745
36746 * util/grub-emu.c (grub_machine_init): Move code in this function from
36747 here ...
36748 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36749 segfault in case grub_printf() is called).
36750
36751 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36752 grub_probe. Update all users not to explicitly add it again.
36753 (grub_device): New variable; contains corresponding device for grubdir.
36754 (fs_module, partmap_module, devabstraction_module): Pass
36755 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36756 every time.
36757
9ece62fb 367582008-06-05 Robert Millan <rmh@aybabtu.com>
36759
36760 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36761 is found, print it (same layout as with labels).
36762
1ad36d37 367632008-06-04 Robert Millan <rmh@aybabtu.com>
36764
36765 * util/biosdisk.c (get_drive): Rename to ...
36766 (find_grub_drive): ... this. Update all users.
36767
36768 (get_os_disk): Rename to ...
36769 (convert_system_partition_to_system_disk): ... this. Update all users.
36770
36771 (find_drive): Rename to ...
36772 (find_system_device): ... this. Update all users.
36773
e6a30859 367742008-06-04 Robert Millan <rmh@aybabtu.com>
36775
36776 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36777 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36778 (make_device_map): Likewise.
36779
00c108a4 367802008-06-01 Robert Millan <rmh@aybabtu.com>
36781
36782 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36783 before dereferencing it.
36784
36785 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36786 union with fat12/fat16-specific ones. Add some new fields, including
36787 `num_serial' for both versions.
36788 (struct grub_fat_data): Add `uuid' member.
36789 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36790 names. Initialize `data->uuid' using `num_serial'.
36791 (grub_fat_uuid): New function.
36792 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36793
36794 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36795 (grub_reiserfs_uuid): New function.
36796 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36797 member.
36798
36799 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36800 (grub_xfs_uuid): New function.
36801 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36802
1385c5bb 368032008-06-01 Robert Millan <rmh@aybabtu.com>
36804
36805 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36806 code that is backward compatible with pre-uuid search command.
36807
c682dfd7 368082008-05-31 Robert Millan <rmh@aybabtu.com>
36809
36810 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36811 floppies after everything else, to ensure floppy drive isn't accessed
36812 unnecessarily (patch from Bean).
36813
b7db5d47 368142008-05-31 Robert Millan <rmh@aybabtu.com>
36815
36816 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36817 not print device names when we were asked to set a variable.
36818
6e037aa9 368192008-05-31 Robert Millan <rmh@aybabtu.com>
36820
36821 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36822 using "cursor-on" and "cursor-off" commands (understood at least by
36823 the Open Firmware flavour on OLPC).
36824
41305bc8 368252008-05-31 Michael Gorven <michael@gorven.za.net>
36826
36827 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36828 on and off sequences.
36829
69ba137e 368302008-05-31 Robert Millan <rmh@aybabtu.com>
36831
36832 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36833 * util/update-grub.in: Likewise.
36834
520ae21b 368352008-05-30 Pavel Roskin <proski@gnu.org>
36836
36837 * util/biosdisk.c (linux_find_partition): Simplify logic and
36838 make the code more universal. Keep special processing for
36839 devfs, but use a simple rule for all other devices. If the
36840 device ends with a number, append 'p' and the partition number.
36841 Otherwise, append only the partition number.
36842
5786569b 368432008-05-30 Robert Millan <rmh@aybabtu.com>
36844
36845 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36846 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36847 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36848 the `root' parameter to Linux.
36849
51500452 368502008-05-30 Robert Millan <rmh@aybabtu.com>
36851
36852 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36853 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36854 --fs_uuid with --fs-uuid.
36855 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36856 all filesystems support them).
36857
811d3878 368582008-05-30 Robert Millan <rmh@aybabtu.com>
36859
36860 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36861 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36862
cab63c95 368632008-05-30 Robert Millan <rmh@aybabtu.com>
36864
36865 * util/grub.d/00_header.in: Remove obsolete comment referencing
36866 convert_system_path_to_grub_path().
36867 * util/update-grub.in: Likewise.
36868 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36869 (convert_system_path_to_grub_path): Add a warning message explaining
36870 that this function is deprecated. Rely on is_path_readable_by_grub()
36871 for the readability checks.
36872 (font_path): Use is_path_readable_by_grub() for the readability
36873 check rather than convert_system_path_to_grub_path().
36874
972e2f7a 368752008-05-30 Robert Millan <rmh@aybabtu.com>
36876
36877 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36878 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36879 converting it first.
36880 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36881 grub.cfg for access to font file, and afterwards call it again to set
36882 the root device.
36883
62191274 368842008-05-30 Robert Millan <rmh@aybabtu.com>
36885
36886 * commands/search.c (options): Add --fs_uuid option.
36887 (search_fs_uuid): New function.
36888 (grub_cmd_search): Fix --set argument passing.
36889 Use search_fs_uuid() when requested via --fs_uuid.
36890 (grub_search_init): Update help message.
36891 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36892 and redeclare it as an array of 16-bit words.
36893 (grub_ext2_uuid): New function.
36894 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36895 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36896 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36897 (GRUB_DEVICE_BOOT_UUID): New variables.
36898 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36899 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36900 whenever possible.
36901 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36902 just assume `root' variable has the right value.
36903 * util/grub.d/10_linux.in: Likewise.
36904 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36905 via PRINT_FS_UUID.
36906 (main): Recognise `-t fs_uuid' argument.
36907
01b73ec8 369082008-05-30 Robert Millan <rmh@aybabtu.com>
36909
36910 * util/biosdisk.c (map): Redefine structure to hold information
36911 about GRUB drive name.
fe6b695a 36912 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36913 drive names.
36914 (call_hook): Remove.
36915 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36916 member. Assume drive has partitions.
36917 (grub_util_biosdisk_open): Access device names via `.device' struct
36918 member.
36919 (open_device): Likewise.
36920 (find_drive): Likewise.
36921 (read_device_map): Adjust map[] usage to match the new struct
36922 definition. Don't check for duplicates (still possible, but not cheap
36923 anymore).
36924 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36925 (make_device_name): Remove assumption of BIOS-like drive names.
36926
22f16596 369272008-05-30 Pavel Roskin <proski@gnu.org>
36928
36929 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36930 compiling execute.c doesn't need grub_script.tab.h anymore.
36931 (normal/command.c_DEPENDENCIES): Likewise.
36932 (normal/function.c_DEPENDENCIES): Likewise.
36933 * conf/i386-ieee1275.rmk: Likewise.
36934 * conf/i386-linuxbios.rmk: Likewise.
36935 * conf/i386-pc.rmk: Likewise.
36936 * conf/powerpc-ieee1275.rmk: Likewise.
36937 * conf/sparc64-ieee1275.rmk: Likewise.
36938
528ad8f2 369392008-05-29 Pavel Roskin <proski@gnu.org>
36940
d1dff95d 36941 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36942 when scanning metadata for volume group name.
36943
528ad8f2 36944 * include/grub/script.h: Don't include grub_script.tab.h. It's
36945 a generated file, which may only be included from the files with
36946 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36947 use union YYSTYPE, as the later allows forward declaration.
36948 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36949
47248e08 369502008-05-29 Robert Millan <rmh@aybabtu.com>
36951
36952 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36953 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36954 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36955 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36956 scan codes.
36957
ee632529 369582008-05-29 Robert Millan <rmh@aybabtu.com>
36959
36960 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36961 control key combinations.
36962
eee96e08 369632008-05-29 Robert Millan <rmh@aybabtu.com>
36964
36965 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36966 * util/ieee1275/grub-install.in: ... to here.
36967 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36968 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36969 (grub_install_SOURCES): Likewise.
36970
da9a6a94 369712008-05-29 Robert Millan <rmh@aybabtu.com>
36972
36973 * fs/affs.c: Update copyright year.
36974 * fs/ext2.c: Likewise.
36975 * fs/fshelp.c: Likewise.
36976 * fs/hfsplus.c: Likewise.
36977 * fs/ntfs.c: Likewise.
36978 * fs/xfs.c: Likewise.
36979 * include/grub/fshelp.h: Likewise.
36980 * util/grub-mkdevicemap.c: Likewise.
36981
12e65f3a 369822008-05-28 Robert Millan <rmh@aybabtu.com>
36983
36984 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36985 might need to be fatfs to support some firmware implementations
36986 (e.g. OFW or EFI).
36987
23023641 369882008-05-28 Robert Millan <rmh@aybabtu.com>
36989
36990 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36991 devices.
36992 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36993 (make_device_map): Likewise.
36994
887d2619 369952008-05-20 Bean <bean123ch@gmail.com>
36996
36997 * fs/fshelp.c (grub_fshelp_map_block): New function.
36998 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36999 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37000
37001 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37002 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37003 (grub_fshelp_journal): New structure.
37004 (grub_fshelp_map_block): New function prototype.
37005 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37006 (grub_fshelp_map_block): Likewise.
37007
37008 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37009 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37010 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37011 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37012 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37013 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37014 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37015 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37016 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37017 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37018 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37019 (grub_ext2_sblock): New members for journal support.
37020 (grub_ext3_journal_header): New structure.
37021 (grub_ext3_journal_revoke_header): Likewise.
37022 (grub_ext3_journal_block_tag): Likewise.
37023 (grub_ext3_journal_sblock): Likewise.
37024 (grub_fshelp_node): New members logfile and journal.
37025 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37026 grub_fshelp_map_block to get real block number.
37027 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37028 number.
37029 (grub_ext2_read_inode): Likewise.
37030 (grub_ext3_get_journal): New function.
37031 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37032 (grub_ext2_close): Release memory used by journal.
37033
37034 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37035 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37036 (grub_reiserfs_transaction_header): Renamed to
37037 grub_reiserfs_description_block, replace field data with real_blocks.
37038 (grub_reiserfs_commit_block): New structure.
37039 (grub_reiserfs_data): New member journal.
37040 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37041 number.
37042 (grub_reiserfs_read_symlink): Likewise.
37043 (grub_reiserfs_iterate_dir): Likewise.
37044 (grub_reiserfs_open): Likewise.
37045 (grub_reiserfs_read): Likewise.
37046 (grub_reiserfs_get_journal): New function.
37047 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37048 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37049 using grub_reiserfs_get_journal.
37050 (grub_reiserfs_close): Release memory used by journal.
37051
37052 * fs/affs.c (grub_affs_read_block): Change block type to
37053 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37054
37055 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37056
37057 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37058
37059 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37060
37061 * fs/udf.c (grub_udf_read_block): Change block type to
37062 grub_disk_addr_t. Use type cast to avoid warning.
37063
37064 * fs/xfs.c (grub_xfs_read_block): Likewise.
37065
b7c6bed5 370662008-05-16 Christian Franke <franke@computer.org>
37067
37068 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37069 to ensure that break with ESC will always work.
37070 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37071 Remove ESC from keyboard queue.
37072
eedf167f 370732008-05-16 Christian Franke <franke@computer.org>
37074
37075 * util/biosdisk.c: [__CYGWIN__] Add includes.
37076 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37077 (get_os_disk): Move variable declarations to OS specific
37078 parts to avoid warning.
37079 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37080 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37081 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37082 Cygwin.
37083 * util/getroot.c: [__CYGWIN__] Add includes.
37084 (strip_extra_slashes): Fix "/" case.
37085 [__CYGWIN__] (get_win32_path): New function.
37086 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37087 [__CYGWIN__] (find_root_device): Disable.
37088 [__CYGWIN__] (get_bootsec_serial): New function.
37089 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37090 [__linux__] (grub_guess_root_device): Add early returns to simplify
37091 structure.
37092 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37093 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37094 check for Linux only.
37095
a079699e 370962008-05-15 Bean <bean123ch@gmail.com>
37097
37098 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37099 keyboard hang problem in apple's intel mac.
37100
1cf4059a 371012008-05-09 Robert Millan <rmh@aybabtu.com>
37102
37103 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37104 devices.
37105 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37106 (make_device_map): Likewise.
37107 Reported by Aurelien Jarno <aurel32@debian.org>
37108
ed759390 371092008-05-07 Ian Campbell <ijc@hellion.org.uk>
37110
37111 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37112 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37113 (make_device_map): Output entries for xvd type disks.
37114
b56c4eaa 371152008-05-07 Robert Millan <rmh@aybabtu.com>
37116
37117 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37118 devices.
37119 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37120 (make_device_map): Likewise.
37121 Reported by Roland Dreier <rdreier@cisco.com>
37122
7f8866ed 371232008-05-07 Robert Millan <rmh@aybabtu.com>
37124
37125 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37126 grub_strstr() call. Correct a few mistakes in failure path handling.
37127
b0346e0f 371282008-05-06 Robert Millan <rmh@aybabtu.com>
37129
37130 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37131 Do not print a trailing slash (therefore, the root directory is an
37132 empty string).
37133 (convert_system_path_to_grub_path): Do not remove trailing slash
37134 from make_system_path_relative_to_its_root() output.
37135
37136 * util/i386/pc/grub-install.in: Add trailing slash to output from
37137 make_system_path_relative_to_its_root().
37138
6cf12cbd 371392008-05-06 Robert Millan <rmh@aybabtu.com>
37140
37141 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37142 ensures that output lines aren't intermangled with those sent to
37143 stderr (via grub_util_info()).
37144 * util/grub-probe.c (grub_refresh): Likewise.
37145 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37146
0fbb3117 371472008-05-05 Christian Franke <franke@computer.org>
37148
37149 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37150 Add Cygwin device names.
37151 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37152 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37153 (check_device): Return error instead of success on empty name.
37154 (make_device_map): Move label inside linux specific code to
37155 prevent compiler warning.
37156
8124cdb7 371572008-04-30 Robert Millan <rmh@aybabtu.com>
37158
37159 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37160 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37161 first boot option.
37162 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37163
094c01d0 371642008-04-29 Robert Millan <rmh@aybabtu.com>
37165
37166 * docs/grub.cfg: New file (example GRUB configuration).
37167
f4b1fc02 371682008-04-26 Robert Millan <rmh@aybabtu.com>
37169
329ce2a5 37170 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37171 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37172 and `disk/ieee1275/nand.c'.
f4b1fc02 37173
25f16ec1 371742008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 37175
25f16ec1 37176 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37177 i386-linuxbios.
37178
37179 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37180 change the buffer size to 4096 for cdrom device.
37181
37182 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37183 and nand.mod.
37184 (_linux_mod_SOURCES): New variable.
37185 (_linux_mod_CFLAGS): Likewise.
37186 (_linux_mod_LDFLAGS): Likewise.
37187 (linux_mod_SOURCES): Likewise.
37188 (linux_mod_CFLAGS): Likewise.
37189 (linux_mod_LDFLAGS): Likewise.
37190 (nand_mod_SOURCES): Likewise.
37191 (nand_mod_CFLAGS): Likewise.
37192 (nand_mod_LDFLAGS): Likewise.
37193
37194 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37195 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37196 type property. (nand device in olpc don't have this property)
37197
37198 * include/grub/disk.h (grub_disk_dev_id): New macro
37199 GRUB_DISK_DEVICE_NAND_ID.
37200
37201 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37202 function prototype.
37203 (grub_rescue_cmd_initrd): Likewise.
37204
37205 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37206 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37207 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 37208
25f16ec1 37209 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37210 GRUB_MACHINE_IEEE1275 is defined.
37211
37212 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37213 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37214
37215 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37216 on nested function heap_init.
37217 (grub_upper_mem): New variable for i386-ieee1275.
37218 (grub_get_extended_memory): New function for i386-ieee1275.
37219 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37220
37221 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37222 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37223 property.
f19dbdb7 37224
25f16ec1 37225 * loader/i386/ieee1275/linux.c: New file.
37226
37227 * loader/i386/ieee1275/linux_normal.c: New file.
37228
37229 * disk/ieee1275/nand.c: New file.
37230
e89d61e9 372312008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37232
37233 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37234 value.
37235 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37236
602566f6 372372008-04-18 Robert Millan <rmh@aybabtu.com>
37238
37239 Restructures early code path on ieee1275 to unify grub_main() as
37240 the first C function that is executed in every platform.
37241
37242 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37243 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37244 cmain().
37245 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37246 * kern/ieee1275/cmain.c (cmain): Rename to ...
37247 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37248 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37249 at the beginning.
37250
57490c2b 372512008-04-18 Robert Millan <rmh@aybabtu.com>
37252
37253 * util/update-grub.in: Fix syntax error when setting
37254 `GRUB_PRELOAD_MODULES'.
37255 Reported by Stephane Chazelas <stephane@artesyncp.com>
37256
1977517d 372572008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37258
37259 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37260 section into account, newer toolchains generate unique build ids
37261 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 37262 we want build ids to be preserved
1977517d 37263 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37264 far from other sections don't cause the raw binary images grow
37265 size
37266
bfb1f1a2 372672008-04-15 Robert Millan <rmh@aybabtu.com>
37268
37269 * disk/lvm.c: Update copyright year.
37270 * kern/misc.c: Likewise.
37271
01979850 372722008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37273
37274 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 37275 there is no memory left for physical volume name.
01979850 37276
0a1150e2 372772008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37278
37279 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37280 volume name mapping to support bigger than 9 character names properly.
37281
82ead3fe 372822008-04-13 Robert Millan <rmh@aybabtu.com>
37283
37284 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37285 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37286
e54a72f5 372872008-04-13 Christian Franke <franke@computer.org>
37288
37289 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37290 to create a floppy emulation boot CD when non emulation mode
37291 does not work.
37292 Enable Joliet CD filesystem extension.
37293
9fe86034 372942008-04-13 Robert Millan <rmh@aybabtu.com>
37295
37296 * kern/misc.c (grub_strncat): Fix off-by-one error.
37297 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37298
37299 * kern/env.c (grub_env_context_close): Clear current context, not
37300 previous one.
37301 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37302
37303 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37304
7ceeee39 373052008-04-13 Robert Millan <rmh@aybabtu.com>
37306
37307 Improve robustness when handling LVM.
37308
37309 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 37310 (and leave `*p' unmodified).
7ceeee39 37311 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37312 through it.
37313 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37314 iterating through it.
37315 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37316 through it.
fe6b695a 37317 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 37318 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37319 Don't assume `vg->pvs != NULL' when iterating through it.
37320
58cd3d85 373212008-04-13 Robert Millan <rmh@aybabtu.com>
37322
37323 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37324 * genmk.rb (partmap): New variable.
37325 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37326 (#{partmap}): New target rule.
37327 * genpartmaplist.sh: New file.
37328 * Makefile.in (pkglib_DATA): Add partmap.lst.
37329 (partmap.lst): New target rule.
37330 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37331 modules (including all partition maps), instead of preloading them.
37332
78b51059 373332007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37334
37335 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37336 `linux-boot-prober' (if installed) to detect other operating
37337 systems which are installed on the computer and add them to
37338 the boot menu.
37339 * conf/common.rmk: Build and install 30_os-prober.
37340
a91627b4 373412008-04-12 Robert Millan <rmh@aybabtu.com>
37342
37343 * kern/powerpc/ieee1275/init.c: Move from here ...
37344 * kern/ieee1275/init.c: ... to here. Update all users.
37345
37346 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37347 * kern/ieee1275/cmain.c: ... to here. Update all users.
37348
37349 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37350 * kern/ieee1275/openfw.c: ... to here. Update all users.
37351
37352 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37353 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37354
322562ea 373552008-04-10 Pavel Roskin <proski@gnu.org>
37356
37357 * configure.ac: Always use "_cv_" in cache variables for
37358 compatibility with Autoconf 2.62.
37359
a02a73c5 373602008-04-07 Robert Millan <rmh@aybabtu.com>
37361
37362 Revert grub/machine/init.h addition by Pavel (since it breaks on
37363 i386-ieee1275 and others):
37364 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37365 * util/powerpc/ieee1275/misc.c: Likewise.
37366
25c024b1 373672008-04-07 Robert Millan <rmh@aybabtu.com>
37368
37369 * util/grub-probe.c (probe): Improve error message.
37370
3cbd2f98 373712008-04-07 Robert Millan <rmh@aybabtu.com>
37372
37373 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37374 (this prevents the presence of a bogus entry from ruining the whole
37375 thing).
37376
87a297bf 373772008-04-06 Pavel Roskin <proski@gnu.org>
37378
36747a62 37379 * util/biosdisk.c: Include grub/util/biosdisk.h.
37380 * util/grub-fstest.c (execute_command): Make static.
37381 * util/grub-mkdevicemap.c (check_device): Likewise.
37382 * util/i386/pc/misc.c: Include grub/machine/init.h.
37383 * util/powerpc/ieee1275/misc.c: Likewise.
37384 * util/lvm.c: Include grub/util/lvm.h.
37385 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37386 grub/cache.h.
37387 * util/raid.c: Include grub/util/raid.h.
37388 (grub_util_getdiskname): Make static.
37389
87a297bf 37390 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37391 grub_hostfs_fini(), as they are called from grub_init_all() and
37392 grub_fini_all() respectively. This fixes an infinite loop in
37393 grub-fstest due to double registration of hostfs.
37394 Reported by Christian Franke <Christian.Franke@t-online.de>
37395
f6ce7629 373962008-04-05 Pavel Roskin <proski@gnu.org>
37397
37398 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37399 all 8 functions. Otherwise, probe function 0 only.
37400
070e49e4 374012008-04-04 Pavel Roskin <proski@gnu.org>
37402
8b088a4c 37403 * commands/lspci.c (grub_lspci_iter): Print the bus number
37404 correctly.
37405
4f657021 37406 * commands/lspci.c (grub_pci_classes): Fix typos.
37407 (grub_lspci_iter): Don't print func twice. Print vendor ID
37408 before device ID, as it's normally done.
37409
070e49e4 37410 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37411 Fix signedness warnings.
37412 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37413 Likewise.
37414 * util/ieee1275/get_disk_name.c: Include config.h so that
37415 _GNU_SOURCE is defined and getline() is declared. Mark an
37416 unused argument as such. Fix a signedness warning.
37417
ba7328dc 374182008-04-02 Pavel Roskin <proski@gnu.org>
37419
26887f22 37420 * genkernsyms.sh.in: Use more robust assignments for CC and
37421 srcdir. Quote srcdir.
37422 * gensymlist.sh.in: Likewise. Assert at the compile time that
37423 the symbol table is not empty.
37424
ba7328dc 37425 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37426 * fs/cpio.c (grub_cpio_read): Likewise.
37427
0f582c6b 374282008-04-01 Pavel Roskin <proski@gnu.org>
37429
4b6e1995 37430 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37431 * disk/host.c (grub_host_open): Likewise.
37432 * disk/loopback.c (grub_loopback_open): Likewise.
37433 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37434 disk->id as in disk/host.c, not a multi-character constant.
37435
828a2768 37436 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37437 later is obsolete, potentially dangerous and sets a bad example.
37438 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37439 * util/misc.c (grub_util_get_image_size): Likewise.
37440
2bb4fb47 37441 * disk/loopback.c (options): Improve help for "--partitions".
37442
0f582c6b 37443 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37444 options to align them with the short options, e.g. "echo -e".
37445
a33224e0 374462008-03-31 Bean <bean123ch@gmail.com>
37447
37448 * video/reader/png.c (grub_png_data): New member is_16bit and
37449 image_data.
37450 (grub_png_decode_image_header): Detect 16 bit png image.
37451 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37452 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37453 (grub_video_reader_png): Release memory occupied by image_data.
37454
37455 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37456 4096 bytes.
37457 (grub_nfs_mount): Skip the test for sector per cluster.
37458
37459 * include/grub/ntfs.h (MAX_SPC): Removed.
37460
86cb4f54 374612008-03-31 Bean <bean123ch@gmail.com>
37462
37463 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37464 (grub_probe_SOURCES): Add fs/afs.c.
37465 (grub_fstest_SOURCES): Likewise.
37466 (afs_mod_SOURCES): New variable.
37467 (afs_mod_CFLAGS): Likewise.
37468 (afs_mod_LDFLAGS): Likewise.
37469
37470 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37471 (grub_emu_SOURCES): Likewise.
37472
37473 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37474
37475 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37476
37477 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37478
37479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37480
37481 * fs/afs.c: New file.
37482
17c74c21 374832008-03-30 Pavel Roskin <proski@gnu.org>
37484
4cb68e89 37485 * disk/host.c: Include grub/misc.h to fix a warning.
37486 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37487 warnings about implicit declarations.
37488
8790bb04 37489 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37490 variable.
37491 * include/grub/i386/loader.h: Change declaration of
37492 grub_linux_boot() to match what grub_loader_set() expects.
37493 * util/getroot.c (grub_guess_root_device): Return const char* to
37494 fix a warning.
37495 * util/grub-probe.c (probe): Fix a warning about uninitialized
37496 abstraction_name variable.
37497 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37498 second argument as unused to fix a warning.
37499
9a3f3296 37500 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37501 missing grub_error() call.
37502
0ecef90d 37503 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37504 2.60 and newer uses it to define datadir.
37505
0bf6d401 37506 * commands/sleep.c: Fix warning about implicit declaration.
37507 * disk/memdisk.c: Likewise.
37508 * loader/aout.c: Likewise.
37509 * loader/i386/bsd_normal.c: Likewise.
37510 * util/grub-probe.c: Likewise.
37511
7cdacf97 37512 * commands/i386/cpuid.c (has_longmode): Make static.
37513 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37514 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37515
17c74c21 37516 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37517 GDT. This is more robust, as %ds can change.
37518 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37519 calling real_to_prot().
37520 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37521
80a3e68b 375222008-03-28 Pavel Roskin <proski@gnu.org>
37523
37524 * kern/i386/pc/startup.S: Assert that uncompressed functions
37525 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37526 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37527 code, as they push parts of the code (error handlers) beyond
37528 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37529 code as correctness and size.
37530
77bcd272 375312008-03-28 Pavel Roskin <proski@gnu.org>
37532
37533 * kern/i386/pc/startup.S
37534 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37535 data block address to the real mode, keep offset minimal. This
37536 works around a bug in AWARD BIOS on old Athlon systems, which
37537 makes CD detection hang.
37538
c5dfd43b 375392008-03-26 Pavel Roskin <proski@gnu.org>
37540
37541 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37542 const.
37543 * include/grub/normal.h: Add grub_parse_color_name_pair()
37544 declaration.
37545
bf962df2 375462008-03-24 Bean <bean123ch@gmail.com>
37547
37548 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37549 (cd_count): Removed.
37550 (cd_drive): New variable.
37551 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37552 (grub_biosdisk_call_hook): Likewise.
37553 (grub_biosdisk_iterate): Change cdrom detection method.
37554 (grub_biosdisk_open): Replace cd_start with cd_drive.
37555 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37556 detect cdrom device.
37557
37558 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37559 Removed.
37560 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37561 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37562 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37563 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37564 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37565 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37566 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37567 (grub_biosdisk_cdrp): New structure.
37568 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37569
37570 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37571
37572 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37573 device.
37574
37575 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37576 New function.
37577
68e7fc7a 375782008-03-20 Robert Millan <rmh@aybabtu.com>
37579
37580 Remove 2 TiB limit in ata.mod.
37581 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37582 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37583 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37584 grub_uint64_t instead of grub_uint32_t.
37585
38ad2cf5 375862008-03-05 Bean <bean123ch@gmail.com>
37587
37588 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37589 (grub_multiboot): Set boot device.
37590
37591 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37592
2b89344e 375932008-03-02 Bean <bean123ch@gmail.com>
37594
37595 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37596 symlink_buffer.
37597
87a95d1f 375982008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37599
37600 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37601 texinfo.tex.
37602
37603 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37604 modified.
37605
37606 * docs/fdl.texi: New file.
f19dbdb7 37607
87a95d1f 37608 * docs/mdate-sh: New file. Copied from gnulib.
37609 * docs/texinfo.tex: Likewise.
37610
37611 * config.guess: Updated from gnulib.
37612 * install-sh: Likewise.
37613
7dc15d8e 376142008-02-28 Robert Millan <rmh@aybabtu.com>
37615
37616 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37617 (aout_mod_SOURCES): New variable.
37618 (aout_mod_CFLAGS): Likewise.
37619 (aout_mod_LDFLAGS): Likewise.
37620
37621 * conf/i386-ieee1275.rmk: Likewise.
37622
b00ab696 376232008-02-28 Robert Millan <rmh@aybabtu.com>
37624
37625 * util/update-grub.in: Reorganise terminal validity check. Accept
37626 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37627 Based on suggestion by Franklin PIAT.
37628
79ca2d78 376292008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37630
37631 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37632 function.
37633 * util/getroot.c (grub_util_check_block_device): New function that
37634 returns the given argument if it is a block device and returns NULL else.
37635 * util/grub-probe.c (argument_is_device): New variable.
37636 (probe): Promote device_name from a variable to an argument. Receive
37637 device_name from grub_util_check_block_device() if path is NULL and from
37638 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37639 (options): Introduce new parameter '-d, --device'.
79ca2d78 37640 (main): Add description of the new parameter to the help screen.
37641 Rename path variable to argument. Set argument_is_device if the '-d'
37642 option is given. Pass argument to probe() depending on
37643 argument_is_device.
37644
0d16e571 376452008-02-24 Bean <bean123ch@gmail.com>
37646
37647 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37648 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37649 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37650 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37651 (GRUB_ISO9660_VOLDESC_END): Likewise.
37652 (grub_iso9660_primary_voldesc): New member escape.
37653 (grub_iso9660_data): New member joliet.
37654 (grub_iso9660_convert_string): New function.
37655 (grub_iso9660_mount): Detect joliet extension.
37656 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37657 (grub_iso9660_iso9660_label): Likewise.
37658
37659 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37660 (grub_setup_SOURCES): Add fs/udf.c.
37661 (grub_fstest_SOURCES): Likewise.
37662 (udf_mod_SOURCES): New variable.
37663 (udf_mod_CFLAGS): Likewise.
37664 (udf_mod_LDFLAGS): Likewise.
37665
37666 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37667 (grub_emu_SOURCES): Likewise.
37668
37669 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37670
37671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37672
37673 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37674
37675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37676
37677 * fs/udf.c: New file.
37678
8a594a17 376792008-02-24 Robert Millan <rmh@aybabtu.com>
37680
37681 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37682 (normal/lexer.c_DEPENDENCIES): New variables.
37683 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37684 (normal/lexer.c_DEPENDENCIES): Likewise.
37685 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37686 (normal/lexer.c_DEPENDENCIES): Likewise.
37687 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37688 (normal/lexer.c_DEPENDENCIES): Likewise.
37689 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37690 (normal/lexer.c_DEPENDENCIES): Likewise.
37691 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37692 (normal/lexer.c_DEPENDENCIES): Likewise.
37693
2dc33c03 376942008-02-23 Robert Millan <rmh@aybabtu.com>
37695
37696 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37697 since they were intended to be in hex. This didn't break previously
37698 because of a bug in gpt_partition_map_iterate() (see below).
37699
37700 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37701 when checking the validity of GPT header.
37702 Remove `partno', since it always provides the same information as `i'.
37703
f6f4cfb0 377042008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37705
37706 * include/grub/efi/time.h: Fix a wrong comment.
37707
79ff665f 377082008-02-19 Pavel Roskin <proski@gnu.org>
37709
37710 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37711 message.
37712
d38e24c2 377132008-02-19 Bean <bean123ch@gmail.com>
37714
37715 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37716 (aout_mod_SOURCES): New variable.
37717 (aout_mod_CFLAGS): Likewise.
37718 (aout_mod_LDFLAGS): Likewise.
37719 (_bsd_mod_SOURCES): New variable.
37720 (_bsd_mod_CFLAGS): Likewise.
37721 (_bsd_mod_LDFLAGS): Likewise.
37722 (bsd_mod_SOURCES): New variable.
37723 (bsd_mod_CFLAGS): Likewise.
37724 (bsd_mod_LDFLAGS): Likewise.
37725
37726 * include/grub/aout.h: New file.
37727
37728 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37729
37730 * include/grub/i386/bsd.h: New file.
37731
37732 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37733 to make it public.
37734
37735 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37736 function is called, so that it's possible to change it inside the hook.
37737 (grub_elf64_load): Likewise.
37738 (grub_elf_file): Don't close the file if elf header is not found.
37739 (grub_elf_close): Close the file if grub_elf_file fails (The new
37740 grub_elf_file won't close it).
37741 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37742 (grub_elf64_size): Likewise.
37743
37744 * kern/i386/loader.S (grub_unix_real_boot): New function.
37745
37746 * loader/aout.c: New file.
37747
37748 * loader/i386/bsd.c: New file.
37749
37750 * loader/i386/bsd_normal.c: New file.
37751
37752 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37753
37754 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37755 can test other formats.
d38e24c2 37756
b93bdb0f 377572008-02-19 Robert Millan <rmh@aybabtu.com>
37758
37759 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37760 (grub_gpt_partition_type_empty): Redefine with macro from
37761 `<grub/gpt_partition.h>'.
37762 (gpt_partition_map_iterate): Adjust partition type comparison.
37763
37764 Export `entry' as partmap-specific `part.data' struct.
37765 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37766
37767 * include/grub/gpt_partition.h (grub_gpt_header)
37768 (grub_gpt_partentry): ... to here (new file).
37769
37770 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37771
37772 (grub_gpt_partition_type_bios_boot): New const variable, defined
37773 with macro from `<grub/gpt_partition.h>'.
37774
37775 (setup): Replace `first_start' with `embed_region', which keeps
37776 track of the embed region (and is partmap-agnostic).
37777
37778 Replace find_first_partition_start() with find_usable_region(),
37779 which finds a usable region for embedding using partmap-specific
37780 knowledge (supports PC/MSDOS and GPT).
37781
37782 Fix all assumptions that the embed region start at sector 1, using
37783 `embed_region.start' from now on. Similarly, use `embed_region.end'
37784 rather than `first_start' to calculate available size.
37785
37786 In grub_util_info() message, replace "into after the MBR" with an
37787 indication of the specific sector our embed region starts at.
37788
66cb40f6 377892008-02-19 Robert Millan <rmh@aybabtu.com>
37790
37791 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37792 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37793 `commands/reboot.c'.
37794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37795 (halt_mod_SOURCES): Likewise.
37796 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37797 (halt_mod_SOURCES): Likewise.
37798
b7202015 377992008-02-17 Christian Franke <franke@computer.org>
37800
37801 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37802
32b0fc49 378032008-02-17 Robert Millan <rmh@aybabtu.com>
37804
37805 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37806 set `first_start' to 0 for non-PC/MSDOS partition maps.
37807
aca63502 378082008-02-16 Robert Millan <rmh@aybabtu.com>
37809
37810 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37811 do not assume partition map is PC/MSDOS before performing checks that
37812 are specific to that layout.
37813
0de8be86 378142008-02-13 Robert Millan <rmh@aybabtu.com>
37815
37816 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37817 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37818 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37819
c3db8364 378202008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37821
37822 * configure.ac: Only a cosmetic change on the handling of
37823 -fno-stack-protector.
37824
f714229e 378252008-02-12 Alexandre Boeglin <alex@boeglin.org>
37826
c3db8364 37827 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37828 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37829 reboot.c.
f714229e 37830 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37831 (halt_mod_SOURCES): New variable.
37832 (halt_mod_CFLAGS): Likewise.
37833 (halt_mod_LDFLAGS): Likewise.
37834 (reboot_mod_SOURCES): Likewise.
37835 (reboot_mod_CFLAGS): Likewise.
37836 (reboot_mod_LDFLAGS): Likewise.
37837
c3db8364 37838 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37839 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37840 reboot.c.
f714229e 37841 (halt_mod_SOURCES): Likewise.
37842 (reboot_mod_SOURCES): Likewise.
37843
c3db8364 37844 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37845 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37846 (reboot_mod_SOURCES): Likewise.
37847
37848 * commands/i386/pc/reboot.c: merge this file ...
37849
37850 * commands/ieee1275/reboot.c: ... and this file ...
37851
37852 * commands/reboot.c: ... to this file.
c3db8364 37853 Add some precompiler directive to include the correct header for
37854 each machine.
f714229e 37855
37856 * commands/ieee1275/halt.c: move this file ...
37857
37858 * commands/halt.c: ... to here.
c3db8364 37859 Add some precompiler directive to include the correct header for
37860 each machine.
f714229e 37861
37862 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37863 (grub_halt): Likewise.
37864
37865 * kern/efi/efi.c (grub_reboot): New function.
37866 (grub_halt): Likewise.
37867
c74493e0 378682008-02-12 Robert Millan <rmh@aybabtu.com>
37869
37870 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37871 /dev (like it is done for /dev/mapper). This doesn't provide support
37872 for EVMS, but at least it is now easy to identify the problem when it
37873 arises.
37874
d0db4b04 378752008-02-11 Robert Millan <rmh@aybabtu.com>
37876
37877 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37878 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37879 comparing it with -1, not 0.
37880
bf748642 378812008-02-10 Robert Millan <rmh@aybabtu.com>
37882
37883 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37884 `disk/lvm.c'.
37885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37886 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37887
37888 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37889 `disk/lvm.c' to the end of the list.
37890 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37891 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37892
b5db202a 378932008-02-10 Robert Millan <rmh@aybabtu.com>
37894
37895 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37896 grub_print_error() instead. This will let user know why we're entering
37897 rescue mode.
37898 Based on suggestions from Sam Morris.
37899
83abee31 379002008-02-10 Alexandre Boeglin <alex@boeglin.org>
37901
37902 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37903 on remaining N args, instead of "--" arg N times.
37904
78d5a08b 379052008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37906
37907 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37908 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37909 pattern for unknown glyphs.
37910
68807e5f 379112008-02-09 Robert Millan <rmh@aybabtu.com>
37912
37913 * configure.ac: Probe for `help2man'.
37914 * Makefile.in (builddir): New variable.
37915 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37916 or otherwise add a few flags/options to it.
37917 (install-local): For every executable utility or script that is
37918 installed, invoke $(HELP2MAN) to install a manpage based on --help
37919 output.
37920
37921 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37922 that it doesn't prevent --help from working in build tree.
37923
37924 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37925 with `bug-grub@gnu.org'.
37926 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37927 * util/update-grub.in (usage): New function.
37928 Implement proper argument check, with support for --help and --version
37929 (as well as existing -y).
37930
379312008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37932
37933 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37934 avoid overwriting previous output.
37935 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37936
c1962162 379372008-02-09 Robert Millan <rmh@aybabtu.com>
37938
37939 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37940 drawing the menu.
37941
3dac2e3f 379422008-02-09 Robert Millan <rmh@aybabtu.com>
37943
37944 * commands/sleep.c: New file.
37945 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37946 (sleep_mod_SOURCES): New variable.
37947 (sleep_mod_CFLAGS): Likewise.
37948 (sleep_mod_LDFLAGS): Likewise.
37949
7a634e08 379502008-02-09 Robert Millan <rmh@aybabtu.com>
37951
37952 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37953 situations in which we can deduce the RAID size and the superblock
37954 doesn't match it.
37955
b92f0c18 379562008-02-09 Robert Millan <rmh@aybabtu.com>
37957
37958 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37959 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37960 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37961
37962 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37963 and return a grub_diskmemberlist_t composed of physical array members.
37964 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37965
37966 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37967 prototype.
37968 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37969 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37970 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37971
37972 * util/grub-probe.c (probe): Move partmap probing code from here ...
37973 (probe_partmap): ... to here.
37974 (probe): Use probe_partmap() once for the disk we're probing, and
37975 additionally, when such disk contains a memberlist() struct member,
37976 once for each disk that is contained in the structure returned by
37977 memberlist().
37978
91a4bf68 379792008-02-09 Robert Millan <rmh@aybabtu.com>
37980
37981 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37982 environment variable to 'all' in order to obtain debug output from
37983 non-util/ code.
37984 * util/i386/pc/grub-setup.c (main): Likewise.
37985
a96f9caa 379862008-02-08 Robert Millan <rmh@aybabtu.com>
37987
37988 * disk/raid.c (grub_raid_scan_device): Check for
37989 `array->device[sb.this_disk.number]' rather than for
37990 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37991 guaranteed to be accessible.
a96f9caa 37992
b37a9222 379932008-02-08 Robert Millan <rmh@aybabtu.com>
37994
37995 * disk/raid.c: Update copyright.
37996 * fs/cpio.c: Likewise.
37997 * include/grub/raid.h: Likewise.
37998 * loader/i386/pc/multiboot.c: Likewise.
37999 * util/hostfs.c: Likewise.
38000
5626aee1 380012008-02-08 Robert Millan <rmh@aybabtu.com>
38002
38003 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38004 to a grub_disk_t array.
38005 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38006 `device[x]'.
38007 (grub_raid_scan_device): Replace `device[x].name' accesses with
38008 `device[x]->name'. Simplify initialization of `array->device[x]'.
38009
554f0187 380102008-02-08 Robert Millan <rmh@aybabtu.com>
38011
38012 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38013 grub_dprintf() calls.
38014 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38015 error message.
38016
1ec8425d 380172008-02-07 Christian Franke <franke@computer.org>
38018
38019 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38020 instead of fseek and ftell to support large files.
38021 (grub_hostfs_read): Likewise.
38022
f2156fda 380232008-02-07 Robert Millan <rmh@aybabtu.com>
38024
38025 Patch from Jeroen Dekkers.
38026 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 38027 failure, since successfully reading all array members might not be
f2156fda 38028 required.
38029
9216e0e7 380302008-02-06 Robert Millan <rmh@aybabtu.com>
38031
38032 * util/grub-probe.c (probe): Simplify partmap probing (with the
38033 assumption that the first word up to the underscore equals to
38034 the module name).
38035
b0dfd29a 380362008-02-06 Christian Franke <franke@computer.org>
38037
38038 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38039 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38040 last block of a cpio or tar stream.
38041 Check for "TRAILER!!!" instead of any empty data
38042 block to detect last block of a cpio stream.
38043 (grub_cpio_dir): Fix constness of variable np.
38044 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38045 cpio or tar trailer is detected. This fixes a crash
38046 on open of a non existing file.
38047
c32865bf 380482008-02-05 Bean <bean123ch@gmail.com>
38049
38050 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38051 address of entry.
38052 (grub_multiboot_load_elf64): Likewise.
38053 (grub_multiboot): Initialize mbi structure.
38054
38055 * util/grub-fstest.c: Don't include unused header file script.h.
38056
fe6b695a 38057 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 38058 of file.
38059 (grub_fstest_SOURCES): Likewise.
38060
409480b7 380612008-02-05 Robert Millan <rmh@aybabtu.com>
38062
38063 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38064 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38065 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38066 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38067
38068 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38069 (translation_table): Replace hardcoded values with macros
38070 provided by `<grub/term.h>'.
38071
38072 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38073 (keyboard_map): Correct/add a few values, with macros provided
38074 by `<grub/term.h>'.
38075 (keyboard_map_shift): Zero values that don't differ from their
38076 `keyboard_map' equivalents.
38077 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38078 Discard the second scan code that is always sent by Caps lock.
38079 Only use `keyboard_map_shift' when it provides a non-zero value,
38080 otherwise fallback to `keyboard_map'.
38081
99fadbaa 380822008-02-04 Bean <bean123ch@gmail.com>
38083
38084 * Makefile.in (enable_grub_fstest): New variable.
38085
38086 * conf/common.rmk (grub_fstest_init.lst): New rule.
38087 (grub_fstest_init.h): Likewise.
38088 (grub_fstest_init.c): Likewise.
38089 (util/grub-fstest.c_DEPENDENCIES): New variable.
38090 (grub_fstest_SOURCES): Likewise.
38091
38092 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38093
38094 * util/grub-fstest.c: New file.
38095
bf567c50 380962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38097
38098 Make grub-setup handle a separate root device.
f19dbdb7 38099
bf567c50 38100 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38101 so that the root device can be compared with the destination
38102 device.
38103 When embedding the core image, if the root and destination devices
38104 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38105 0xFF.
38106 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 38107
9be6b98b 381082008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38109
38110 Add support for having a grub directory in a different drive. This
38111 is still only the data handling part.
f19dbdb7 38112
9be6b98b 38113 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38114 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38115 (grub_root_drive): New variable.
38116
38117 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38118 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38119 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38120 as it was.
38121
38122 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38123
38124 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38125 macro.
38126 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38127
38128 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38129 is bogus, because PXE booting does not specify any drive
38130 correctly.
38131
38132 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38133 am not sure if this is really correct.
38134
38135 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38136 is always identical to the boot drive when booting from a CD.
38137
38138 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38139 longer.
38140 (root_drive): New variable.
38141 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38142 (setup_sectors): Push %dx right after popping it, because %dh will
38143 be modified later.
38144 (copy_buffer): Restore %dx.
38145
e0ca0677 381462008-02-03 Robert Millan <rmh@aybabtu.com>
38147
38148 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38149 use `cdboot.img' for cdrom images.
38150
3b3f6629 381512008-02-03 Robert Millan <rmh@aybabtu.com>
38152
38153 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38154 only setup gfxterm when `font' command has succeeded.
38155
d42b3672 381562008-02-03 Robert Millan <rmh@aybabtu.com>
38157
38158 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38159 (grub_rescue_cmd_multiboot_loader)
38160 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38161
fa370ea6 381622008-02-03 Pavel Roskin <proski@gnu.org>
38163
e0c5dacb 38164 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 38165 %edx and %esi from stack only after grub_gate_a20() is called.
38166 grub_gate_a20() clobbers %edx.
38167
f2a76e1d 381682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38169
38170 * configure.ac (AC_INIT): Bumped to 1.96.
38171
38172 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38173 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38174 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38175 video/readers/png.c.
38176
90fd32d1 381772008-02-03 Bean <bean123ch@gmail.com>
9be665dd 38178
38179 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38180 (cdboot_img_SOURCES): New variable.
38181 (cdboot_img_ASFLAGS): New variable.
38182 (cdboot_img_LDFLAGS): New variable.
38183
38184 * boot/i386/pc/cdboot.S: New file.
38185
38186 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38187 (cd_count): Likewise.
38188 (grub_biosdisk_get_drive): Add support for cd device.
38189 (grub_biosdisk_call_hook): Likewise.
38190 (grub_biosdisk_iterate): Likewise.
38191 (grub_biosdisk_open): Likewise.
38192 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38193 (grub_biosdisk_rw): Support reading from cd device.
38194 (GRUB_MOD_INIT): Iterate cd devices.
38195
38196 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38197 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38198 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38199
38200 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38201
4020aa53 382022008-02-02 Robert Millan <rmh@aybabtu.com>
38203
38204 * commands/read.c: New file.
38205 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38206 (read_mod_SOURCES): New variable.
38207 (read_mod_CFLAGS): Likewise.
38208 (read_mod_LDFLAGS): Likewise.
38209
e03a1132 382102008-02-02 Robert Millan <rmh@aybabtu.com>
38211
38212 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38213 determining whether menu has to be displayed.
38214
58c69220 382152008-02-02 Marco Gerards <marco@gnu.org>
38216
38217 * bus/pci.c: New file.
38218
38219 * include/grub/pci.h: Likewise.
38220
38221 * include/grub/i386/pc/pci.h: Likewise.
38222
38223 * commands/lspci.c: Likewise.
38224
38225 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38226 `lspci.mod'.
38227 (pci_mod_SOURCES): New variable.
38228 (pci_mod_CFLAGS): Likewise.
38229 (pci_mod_LDFLAGS): Likewise.
38230 (lspci_mod_SOURCES): Likewise.
38231 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 38232 (lspci_mod_LDFLAGS): Likewise.
58c69220 38233
c004e1b4 382342008-02-02 Bean <bean123ch@gmail.com>
38235
38236 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38237 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38238
38239 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38240 (grub_xfs_btree_node): New structure.
38241 (grub_xfs_btree_root): New structure.
38242 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38243 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38244 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38245 (GRUB_XFS_EXTENT_SIZE): Likewise.
38246 (grub_xfs_read_block): Support btree format type.
38247 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38248 Use directory block as basic unit.
38249
38250 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38251
38252 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38253 __attribute__ ((__regparm__ (1))).
38254
f95562bf 382552008-02-01 Robert Millan <rmh@aybabtu.com>
38256
38257 Correct a mistake in previous commit.
38258
38259 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38260 top.
38261 (normal/command.c_DEPENDENCIES): New variable.
38262
7d31f41f 382632008-02-01 Robert Millan <rmh@aybabtu.com>
38264
38265 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38266 top.
38267 (normal/command.c_DEPENDENCIES): New variable.
38268 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38269 * conf/i386-ieee1275.rmk: Likewise.
38270 * conf/i386-linuxbios.rmk: Likewise.
38271 * conf/i386-pc.rmk: Likewise.
38272 * conf/sparc64-ieee1275.rmk: Likewise.
38273 * conf/powerpc-ieee1275.rmk: Likewise.
38274 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38275
38276 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38277
60b6be74 382782008-02-01 Robert Millan <rmh@aybabtu.com>
38279
38280 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38281 call at beginning of function.
38282
078522ab 382832008-01-31 Pavel Roskin <proski@gnu.org>
38284
38285 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 38286 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38287 (grub_mkrescue_SOURCES): Likewise.
078522ab 38288 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38289
ccaa8a5f 382902008-01-30 Robert Millan <rmh@aybabtu.com>
38291
38292 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38293 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38294 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38295 (grub_probe_SOURCES): ... to here.
38296
38297 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38298 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38299 * conf/i386-ieee1275.rmk: Likewise.
38300 * conf/i386-linuxbios.rmk: Likewise.
38301 * conf/powerpc-ieee1275.rmk: Likewise.
38302
ae5a9cd7 383032008-01-30 Tristan Gingold <gingold@free.fr>
38304
38305 * kern/rescue.c: Silently accept empty lines.
38306
70bc2ef2 383072008-01-29 Bean <bean123ch@gmail.com>
38308
38309 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38310 (real_code_2): Code cleanup and change comment style.
38311 (move_memory): Avoid using 32-bit address mode.
38312
6a4d50ea 383132008-01-29 Bean <bean123ch@gmail.com>
38314
38315 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38316 (png_mod_SOURCES): New variable.
38317 (png_mod_CFLAGS): Likewise.
38318 (png_mod_LDFLAGS): Likewise.
38319
38320 * video/readers/png.c: New file.
38321
11cc30ac 383222008-01-28 Robert Millan <rmh@aybabtu.com>
38323
38324 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38325 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38326 `ifndef GRUB_MOD_GAP' hack.
38327 * util/elf/grub-mkimage.c (add_segments): Likewise.
38328
3abc589f 383292008-01-27 Robert Millan <rmh@aybabtu.com>
38330
38331 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38332 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 38333 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 38334
e1907778 383352008-01-27 Robert Millan <rmh@aybabtu.com>
38336
38337 Get grub-emu to build again (including parallel builds).
38338
38339 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38340 Split into ...
38341 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38342 (normal/execute.c_DEPENDENCIES): ... this, ...
38343 (grub-emu_DEPENDENCIES): ... and this.
38344
38345 * conf/i386-efi.rmk: Likewise.
38346 * conf/i386-linuxbios.rmk: Likewise.
38347 * conf/i386-ieee1275.rmk: Likewise.
38348 * conf/powerpc-ieee1275.rmk: Likewise.
38349 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38350
2216b101 383512008-01-27 Robert Millan <rmh@aybabtu.com>
38352
38353 * NEWS: Add a few items.
38354
f75172d9 383552008-01-27 Robert Millan <rmh@aybabtu.com>
38356
38357 Fix parallel builds with grub-emu. Based on earlier commit for
38358 grub-probe and grub-setup.
38359
38360 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38361 (util/grub-emu.c_DEPENDENCIES): ... this.
38362 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38363 (util/grub-emu.c_DEPENDENCIES): ... this.
38364 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38365 (util/grub-emu.c_DEPENDENCIES): ... this.
38366 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38367 (util/grub-emu.c_DEPENDENCIES): ... this.
38368 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38369 (util/grub-emu.c_DEPENDENCIES): ... this.
38370
3f51de77 383712008-01-27 Pavel Roskin <proski@gnu.org>
38372
38373 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38374 to create a gap between _end and the modules added to the image
38375 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38376 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38377 * util/elf/grub-mkimage.c (add_segments): Likewise.
38378
2033f53e 383792008-01-26 Pavel Roskin <proski@gnu.org>
38380
38381 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38382 just return an error.
38383
22da1f6f 383842008-01-26 Bean <bean123ch@gmail.com>
38385
38386 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38387 (grub_reiserfs_get_item): Save offset of the next item.
38388 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38389
2a9525e6 383902008-01-25 Robert Millan <rmh@aybabtu.com>
38391
38392 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38393 make all filesystem sources appear together (possibly fixing omissions
38394 while at it).
38395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38396 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38397 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38399
38400 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38401 add `kern/file.c'.
38402 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38403 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38404 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38405 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38406
38407 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38408 (probe): Add a sanity check to make sure of our ability to read
38409 requested files when probing for filesystem type.
38410
38411 * genmk.rb: Update copyright year (2007).
38412
38413 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38414 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38415 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38416 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38417 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38418 : Remove function prototypes.
38419
b95f71b5 384202008-01-25 Robert Millan <rmh@aybabtu.com>
38421
38422 Revert my previous commits (based on wrong assumption of how grub_errno
38423 works).
38424
fe6b695a 38425 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38426 * kern/file.c (grub_file_open): Likewise.
38427
d08bbb49 384282008-01-24 Pavel Roskin <proski@gnu.org>
38429
38430 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38431 that hang if GRUB tries to setup colors.
38432 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38433 colors for firmwares that don't support it.
38434 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38435 Recognize Open Hack'Ware, set flags to work around its
38436 limitations.
38437
605e36ed 384382008-01-24 Robert Millan <rmh@aybabtu.com>
38439
38440 * kern/file.c (grub_file_open): Do not account previous failures of
38441 unrelated functions when grub_errno is checked for.
38442 Reported by Oleg Strikov.
38443
bac332a1 384442008-01-24 Bean <bean123ch@gmail.com>
38445
38446 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38447 (grub_ufs_sblock): New member volume name.
38448 (grub_ufs_find_file): Fix string copy bug.
38449 (grub_ufs_label): Implement this function properly.
38450
38451 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38452 (grub_hfs_iterate_records): Use the correct file number for extents
38453 and catalog file. Fix problem in next index calculation.
38454 (grub_hfs_find_node): Replace recursive function call with loop.
38455 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38456
15c80c09 384572008-01-23 Robert Millan <rmh@aybabtu.com>
38458
38459 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38460 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38461 (grub_multiboot2_real_boot): New function prototype.
38462
38463 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38464 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38465
38466 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38467 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38468
305338fd 384692008-01-23 Robert Millan <rmh@aybabtu.com>
38470
38471 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38472 #ifdef'ed out grub_printf().
38473
3ea52685 384742008-01-23 Robert Millan <rmh@aybabtu.com>
38475
38476 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38477 grub_dprintf calls, since they make "debug=all" mode unusable.
38478 (grub_console_checkkey): Likewise.
38479
5882ae4b 384802008-01-23 Robert Millan <rmh@aybabtu.com>
38481
38482 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38483 `term/i386/pc/at_keyboard.c'.
38484 (pkglib_MODULES): Add `serial.mod'.
38485 (serial_mod_SOURCES): New variable.
38486 (serial_mod_CFLAGS): Likewise.
38487 (serial_mod_LDFLAGS): Likewise.
38488
38489 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38490 `<grub/powerpc/ieee1275/console.h>'.
38491 (grub_keyboard_controller_init): New function prototype.
38492 (grub_console_checkkey): Likewise.
38493 (grub_console_getkey): Likewise.
38494
38495 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38496 keyboard on i386.
38497
38498 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38499 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38500
06ab5303 385012008-01-23 Robert Millan <rmh@aybabtu.com>
38502
38503 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38504 present, "(memdisk)/boot/grub" becomes the default prefix.
38505
38506 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38507 a memdisk tarball with all the modules. Add --overlay=DIR option that
38508 allows users to overlay additional files into the image.
38509
dbb475a4 385102008-01-23 Robert Millan <rmh@aybabtu.com>
38511
38512 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38513 and `machine/memory.h'.
38514 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38515 (_multiboot_mod_SOURCES): New variable.
38516 (_multiboot_mod_CFLAGS): Likewise.
38517 (_multiboot_mod_LDFLAGS): Likewise.
38518 (multiboot_mod_SOURCES): Likewise.
38519 (multiboot_mod_CFLAGS): Likewise.
38520 (multiboot_mod_LDFLAGS): Likewise.
38521
38522 * include/grub/i386/ieee1275/loader.h: New file.
38523
38524 * include/grub/i386/ieee1275/machine.h: Likewise.
38525
38526 * include/grub/i386/ieee1275/memory.h: Likewise.
38527
38528 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38529 variable declaration.
38530 (grub_os_area_size): Likewise.
38531
38532 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38533 (grub_lower_mem, grub_upper_mem): New variables.
38534 (grub_stop_floppy): New function (just to make
38535 grub_multiboot2_real_boot() happy).
38536
38537 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38538 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38539 (grub_stop): New function.
38540 Include `"../realmode.S"' and `"../loader.S"'.
38541
38542 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38543 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38544
38545 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38546 rely on grub_multiboot2_real_boot() for final boot.
38547
25638629 385482008-01-22 Robert Millan <rmh@aybabtu.com>
38549
38550 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38551 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38552 device that doesn't look like an SD card.
38553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38554 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38555 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38556 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38557 found.
38558
9dad816d 385592008-01-22 Robert Millan <rmh@aybabtu.com>
38560
38561 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38562 avoid claiming over our own code.
38563
34842f2d 385642008-01-22 Bean <bean123ch@gmail.com>
38565
38566 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38567 (jpeg_mod_SOURCES): New variable.
38568 (jpeg_mod_CFLAGS): Likewise.
38569 (jpeg_mod_LDFLAGS): Likewise.
38570
38571 * video/readers/jpeg.c : New file.
38572
44023a28 385732008-01-22 Bean <bean123ch@gmail.com>
38574
38575 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38576 there are no more items.
38577
bc2d8ac6 385782008-01-21 Robert Millan <rmh@aybabtu.com>
38579
38580 * kern/mm.c (grub_mm_init_region): Improve debug message.
38581
261bd4bc 385822008-01-21 Robert Millan <rmh@aybabtu.com>
38583
38584 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38585 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38586 address.
38587 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38588 a C macro.
38589 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38590 Indicates start of upper memory.
38591 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38592 (generate_image): Abort when image size is big enough to corrupt
38593 upper memory.
38594
38595 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38596 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38597 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38598 instead of hardcoding 0xA0000.
38599 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38600 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38601 instead of hardcoding 0xA0000.
38602
f970b55e 386032008-01-21 Robert Millan <rmh@aybabtu.com>
38604
38605 * disk/memdisk.c (memdisk_size): New variable.
38606 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38607 `memdisk_size'.
38608 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38609 image to dynamic memory.
38610 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38611 `memdisk_size'. Free memdisk block.
38612
1a8b0526 386132008-01-21 Robert Millan <rmh@aybabtu.com>
38614
38615 Fix detection of very small filesystems (like tar).
38616
38617 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38618 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38619 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38620 a problem with this disk).
38621
6e9b4aab 386222008-01-21 Robert Millan <rmh@aybabtu.com>
38623
38624 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38625 on grub_biosdisk_rw_standard() error.
38626
0d8837b2 386272008-01-21 Robert Millan <rmh@aybabtu.com>
38628
38629 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38630 recent changes.
38631 * kern/elf.c: Likewise.
38632 * kern/ieee1275/ieee1275.c: Likewise.
38633 * kern/powerpc/ieee1275/openfw.c: Likewise.
38634 * term/ieee1275/ofconsole.c: Likewise.
38635
ffd36e34 386362008-01-21 Robert Millan <rmh@aybabtu.com>
38637
38638 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38639
3f0093d0 38640 * include/grub/kernel.h (grub_arch_memdisk_addr)
38641 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38642
3f0093d0 38643 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38644 (grub_arch_memdisk_size): ... to here.
ffd36e34 38645
6c391b21 386462008-01-21 Robert Millan <rmh@aybabtu.com>
38647
38648 Mostly based on bugfix from Bean.
38649
38650 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38651 attribute with hook() parameter.
38652 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38653 declaration.
38654 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38655 attribute with hook() parameter.
38656 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38657 declaration.
38658
55a581dc 386592008-01-21 Robert Millan <rmh@aybabtu.com>
38660
38661 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38662 (pkglib_MODULES): Add `memdisk.mod'.
38663 (memdisk_mod_SOURCES): New variable.
38664 (memdisk_mod_CFLAGS): Likewise.
38665 (memdisk_mod_LDFLAGS): Likewise.
38666
38667 * disk/memdisk.c: New file.
38668
38669 * include/grub/disk.h (grub_disk_dev_id): Add
38670 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38671
38672 * include/grub/i386/pc/kernel.h
38673 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38674 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38675 (grub_kernel_image_size): New variable declaration.
38676 (grub_total_module_size): Likewise.
38677 (grub_memdisk_image_size): Likewise.
38678
38679 * include/grub/i386/pc/memory.h
38680 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38681
38682 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38683 (grub_arch_memdisk_addr): New variable declaration.
38684 (grub_arch_memdisk_size): Likewise.
38685
38686 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38687 (grub_arch_memdisk_size): Likewise.
38688
38689 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38690 (codestart): Replace hardcoded `0x100000' with
38691 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38692
38693 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38694 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38695 not NULL, append the contents of the file it refers to, at the end of
38696 the compressed kernel image. Initialize `grub_memdisk_image_size'
38697 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38698 (options): Add "memdisk"|'m' option.
38699 (main): Parse --memdisk|-m option, and pass user-provided path as
38700 parameter to generate_image().
38701
3d7f54c9 387022008-01-20 Robert Millan <rmh@aybabtu.com>
38703
38704 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38705 grub_dprintf() calls from here ...
38706 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38707
0bf74728 387082008-01-20 Robert Millan <rmh@aybabtu.com>
38709
38710 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38711
38712 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38713 declaration.
38714 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38715 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38716 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38717 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38718 property).
38719 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38720 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38721
33bf70a7 387222008-01-19 Robert Millan <rmh@aybabtu.com>
38723
fe6b695a 38724 Get rid of confusing function (superseded by
33bf70a7 38725 `grub_ieee1275_get_integer_property')
38726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38727 prototype.
38728 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38729 function.
38730 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38731 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38732 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38733
e2da7d26 387342008-01-19 Robert Millan <rmh@aybabtu.com>
38735
38736 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38737 command after "shut-down", since implementations differ on which
38738 the command for halt is.
38739
59f1fd8d 387402008-01-19 Robert Millan <rmh@aybabtu.com>
38741
38742 * include/grub/i386/linuxbios/console.h: Add header protection.
38743 (grub_keyboard_controller_init): New function prototype.
38744 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38745 (KEYBOARD_COMMAND_READ): Likewise.
38746 (KEYBOARD_COMMAND_WRITE): Likewise.
38747 (KEYBOARD_SCANCODE_SET1): Likewise.
38748 (grub_keyboard_controller_write): New function.
38749 (grub_keyboard_controller_read): Likewise.
38750 (grub_keyboard_controller_init): Likewise.
38751
38752 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38753 (grub_console_init): On coreboot/LinuxBIOS, call
38754 grub_keyboard_controller_init().
38755
5f5a7c15 387562008-01-19 Robert Millan <rmh@aybabtu.com>
38757
38758 PowerPC changes provided by Pavel Roskin.
38759
38760 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38761 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38762 don't rely on cmain() doing it.
38763 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38764 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38765
1210e168 387662008-01-16 Robert Millan <rmh@aybabtu.com>
38767
38768 * include/grub/i386/linuxbios/memory.h
38769 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38770 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38771 receive `table_header' as argument. Instead, probe for it in the
38772 known memory ranges where it can be present.
38773 (grub_available_iterate): Do not pass a fixed `table_header' address
38774 to grub_linuxbios_table_iterate().
38775
3d04eab8 387762008-01-15 Robert Millan <rmh@aybabtu.com>
38777
38778 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38779 * conf/i386-ieee1275.rmk: New file.
38780 * include/grub/i386/ieee1275/console.h: Likewise.
38781 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38782 * include/grub/i386/ieee1275/kernel.h: Likewise.
38783 * include/grub/i386/ieee1275/time.h: Likewise.
38784 * kern/i386/ieee1275/init.c: Likewise.
38785 * kern/i386/ieee1275/startup.S: Likewise.
38786
d1bc1b73 387872008-01-15 Robert Millan <rmh@aybabtu.com>
38788
38789 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38790 when pointers are 32-bit (but still do set it to one when they are
38791 64-bit).
38792
66a65807 387932008-01-15 Robert Millan <rmh@aybabtu.com>
38794
38795 * include/grub/ieee1275/ieee1275.h
38796 (grub_ieee1275_get_integer_property): New function prototype.
38797
38798 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38799 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38800 grub_ieee1275_get_property() to handle endianness.
66a65807 38801
38802 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38803 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38804 where appropriate.
66a65807 38805 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38806 (grub_map): Likewise.
38807 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38808
a83ccafd 388092008-01-15 Bean <bean123ch@gmail.com>
38810
38811 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38812 (grub_script_execute_cmdline): Reset grub_errno.
38813
38814 * normal/main.c (read_config_file): Reset grub_errno.
38815
38816 * normal/parse.y (script_init): New.
38817 (script): Move function and menuentry here.
38818 (delimiter): New.
38819 (command): Add delimiter at the end of command.
38820 (commands): Adjust to match the new command.
38821 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38822 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38823 (if): Use the new commands.
38824
38825 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38826
df6ecfc6 388272008-01-15 Robert Millan <rmh@aybabtu.com>
38828
38829 * normal/menu.c (run_menu): Move timeout message from here ...
38830 (print_timeout): ... to here.
38831 (run_menu): Use print_timeout() once during initial draw to print
38832 the whole message, and again in every clock tick to update only
38833 the number of seconds.
38834
87ae25eb 388352008-01-15 Robert Millan <rmh@aybabtu.com>
38836
38837 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38838 actual size of `available' from grub_ieee1275_get_property(), and
38839 restrict parsing to that bound.
38840
47bf09a4 388412008-01-15 Christian Franke <franke@computer.org>
38842
38843 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38844 (argp_program_version): Remove variable.
38845 (argp_program_bug_address): Likewise.
38846 (options): Convert from struct argp_option to struct option.
38847 (struct arguments): Remove.
38848 (parse_opt): Remove.
38849 (usage): New function.
38850 (main): Replace struct args members by simple variables.
38851 Replace argp_parse() by getopt_long().
38852 Add switch to evaluate options.
38853 Add missing "(...)" around root_dev in prefix string.
38854
c86f1469 388552008-01-14 Robert Millan <rmh@aybabtu.com>
38856
38857 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38858 for grub_ieee1275_exit(), in order to improve portability.
38859
e622c559 388602008-01-14 Robert Millan <rmh@aybabtu.com>
38861
38862 * util/grub.d/10_linux.in (prefix): Define.
38863 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38864
44cb1ec8 388652008-01-13 Pavel Roskin <proski@gnu.org>
38866
38867 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38868 grub_errno if no errors have been detected.
38869
1eb8c802 388702008-01-12 Robert Millan <rmh@aybabtu.com>
38871
38872 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38873 (grub_util_get_dev_abstraction): New function prototype.
38874
38875 * util/getroot.c: Include `<grub/util/getroot.h>'
38876 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38877 (grub_util_get_dev_abstraction): ... here (new function).
38878
38879 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38880 `PRINT_ABSTRACTION'.
38881 (probe): Probe for abstraction type when requested.
38882 (main): Understand `--target=abstraction'.
38883
38884 * util/i386/efi/grub-install.in: Add abstraction module to core
38885 image when it is found to be necessary.
38886 * util/i386/pc/grub-install.in: Likewise.
38887 * util/powerpc/ieee1275/grub-install.in: Likewise.
38888
38889 * util/update-grub_lib.in (font_path): Return system path without
38890 converting to GRUB path.
38891 * util/update-grub.in: Convert system path returned by font_path()
38892 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38893 abstraction module is needed for loading fonts (if any). Export
38894 that as `GRUB_PRELOAD_MODULES'.
38895 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38896 insmod commands).
38897
52bd3de9 388982008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38899
38900 Remove some unused code from reiserfs.
f19dbdb7 38901
52bd3de9 38902 * fs/reiserfs.c (struct grub_reiserfs_key)
38903 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38904 (struct grub_reiserfs_node_body): Removed.
38905 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38906 Likewise.
38907 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38908 Likewise.
38909 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38910 Likewise.
38911 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38912 Likewise.
38913 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38914 Likewise.
38915 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38916 Likewise.
38917 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38918 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38919 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38920
2f80039d 389212008-01-10 Robert Millan <rmh@aybabtu.com>
38922
38923 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38924 Determines if a file is garbage left by packaging systems, etc.
38925 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38926 for processing /etc/grub.d scripts.
38927 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38928 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38929 as a condition for processing Linux images.
38930
87888032 389312008-01-10 Pavel Roskin <proski@gnu.org>
38932
38933 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38934 to compile reiserfs.c on PowerPC.
38935
7e54fced 389362008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38937
38938 * kern/device.c (grub_device_iterate): Do not abort device iteration
38939 when one of the devices cannot be opened.
38940 * kern/disk.c (grub_disk_open): Do not account previous failures of
38941 unrelated functions when grub_errno is checked for.
38942
5aa541e6 389432008-01-08 Robert Millan <rmh@aybabtu.com>
38944
38945 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38946 `! grub_linux_is_bzimage', change order of address comparison to make
38947 it more intuitive, and improve "too big zImage" error message.
38948
7076340d 389492008-01-08 Robert Millan <rmh@aybabtu.com>
38950
38951 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38952 `$(update-grub_DATA)'.
38953 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38954 targets.
38955
9ca70333 389562008-01-07 Robert Millan <rmh@aybabtu.com>
38957
38958 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38959 which instruction is modified by grub-setup during installation
38960 (since it wasn't obvious by only looking at this file).
38961
38ccf575 389622008-01-07 Robert Millan <rmh@aybabtu.com>
38963
38964 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38965 listing actual TODO items.
38966
f5db4291 389672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38968
868967cf 38969 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38970 correctly.
38971 (grub_reiserfs_get_key_offset): Likewise.
38972 (grub_reiserfs_set_key_offset): Likewise.
38973 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38974 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38975
38976 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38977 better to remove the bitfield version completely.
f19dbdb7 38978
868967cf 389792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38980
f5db4291 38981 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38982 allocated from the heap, due to the fshelp implementation.
38983 (grub_reiserfs_dir): Free NODE, due to the same reason.
38984
492e6d9d 389852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38986
38987 Mostly from Vincent Pelletier:
f19dbdb7 38988
492e6d9d 38989 * fs/reiserfs.c: New file.
f19dbdb7 38990
492e6d9d 38991 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38992 (reiserfs_mod_SOURCES): New variable.
38993 (reiserfs_mod_CFLAGS): Likewise.
38994 (reiserfs_mod_LDFLAGS): Likewise.
38995
38996 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38997 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38998 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38999 normal/color.c.
39000
9ce3e7c1 390012008-01-06 Robert Millan <rmh@aybabtu.com>
39002
39003 * normal/color.c: Remove `<grub/env.h>'.
39004
f3b58148 390052008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39006
39007 * include/grub/normal.h: Include <grub/env.h>.
39008
7ac3bcfa 390092008-01-05 Robert Millan <rmh@aybabtu.com>
39010
39011 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39012 usage example with `(hd0,1)'.
fb358190 39013 Reported by Samuel Thibault.
7ac3bcfa 39014
c8ee99d7 390152008-01-05 Robert Millan <rmh@aybabtu.com>
39016
39017 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39018 (grub_linux_boot_zimage): Rename to ...
39019 (grub_linux_boot): ... this.
39020 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39021 (grub_linux_boot_zimage): Conditionalize zImage copy.
39022
39023 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39024 (grub_linux_boot_bzimage): Remove prototype.
39025 (grub_linux_boot_zimage): Rename to ...
39026 (grub_linux_boot): ... this.
39027
39028 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39029 (grub_linux_boot): Remove function.
39030
0ece25b1 390312008-01-05 Robert Millan <rmh@aybabtu.com>
39032
39033 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39034 (grub_env_write_color_highlight): Likewise.
39035 (grub_wait_after_message): Likewise.
39036
39037 * normal/color.c: New file.
39038
39039 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39040 (normal_mod_DEPENDENCIES): Likewise.
39041
39042 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39043 (normal_mod_DEPENDENCIES): Likewise.
39044
39045 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39046 (normal_mod_DEPENDENCIES): Likewise.
39047
39048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39049 (normal_mod_DEPENDENCIES): Likewise.
39050
39051 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39052 for waiting after a message is printed.
39053 * normal/main.c (read_config_file): Likewise.
39054 (grub_normal_init): Register grub_env_write_color_normal() and
39055 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39056 `color_highlight' variables as global.
39057
39058 * normal/menu.c (grub_wait_after_message): New function.
39059 (grub_color_menu_normal): New variable. Replaces ...
39060 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39061 (grub_color_menu_highlight): New variable. Replaces ...
39062 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39063 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39064 `GRUB_TERM_COLOR_STANDARD'.
39065 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39066 `normal_code' and `highlight_code' to `old_color_normal' and
39067 `old_color_highlight', respectively.
39068 (grub_menu_init_page): Update colors when drawing the menu, based on
39069 `menu_color_normal' and `menu_color_highlight' variables.
39070 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39071 a message is printed.
39072
182dd4e5 390732008-01-05 Robert Millan <rmh@aybabtu.com>
39074
39075 * kern/env.c (grub_env_context_open): Propagate hooks for global
39076 variables to new context.
39077
39078 * kern/main.c (grub_set_root_dev): Export `root' variable.
39079
ddf8f6ad 390802008-01-05 Robert Millan <rmh@aybabtu.com>
39081
39082 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 39083 discs unconditionally, since udev and others have options to provide
ddf8f6ad 39084 them.
39085
d8b43d9b 390862008-01-05 Robert Millan <rmh@aybabtu.com>
39087
39088 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39089
2bff2de3 390902008-01-04 Christian Franke <franke@computer.org>
39091
39092 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39093 of eisa_mmap.
39094
97eab917 390952008-01-03 Pavel Roskin <proski@gnu.org>
39096
39097 * kern/i386/linuxbios/init.c: Put "void" to all function
39098 declarations with no arguments.
39099 * kern/powerpc/ieee1275/init.c: Likewise.
39100 * term/i386/pc/at_keyboard.c: Likewise.
39101 * term/i386/pc/vga_text.c: Likewise.
39102 * util/grub-mkdevicemap.c: Likewise.
39103
b9416d00 391042008-01-02 Robert Millan <rmh@aybabtu.com>
39105
39106 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39107 message when loaded image is out of bounds.
39108 (grub_multiboot_load_elf64): Likewise.
39109
92695df9 391102008-01-02 Pavel Roskin <proski@gnu.org>
39111
39112 * util/grub.d/10_linux.in: Try version without ".old" when
39113 looking for initrd. It's better to use initrd from the newer
39114 kernel of the same version than no initrd at all.
39115
d98d9cad 391162008-01-01 Robert Millan <rmh@aybabtu.com>
39117
39118 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39119
dbfdce36 391202008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39121
f19dbdb7 39122 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 39123 grub_video_get_active_render_target.
39124 (grub_video_adapter): Added unmap_color and get_active_render_target.
39125
f19dbdb7 39126 * video/video.c: Added grub_video_unmap_color and
dbfdce36 39127 grub_video_get_active_render_target.
39128 (grub_video_get_info): Changed method to accept NULL pointer as an
39129 argument to allow detection of active video adapter.
39130
39131 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39132 grub_video_vbe_unmap_color_int.
39133 Added grub_video_vbe_unmap_color and
39134 grub_video_vbe_get_active_render_target.
39135 (grub_video_vbe_adapter): Added unmap_color and
39136 get_active_render_target.
39137
f19dbdb7 39138 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 39139 with grub_video_vbe_unmap_color_int.
39140
39141 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39142 (DEFAULT_NORMAL_COLOR): Likewise.
39143 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39144 (DEFAULT_FG_COLOR): Removed.
39145 (DEFAULT_BG_COLOR): Likewise.
39146 (DEFAULT_CURSOR_COLOR): Changed value.
39147 (grub_virtual_screen): Added standard_color_setting,
39148 normal_color_setting, highlight_color_setting and term_color.
39149 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39150 (bitmap_width): Added.
39151 (bitmap_height): Likewise.
39152 (bitmap): Likewise.
39153 (set_term_color): Likewise.
39154 (grub_virtual_screen_setup): Changed to use new terminal coloring
39155 settings.
39156 (grub_gfxterm_init): Added init for bitmap.
39157 (grub_gfxterm_fini): Added destroy for bitmap.
39158 (redraw_screen_rect): Updated to use background bitmap and new
39159 terminal coloring.
39160 (scroll_up): Added optimization for case when there is no bitmap.
39161 (grub_gfxterm_cls): Fixed to use correct background color.
39162 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39163 coloring.
39164 (grub_virtual_screen_setcolor): Likewise.
39165 (grub_virtual_screen_getcolor): Added.
39166 (grub_gfxterm_background_image_cmd): Likewise.
39167 (grub_video_term): Added setcolor and getcolor.
39168 (MOD_INIT): Added registration of background_image command.
39169 (MOD_TERM): Added unregistration for background_image command.
39170
c3c20931 391712007-12-30 Pavel Roskin <proski@gnu.org>
39172
39173 * loader/multiboot_loader.c: Fix multiboot command
39174 unregistration. Fix all typos in the word "multiboot".
39175
df266716 391762007-12-29 Pavel Roskin <proski@gnu.org>
94239199 39177
39178 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39179 support for initrd names used in Fedora.
39180
fc6e896c 391812007-12-26 Bean <bean123ch@gmail.com>
39182
39183 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39184 (cpio_mod_SOURCES): New variable.
39185 (cpio_mod_CFLAGS): Likewise.
39186 (cpio_mod_LDFLAGS): Likewise.
39187
39188 * fs/cpio.c: New file.
39189
39190 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39191
39192 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39193
39194 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39195
39196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39197
533110ad 391982007-12-25 Robert Millan <rmh@aybabtu.com>
39199
39200 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39201 (grub_getcolor): New function.
39202
39203 * kern/term.c (grub_getcolor): New function.
39204 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39205 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39206 (print_entry): Set normal and highlight colors to
39207 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39208 respectively, before printing and restore them to old
39209 values afterwards.
39210 (grub_menu_init_page): Likewise. Fill an additional colored space
39211 that would otherwise be left blank.
39212
39213 * term/efi/console.c (grub_console_getcolor): New function.
39214 (struct grub_console_term.getcolor): New variable.
39215 * term/i386/pc/console.c (grub_console_getcolor): New function.
39216 (struct grub_console_term.getcolor): New variable.
39217 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39218 (struct grub_console_term.getcolor): New variable.
39219
39220 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39221 (struct grub_console_term.setcolor): Remove variable.
39222 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39223 (struct grub_console_term.setcolor): Remove variable.
39224 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39225 (struct grub_console_term.setcolor): Remove variable.
39226 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39227 (struct grub_console_term.setcolor): Remove variable.
39228
4931827f 392292007-12-25 Robert Millan <rmh@aybabtu.com>
39230
39231 * configure.ac: Search for possible unifont.hex locations, and
39232 define UNIFONT_HEX if found.
39233
39234 * Makefile.in (UNIFONT_HEX): Define variable.
39235 (DATA): Rename to ...
39236 (PKGLIB): ... this. Update all users.
39237 (PKGDATA): New variable.
39238 (pkgdata_IMAGES): Rename to ...
39239 (pkglib_IMAGES): ... this. Update all users.
39240 (pkgdata_MODULES): Rename to ...
39241 (pkglib_MODULES): ... this. Update all users.
39242 (pkgdata_PROGRAMS): Rename to ...
39243 (pkglib_PROGRAMS): ... this. Update all users.
39244 (pkgdata_DATA): Rename to ...
39245 (pkglib_DATA): ... this. Update all users.
39246 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39247 (unicode.pff, ascii.pff): New rules.
39248 (all-local): Add `$(PKGDATA)' dependency.
39249 (install-local): Process `$(PKGDATA)'.
39250
39251 * util/update-grub_lib.in (font_path): Search for *.pff files in
39252 a few more locations, including `${pkgdata}'.
39253
57e57e31 392542007-12-23 Robert Millan <rmh@aybabtu.com>
39255
39256 Patch from Bean <bean123ch@gmail.com>:
39257 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39258 `size'.
39259
4bc72aa9 392602007-12-21 Bean <bean123ch@gmail.com>
39261
39262 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39263 (ntfscomp_mod_SOURCES): New variable.
39264 (ntfscomp_mod_CFLAGS): Likewise.
39265 (ntfscomp_mod_LDFLAGS): Likewise.
39266
39267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39268 (grub_probe_SOURCES): Likewise.
39269 (grub_emu_SOURCES): Likewise.
39270
39271 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39272 (grub_emu_SOURCES): Likewise.
39273
39274 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39275 (grub_emu_SOURCES): Likewise.
39276
39277 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39278 (grub_emu_SOURCES): Likewise.
39279
39280 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39281 (read_run_list): Renamed to grub_ntfs_read_run_list.
39282 (decomp_nextvcn): Moved to ntfscomp.c.
39283 (decomp_getch): Likewise.
39284 (decomp_get16): Likewise.
39285 (decomp_block): Likewise.
39286 (read_block): Likewise.
39287 (read_data): Partially moved to ntfscomp.c.
39288 (fixup): Change unsigned to grub_uint16_t.
39289 (read_mft): Change unsigned long to grub_uint32_t.
39290 (read_attr): Likewise.
39291 (read_data): Likewise.
39292 (read_run_data): Likewise.
39293 (read_run_list): Likewise.
39294 (read_mft): Likewise.
39295
39296 * fs/ntfscomp.c: New file.
39297
39298 * include/grub/ntfs.h: New file.
39299
af680a87 393002007-12-16 Robert Millan <rmh@aybabtu.com>
39301
39302 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39303 IDE disk check, since Linux is known to support 20 IDE disks.
39304 Reported by Colin Watson.
39305
84be7599 393062007-12-15 Bean <bean123ch@gmail.com>
39307
39308 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39309 (lnxboot_img_SOURCES): New variable.
39310 (lnxboot_img_ASFLAGS): Likewise.
39311 (lnxboot_img_LDFLAGS): Likewise.
39312
39313 * boot/i386/pc/lnxboot.S: New file.
39314
6af9db01 393152007-11-24 Pavel Roskin <proski@gnu.org>
39316
39317 * configure.ac: Test if '--build-id=none' is supported by the
39318 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39319 objcopy to generate incorrect binary files (binutils
39320 2.17.50.0.18-1 as shipped by Fedora 8).
39321 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39322 linking, so that build ID doesn't break the test.
39323
7361cfe6 393242007-11-24 Pavel Roskin <proski@gnu.org>
39325
39326 * include/grub/i386/time.h: use "void" in the argument list
39327 of grub_cpu_idle().
39328 * include/grub/powerpc/time.h: Likewise.
39329 * include/grub/sparc64/time.h: Likewise.
39330
1593e10c 393312007-11-18 Christian Franke <franke@computer.org>
39332
39333 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39334 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39335 This fixes the problem that function keys did not work in grub-emu.
39336
3b8db1a8 393372007-11-18 Christian Franke <franke@computer.org>
39338
39339 * disk/host.c (grub_host_open): Remove attribute unused from
39340 name parameter. Add check for "host". This fixes the problem
39341 that grub-emu does not find partitions.
39342
2e29408d 393432007-11-18 Christian Franke <franke@computer.org>
39344
39345 * util/hostfs.c (is_dir): New function.
39346 (grub_hostfs_dir): Handle missing dirent.d_type case.
39347 (grub_hostfs_read): Add missing fseek().
39348 (grub_hostfs_label): Clear label pointer. This fixes a crash
39349 of grub-emu on "ls (host)".
39350
398cd047 393512007-11-18 Christian Franke <franke@computer.org>
39352
39353 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39354 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39355 to 64 bit boundary by default.
39356
c405c391 393572007-11-18 Bean <bean123ch@gmail.com>
39358
39359 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39360 (hexdump_mod_SOURCES): New variable.
39361 (hexdump_mod_CFLAGS): Likewise.
39362 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 39363
c405c391 39364 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39365
39366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39367
39368 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39369
39370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39371
39372 * include/grub/hexdump.h: New file.
39373
39374 * commands/hexdump.c: New file.
39375
5cced7fd 393762007-11-10 Robert Millan <rmh@aybabtu.com>
39377
39378 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39379 in grub_outb() calls.
39380 (beep_on): Likewise.
39381
8b714eb0 393822007-11-10 Christian Franke <franke@computer.org>
39383
39384 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39385 (grub_menu_run): Likewise.
39386
ce0f1839 393872007-11-10 Robert Millan <rmh@aybabtu.com>
39388
39389 * include/grub/i386/efi/machine.h: New file.
39390 * include/grub/i386/linuxbios/machine.h: Likewise.
39391 * include/grub/i386/pc/machine.h: Likewise.
39392 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39393 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39394
39395 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39396 (serial_hw_io_addr): New variable.
39397 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39398 instead of `(unsigned short *) 0x400'.
39399
270c237d 394002007-11-10 Bean <bean123ch@gmail.com>
39401
39402 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39403
a87783bf 394042007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39405
39406 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39407 (vga_mod_SOURCES): Added.
39408 (vga_mod_CFLAGS): Likewise.
39409 (vga_mod_LDFLAGS): Likewise.
39410
39411 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39412 grub_outb() calls.
39413 (set_map_mask): Likewise.
39414 (set_read_map): Likewise.
39415 (set_read_address): Likewise.
39416 (vga_font): Removed variable.
39417 (get_vga_glyph): Removed function.
39418 (invalidate_char): Likewise.
39419 (write_char): Changed to use grub_font_get_glyph() for font
39420 information.
39421 (grub_vga_putchar): Likewise.
39422 (grub_vga_getcharwidth): Likewise.
39423
6433b448 394242007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39425
39426 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39427 flags.
39428 (pxeboot_img_LDFLAGS): Likewise.
39429 (diskboot_img_LDFLAGS): Likewise.
39430 (kernel_img_LDFLAGS): Likewise.
39431
49178511 394322007-11-06 Robert Millan <rmh@aybabtu.com>
39433
39434 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39435 in grub_outb() calls.
39436 (serial_hw_init): Likewise.
39437
53b052de 394382007-11-05 Robert Millan <rmh@aybabtu.com>
39439
39440 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39441 spaces. Skip non-regular files.
39442
5ab33bba 394432007-11-05 Robert Millan <rmh@aybabtu.com>
39444
39445 * kern/disk.c (grub_disk_firmware_fini)
39446 (grub_disk_firmware_is_tainted): New variables.
39447
39448 * include/grub/disk.h (grub_disk_firmware_fini)
39449 (grub_disk_firmware_is_tainted): Likewise.
39450
39451 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39452 (grub_disk_biosdisk_fini): ... to here.
39453 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39454 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39455 is set. Register grub_disk_biosdisk_fini() in
39456 `grub_disk_firmware_fini'.
39457
39458 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39459 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39460 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39461 to finish existing firmware disk interface.
39462
39463 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39464 (ata_mod_SOURCES): New variable.
39465 (ata_mod_CFLAGS): Likewise.
39466 (ata_mod_LDFLAGS): Likewise.
39467
0149ab7c 394682007-11-05 Robert Millan <rmh@aybabtu.com>
39469
39470 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39471 (grub_ata_wait): Reimplement using grub_millisleep().
39472
39473 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39474 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39475
be7ac41e 394762007-11-03 Marco Gerards <marco@gnu.org>
39477
39478 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39479 (CRTC_ADDR_PORT): New macro.
39480 (CRTC_DATA_PORT): Likewise.
39481 (CRTC_CURSOR): Likewise.
39482 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39483 (CRTC_CURSOR_ADDR_LOW): Likewise.
39484 (update_cursor): New function.
39485 (grub_console_real_putchar): Call `update_cursor'.
39486 (grub_console_gotoxy): Likewise.
39487 (grub_console_cls): Set the default color when clearing the
39488 screen.
39489 (grub_console_setcursor): Implemented.
39490
bb06ab2e 394912007-11-03 Marco Gerards <marco@gnu.org>
39492
39493 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39494 become activate.
39495 (grub_ata_pio_write): Likewise.
39496
39497 (grub_atapi_identify): Wait after issuing an ATA command.
39498 (grub_atapi_packet): Likewise.
39499 (grub_ata_identify): Likewise.
39500 (grub_ata_readwrite): Likewise.
39501
cf8f780b 395022007-11-03 Marco Gerards <marco@gnu.org>
39503
39504 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39505 (grub_ata_pio_write): Likewise.
39506 (grub_ata_readwrite): Use `grub_error', instead of
39507 returning `grub_errno'.
39508
ed649e54 395092007-11-03 Marco Gerards <marco@gnu.org>
39510
39511 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39512 grub_ata_pio_write once for every single sector, instead of for
39513 multiple sectors.
39514
ca25d8f0 395152007-10-31 Robert Millan <rmh@aybabtu.com>
39516
39517 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39518
39519 * conf/i386-linuxbios.rmk: New file.
39520
39521 * kern/i386/pc/hardware.c: Likewise.
39522 * term/i386/pc/at_keyboard.c: Likewise.
39523 * term/i386/pc/vga_text.c: Likewise.
39524
39525 * include/grub/i386/linuxbios/boot.h: Likewise.
39526 * include/grub/i386/linuxbios/console.h: Likewise.
39527 * include/grub/i386/linuxbios/init.h: Likewise.
39528 * include/grub/i386/linuxbios/kernel.h: Likewise.
39529 * include/grub/i386/linuxbios/loader.h: Likewise.
39530 * include/grub/i386/linuxbios/memory.h: Likewise.
39531 * include/grub/i386/linuxbios/serial.h: Likewise.
39532 * include/grub/i386/linuxbios/time.h: Likewise.
39533
39534 * kern/i386/linuxbios/init.c: Likewise.
39535 * kern/i386/linuxbios/startup.S: Likewise.
39536 * kern/i386/linuxbios/table.c: Likewise.
39537
e911ecc1 395382007-10-31 Marco Gerards <marco@gnu.org>
39539
39540 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39541 (ata_mod_SOURCES): New variable.
39542 (ata_mod_CFLAGS): Likewise.
39543 (ata_mod_LDFLAGS): Likewise.
39544
39545 * disk/ata.c: New file.
39546
39547 * include/grub/disk.h (grub_disk_dev_id): Add
39548 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39549
7f66d0e0 395502007-10-31 Robert Millan <rmh@aybabtu.com>
39551
39552 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39553 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39554
39555 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39556 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39557
39558 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39559 `<grub/types.h>'.
39560
39561 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39562
5cd7dd46 395632007-10-27 Robert Millan <rmh@aybabtu.com>
39564
3236ca65 39565 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39566
2ebfc90f 395672007-10-22 Robert Millan <rmh@aybabtu.com>
39568
39569 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39570 `"../realmode.S"'.
39571 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39572
73fcb0f3 395732007-10-22 Robert Millan <rmh@aybabtu.com>
39574
39575 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39576 (pkgdata_MODULES): Add `biosdisk.mod'.
39577 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39578 variables.
39579
39580 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39581 (grub_biosdisk_init): Replace with ...
39582 (GRUB_MOD_INIT(biosdisk)): ... this.
39583 (grub_biosdisk_fini): Replace with ...
39584 (GRUB_MOD_FINI(biosdisk)): ... this.
39585
39586 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39587 (grub_machine_init): Remove call to grub_biosdisk_init().
39588 (grub_machine_fini): Remove call to grub_machine_fini().
39589
39590 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39591
3381d274 395922007-10-22 Robert Millan <rmh@aybabtu.com>
39593
39594 * include/grub/time.h: New file.
39595 * include/grub/i386/time.h: Likewise.
39596 * include/grub/powerpc/time.h: Likewise.
39597 * include/grub/sparc64/time.h: Likewise.
39598
39599 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39600 instances to ...
39601 (KERNEL_MACHINE_TIME_HEADER): ... this.
39602 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39603 instances to ...
39604 (KERNEL_MACHINE_TIME_HEADER): ... this.
39605 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39606 instances to ...
39607 (KERNEL_MACHINE_TIME_HEADER): ... this.
39608
39609 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39610 (grub_millisleep): New function.
39611 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39612 (grub_millisleep): New function.
39613 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39614 Remove `grub/machine/time.h' include.
39615 (grub_millisleep): New function.
39616 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39617 Remove `grub/machine/time.h' include.
39618 (grub_millisleep): New function.
39619
39620 * include/grub/misc.h (grub_div_roundup): New function.
39621
39622 * kern/misc.c: Include `<grub/time.h>'.
39623 (grub_millisleep_generic): New function.
39624
39625 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39626 Add `time.h'.
39627 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39628 Add `time.h'.
39629 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39630 `machine/time.h'. Add `time.h'.
39631 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39632
a39a0312 396332007-10-21 Robert Millan <rmh@aybabtu.com>
39634
39635 * include/grub/misc.h (grub_max): New function.
39636
2aad70e2 396372007-10-21 Robert Millan <rmh@aybabtu.com>
39638
39639 * util/misc.c (grub_util_info): Call fflush() before returning.
39640
54b71c4b 396412007-10-20 Robert Millan <rmh@aybabtu.com>
39642
39643 * genmk.rb (Image): Copy `extra_flags' from here ...
39644 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39645
39646 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39647 to `argc' and `args' arguments.
39648
a979f513 396492007-10-17 Robert Millan <rmh@aybabtu.com>
39650
39651 * kern/i386/loader.S: New file.
39652
39653 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39654 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39655 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39656 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39657 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39658 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39659 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39660 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39661 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39662 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39663 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39664 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39665 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39666 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39667
39668 * kern/i386/realmode.S: New file.
39669
39670 * kern/i386/pc/startup.S (protstack): Moved from here ...
39671 * kern/i386/realmode.S (protstack)... to here.
39672 * kern/i386/pc/startup.S (gdt): Moved from here ...
39673 * kern/i386/realmode.S (gdt)... to here.
39674 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39675 * kern/i386/realmode.S (prot_to_real)... to here.
39676
39677 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39678 `kern/i386/realmode.S'.
39679
825fc8fd 396802007-10-17 Robert Millan <rmh@aybabtu.com>
39681
39682 * include/grub/i386/loader.h: New file.
39683
39684 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39685 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39686 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39687 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39688 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39689 * include/grub/i386/loader.h (grub_linux_prot_size)
39690 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39691 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39692 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39693 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39694
39695 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39696
e179b2f4 396972007-10-15 Robert Millan <rmh@aybabtu.com>
39698
39699 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39700 filesystem when dev->disk is unset.
39701 Do probe for filesystem even when dev->disk->has_partitions is set.
39702 In case a filesystem is found, always report it.
39703 In case it isn't, if dev->disk->has_partitions is set, report that
39704 a partition table was found instead of reporting that no filesystem
39705 could be identified.
39706
5db82af6 397072007-10-12 Robert Millan <rmh@aybabtu.com>
39708
39709 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39710 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39711
68f6ac74 39712 * include/grub/types.h (grub_host_to_target16): New macro.
39713 (grub_host_to_target32): Likewise.
39714 (grub_host_to_target64): Likewise.
39715 (grub_target_to_host16): Likewise.
39716 (grub_target_to_host32): Likewise.
39717 (grub_target_to_host64): Likewise.
5db82af6 39718
39719 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39720 Renamed from to ...
39721 (GRUB_MOD_ALIGN): ...this. Update all users.
39722
68f6ac74 39723 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39724 grub_host_to_target32.
39725 Replace grub_be_to_cpu32 with grub_target_to_host32.
39726 (load_modules): Likewise.
39727 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39728 Replace grub_be_to_cpu32 with grub_target_to_host32.
39729 Replace grub_cpu_to_be16 with grub_host_to_target16.
39730 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39731
3cf497cc 397322007-10-12 Robert Millan <rmh@aybabtu.com>
39733
39734 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39735 * util/elf/grub-mkimage.c: ... here.
39736
39737 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39738 `util/powerpc/ieee1275/grub-mkimage.c'.
39739
c8cc3692 397402007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39741
c8cc3692 39742 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39743 and make it easier to figure out.
39744 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39745 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39746 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39747 leave us with less than HEAP_MIN_SIZE total heap.
39748 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39749
5c58b791 397502007-10-03 Robert Millan <rmh@aybabtu.com>
39751
39752 * include/grub/i386/io.h: New file.
39753 * commands/i386/pc/play.c (inb): Removed.
39754 (outb): Removed.
39755 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39756 with grub_outb().
afcd2ef8 39757 * term/i386/pc/serial.c (inb): Removed.
39758 (outb): Removed.
39759 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39760 with grub_outb().
39761 * term/i386/pc/vga.c (inb): Removed.
39762 (outb): Removed.
39763 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39764 with grub_outb().
5c58b791 39765
1a477ed6 397662007-10-02 Robert Millan <rmh@aybabtu.com>
39767
39768 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39770 Reported by Marcin Kurek.
39771
6b5d80fa 397722007-09-07 Robert Millan <rmh@aybabtu.com>
39773
39774 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39775 SmartFirmware version updates (as released by Sven Luther), and avoid
39776 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39777 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39778 known broken.
39779
5618afbf 397802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39781
39782 From Hitoshi Ozeki:
39783 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39784 when merging two regions.
39785
6139dcd9 397862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39787
508e39ee 39788 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39789 * normal/completion.c (grub_normal_do_completion): Likewise.
39790 Reported by Hitoshi Ozeki.
39791
397922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39793
6139dcd9 39794 Do not use devices at boot in chainloading.
f19dbdb7 39795
6139dcd9 39796 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39797 (boot_part_addr): Likewise.
39798 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39799 with BOOT_DRIVE and BOOT_PART_ADDR.
39800 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39801 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39802
38da6516 398032007-08-29 Robert Millan <rmh@aybabtu.com>
39804
39805 Patch from Simon Peter <dn.tlp@gmx.net>:
39806 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39807 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39808 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39809 util/i386/pc/grub-setup.c_DEPENDENCIES.
39810 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39811 util/grub-probe.c_DEPENDENCIES.
39812 * conf/powerpc-ieee1275.rmk: Likewise.
39813
29d0928c 398142007-08-28 Robert Millan <rmh@aybabtu.com>
39815
39816 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39817 to tell grub-mkdevicemap how to name devices.
39818 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39819 feature).
39820
39821 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39822 util/i386/get_disk_name.c.
39823 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39824 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39825 util/ieee1275/get_disk_name.c.
39826
39827 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39828
39829 * DISTLIST: Add util/i386/get_disk_name.c and
39830 util/ieee1275/get_disk_name.c.
39831
39832 * util/grub-mkdevicemap.c: Replace device naming logic with
39833 grub_util_get_disk_name() calls.
39834
5a0d3cca 398352007-08-20 Robert Millan <rmh@aybabtu.com>
39836
39837 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39838 (so that it works for both plural and singular quantities).
39839
8b72db2f 398402007-08-05 Robert Millan <rmh@aybabtu.com>
39841
39842 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39843 so that [xz] isn't taken into account when determining order.
39844
352466bf 398452007-08-02 Marco Gerards <marco@gnu.org>
39846
39847 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39848 `include/multiboot2.h', `include/grub/elfload.h',
39849 `include/multiboot.h', `include/grub/multiboot.h',
39850 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39851 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39852 `kern/elf.c', `loader/multiboot_loader.c',
39853 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39854 `loader/i386/pc/multiboot2.c',
39855 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39856 `util/i386/pc/grub-mkrescue.in'. Remove
39857 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39858 `include/grub/i386/pc/util/biosdisk.h' and
39859 `include/grub/powerpc/ieee1275/multiboot.h'.
39860
8f096014 398612007-08-02 Bean <bean123ch@gmail.com>
39862
39863 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39864 (ntfs_mod_SOURCES): New variable.
39865 (ntfs_mod_CFLAGS): Likewise.
39866 (ntfs_mod_LDFLAGS): Likewise.
39867
39868 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39869 (grub_probe_SOURCES): Likewise.
39870 (grub_emu_SOURCES): Likewise.
39871
39872 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39873 (grub_emu_SOURCES): Likewise.
39874
39875 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39876 (grub_emu_SOURCES): Likewise.
f19dbdb7 39877
8f096014 39878 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39879
39880 * fs/ntfs.c: New file.
39881
9959f7db 398822007-08-02 Bean <bean123ch@gmail.com>
39883
39884 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39885
39886 * file.h (grub_file): Likewise.
39887
39888 * fshelp.h (grub_fshelp_read_file): Likewise.
39889
39890 * util/i386/pc/grub-setup.c (setup): Likewise.
39891 (save_first_sector): Likewise.
39892 (save_blocklists): Likewise.
f19dbdb7 39893
9959f7db 39894 * fs/affs.c (grub_affs_read_file): Likewise.
39895
39896 * fs/ext2.c (grub_ext2_read_file): Likewise.
39897
39898 * fs/fat.c (grub_fat_read_data): Likewise.
39899
39900 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39901
39902 * fs/hfs.c (grub_hfs_read_file): Likewise.
39903
39904 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39905
39906 * fs/jfs.c (grub_jfs_read_file): Likewise.
39907
39908 * fs/minix.c (grub_minix_read_file): Likewise.
39909
39910 * fs/sfs.c (grub_sfs_read_file): Likewise.
39911
39912 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39913
9959f7db 39914 * fs/xfs.c (grub_xfs_read_file): Likewise.
39915
39916 * command/blocklist.c (read_blocklist): Likewise.
39917 (print_blocklist): Likewise.
39918
0a203f83 399192007-08-02 Marco Gerards <marco@gnu.org>
39920
39921 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39922 `util/hostfs.c'.
39923
39924 * disk/host.c: New file.
39925
39926 * util/hostfs.c: Likewise.
39927
39928 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39929 return `GRUB_ERR_BAD_FS'.
39930 * fs/sfs.c (grub_sfs_mount): Likewise.
39931 * fs/xfs.c (grub_xfs_mount): Likewise.
39932
39933 * include/grub/disk.h (enum grub_disk_dev_id): Add
39934 `GRUB_DISK_DEVICE_HOST_ID'.
39935
39936 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39937
e5dfe777 399382007-07-24 Jerone Young <jerone@gmail.com>
39939
f19dbdb7 39940 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39941 modules for compilation.
39942 * conf/powerpc-ieee1275.rmk: Likewise.
39943
39944 * include/multiboot.h: Move multiboot definitions to one file. Rename
39945 many definitions to not get grub specific.
39946 * include/multiboot2.h: Create header with multiboot 2 definitions.
39947 * include/grub/multiboot.h: Header for grub specific function
39948 prototypes and definitions.
39949 * include/grub/multiboot2.h: Likewise.
39950 * include/grub/multiboot_loader.h: Likewise.
39951 * include/grub/i386/pc/multiboot.h: Removed.
39952 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39953
39954 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39955 and 2 to allow for one multiboot and module commands.
39956 * loader/multiboot2.c: Add multiboot2 functionality.
39957 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39958 and definition names.
39959 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39960 2 functions.
39961 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39962 ieee1275 specific multiboot2 code.
39963
39964 * kern/i386/pc/startup.S: Change headers and definition names for
39965 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39966
daf0f0ba 399672007-07-22 Robert Millan <rmh@aybabtu.com>
39968
39969 * geninitheader.sh: Process file specified in first parameter rather
39970 than hardcoding grub_modules_init.lst.
fe6b695a 39971 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39972 than hardcoding grub_modules_init.h.
39973
39974 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39975 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39976 grub_probe_init.[ch] and grub_setup_init.[ch].
39977
39978 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39979 grub_modules_init.h with grub_emu_init.h.
39980 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39981 grub_probe_init.[ch] files.
39982 * conf/i386-efi.rmk: Likewise.
39983 * conf/i386-pc.rmk: Likewise.
39984 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39985 grub_setup_init.[ch] files.
39986
39987 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39988 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39989 to initialize modules rather than a list of hardcoded functions.
39990 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39991 grub_init_all() to initialize modules rather than a list of hardcoded
39992 functions.
39993
54cdc1cc 399942007-07-22 Robert Millan <rmh@aybabtu.com>
39995
39996 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39997 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39998
ad0686cc 399992007-07-22 Robert Millan <rmh@aybabtu.com>
40000
40001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40002 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40003 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40004 flag when running on SmartFirmware.
40005 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40006 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40007 was set.
40008
40009 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40010 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40011 rather than decreasing it.
40012
40013 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40014 there's not enough space to do it, fail in the same way as when it
40015 can't be done because there are no partitions.
40016
40017 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40018 when nvsetenv failed.
40019
969c02ec 400202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40021
40022 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40023 because this rule is automatically generated.
40024 (grub-mkrescue): Removed for the same reason as above.
40025
5a79f472 400262007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40027
40028 Migrate to GNU General Public License Version 3.
f19dbdb7 40029
5a79f472 40030 * COPYING: Replaced with the plain text version of GPLv3.
40031
40032 * config.guess: Updated from gnulib.
40033 * config.sub: Likewise.
40034
40035 * geninit.sh: Output a GPLv3 copyright notice.
40036 * geninitheader.sh: Likewise.
40037 * genmodsrc.sh: Likewise.
40038 * gensymlist.sh.in: Likewise.
40039
40040 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40041 * boot/i386/pc/diskboot.S: Likewise.
40042 * boot/i386/pc/pxeboot.S: Likewise.
40043 * commands/blocklist.c: Likewise.
40044 * commands/boot.c: Likewise.
40045 * commands/cat.c: Likewise.
40046 * commands/cmp.c: Likewise.
40047 * commands/configfile.c: Likewise.
40048 * commands/echo.c: Likewise.
40049 * commands/help.c: Likewise.
40050 * commands/ls.c: Likewise.
40051 * commands/search.c: Likewise.
40052 * commands/terminal.c: Likewise.
40053 * commands/test.c: Likewise.
40054 * commands/videotest.c: Likewise.
40055 * commands/i386/cpuid.c: Likewise.
40056 * commands/i386/pc/halt.c: Likewise.
40057 * commands/i386/pc/play.c: Likewise.
40058 * commands/i386/pc/reboot.c: Likewise.
40059 * commands/i386/pc/vbeinfo.c: Likewise.
40060 * commands/i386/pc/vbetest.c: Likewise.
40061 * commands/ieee1275/halt.c: Likewise.
40062 * commands/ieee1275/reboot.c: Likewise.
40063 * commands/ieee1275/suspend.c: Likewise.
40064 * disk/loopback.c: Likewise.
40065 * disk/lvm.c: Likewise.
40066 * disk/raid.c: Likewise.
40067 * disk/efi/efidisk.c: Likewise.
40068 * disk/i386/pc/biosdisk.c: Likewise.
40069 * disk/ieee1275/ofdisk.c: Likewise.
40070 * font/manager.c: Likewise.
40071 * fs/affs.c: Likewise.
40072 * fs/ext2.c: Likewise.
40073 * fs/fat.c: Likewise.
40074 * fs/fshelp.c: Likewise.
40075 * fs/hfs.c: Likewise.
40076 * fs/hfsplus.c: Likewise.
40077 * fs/iso9660.c: Likewise.
40078 * fs/jfs.c: Likewise.
40079 * fs/minix.c: Likewise.
40080 * fs/sfs.c: Likewise.
40081 * fs/ufs.c: Likewise.
40082 * fs/xfs.c: Likewise.
40083 * hello/hello.c: Likewise.
40084 * include/grub/acorn_filecore.h: Likewise.
40085 * include/grub/arg.h: Likewise.
40086 * include/grub/bitmap.h: Likewise.
40087 * include/grub/boot.h: Likewise.
40088 * include/grub/cache.h: Likewise.
40089 * include/grub/device.h: Likewise.
40090 * include/grub/disk.h: Likewise.
40091 * include/grub/dl.h: Likewise.
40092 * include/grub/elfload.h: Likewise.
40093 * include/grub/env.h: Likewise.
40094 * include/grub/err.h: Likewise.
40095 * include/grub/file.h: Likewise.
40096 * include/grub/font.h: Likewise.
40097 * include/grub/fs.h: Likewise.
40098 * include/grub/fshelp.h: Likewise.
40099 * include/grub/gzio.h: Likewise.
40100 * include/grub/hfs.h: Likewise.
40101 * include/grub/kernel.h: Likewise.
40102 * include/grub/loader.h: Likewise.
40103 * include/grub/lvm.h: Likewise.
40104 * include/grub/misc.h: Likewise.
40105 * include/grub/mm.h: Likewise.
40106 * include/grub/net.h: Likewise.
40107 * include/grub/normal.h: Likewise.
40108 * include/grub/parser.h: Likewise.
40109 * include/grub/partition.h: Likewise.
40110 * include/grub/pc_partition.h: Likewise.
40111 * include/grub/raid.h: Likewise.
40112 * include/grub/rescue.h: Likewise.
40113 * include/grub/script.h: Likewise.
40114 * include/grub/setjmp.h: Likewise.
40115 * include/grub/symbol.h: Likewise.
40116 * include/grub/term.h: Likewise.
40117 * include/grub/terminfo.h: Likewise.
40118 * include/grub/tparm.h: Likewise.
40119 * include/grub/types.h: Likewise.
40120 * include/grub/video.h: Likewise.
40121 * include/grub/efi/api.h: Likewise.
40122 * include/grub/efi/chainloader.h: Likewise.
40123 * include/grub/efi/console.h: Likewise.
40124 * include/grub/efi/console_control.h: Likewise.
40125 * include/grub/efi/disk.h: Likewise.
40126 * include/grub/efi/efi.h: Likewise.
40127 * include/grub/efi/pe32.h: Likewise.
40128 * include/grub/efi/time.h: Likewise.
40129 * include/grub/i386/linux.h: Likewise.
40130 * include/grub/i386/setjmp.h: Likewise.
40131 * include/grub/i386/types.h: Likewise.
40132 * include/grub/i386/efi/kernel.h: Likewise.
40133 * include/grub/i386/efi/loader.h: Likewise.
40134 * include/grub/i386/efi/time.h: Likewise.
40135 * include/grub/i386/pc/biosdisk.h: Likewise.
40136 * include/grub/i386/pc/boot.h: Likewise.
40137 * include/grub/i386/pc/chainloader.h: Likewise.
40138 * include/grub/i386/pc/console.h: Likewise.
40139 * include/grub/i386/pc/init.h: Likewise.
40140 * include/grub/i386/pc/kernel.h: Likewise.
40141 * include/grub/i386/pc/loader.h: Likewise.
40142 * include/grub/i386/pc/memory.h: Likewise.
40143 * include/grub/i386/pc/multiboot.h: Likewise.
40144 * include/grub/i386/pc/serial.h: Likewise.
40145 * include/grub/i386/pc/time.h: Likewise.
40146 * include/grub/i386/pc/vbe.h: Likewise.
40147 * include/grub/i386/pc/vbeblit.h: Likewise.
40148 * include/grub/i386/pc/vbefill.h: Likewise.
40149 * include/grub/i386/pc/vbeutil.h: Likewise.
40150 * include/grub/i386/pc/vga.h: Likewise.
40151 * include/grub/ieee1275/ieee1275.h: Likewise.
40152 * include/grub/ieee1275/ofdisk.h: Likewise.
40153 * include/grub/powerpc/libgcc.h: Likewise.
40154 * include/grub/powerpc/setjmp.h: Likewise.
40155 * include/grub/powerpc/types.h: Likewise.
40156 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40157 * include/grub/powerpc/ieee1275/console.h: Likewise.
40158 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40159 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40160 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40161 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40162 * include/grub/powerpc/ieee1275/time.h: Likewise.
40163 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40164 * include/grub/sparc64/libgcc.h: Likewise.
40165 * include/grub/sparc64/setjmp.h: Likewise.
40166 * include/grub/sparc64/types.h: Likewise.
40167 * include/grub/sparc64/ieee1275/console.h: Likewise.
40168 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40169 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40170 * include/grub/sparc64/ieee1275/time.h: Likewise.
40171 * include/grub/util/biosdisk.h: Likewise.
40172 * include/grub/util/getroot.h: Likewise.
40173 * include/grub/util/lvm.h: Likewise.
40174 * include/grub/util/misc.h: Likewise.
40175 * include/grub/util/raid.h: Likewise.
40176 * include/grub/util/resolve.h: Likewise.
40177 * io/gzio.c: Likewise.
40178 * kern/device.c: Likewise.
40179 * kern/disk.c: Likewise.
40180 * kern/dl.c: Likewise.
40181 * kern/elf.c: Likewise.
40182 * kern/env.c: Likewise.
40183 * kern/err.c: Likewise.
40184 * kern/file.c: Likewise.
40185 * kern/fs.c: Likewise.
40186 * kern/loader.c: Likewise.
40187 * kern/main.c: Likewise.
40188 * kern/misc.c: Likewise.
40189 * kern/mm.c: Likewise.
40190 * kern/parser.c: Likewise.
40191 * kern/partition.c: Likewise.
40192 * kern/rescue.c: Likewise.
40193 * kern/term.c: Likewise.
40194 * kern/efi/efi.c: Likewise.
40195 * kern/efi/init.c: Likewise.
40196 * kern/efi/mm.c: Likewise.
40197 * kern/i386/dl.c: Likewise.
40198 * kern/i386/efi/init.c: Likewise.
40199 * kern/i386/efi/startup.S: Likewise.
40200 * kern/i386/pc/init.c: Likewise.
40201 * kern/i386/pc/lzo1x.S: Likewise.
40202 * kern/i386/pc/startup.S: Likewise.
40203 * kern/ieee1275/ieee1275.c: Likewise.
40204 * kern/powerpc/cache.S: Likewise.
40205 * kern/powerpc/dl.c: Likewise.
40206 * kern/powerpc/ieee1275/cmain.c: Likewise.
40207 * kern/powerpc/ieee1275/crt0.S: Likewise.
40208 * kern/powerpc/ieee1275/init.c: Likewise.
40209 * kern/powerpc/ieee1275/openfw.c: Likewise.
40210 * kern/sparc64/cache.S: Likewise.
40211 * kern/sparc64/dl.c: Likewise.
40212 * kern/sparc64/ieee1275/init.c: Likewise.
40213 * kern/sparc64/ieee1275/openfw.c: Likewise.
40214 * loader/efi/chainloader.c: Likewise.
40215 * loader/efi/chainloader_normal.c: Likewise.
40216 * loader/i386/efi/linux.c: Likewise.
40217 * loader/i386/efi/linux_normal.c: Likewise.
40218 * loader/i386/pc/chainloader.c: Likewise.
40219 * loader/i386/pc/chainloader_normal.c: Likewise.
40220 * loader/i386/pc/linux.c: Likewise.
40221 * loader/i386/pc/linux_normal.c: Likewise.
40222 * loader/i386/pc/multiboot.c: Likewise.
40223 * loader/i386/pc/multiboot_normal.c: Likewise.
40224 * loader/powerpc/ieee1275/linux.c: Likewise.
40225 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40226 * normal/arg.c: Likewise.
40227 * normal/cmdline.c: Likewise.
40228 * normal/command.c: Likewise.
40229 * normal/completion.c: Likewise.
40230 * normal/execute.c: Likewise.
40231 * normal/function.c: Likewise.
40232 * normal/lexer.c: Likewise.
40233 * normal/main.c: Likewise.
40234 * normal/menu.c: Likewise.
40235 * normal/menu_entry.c: Likewise.
40236 * normal/misc.c: Likewise.
40237 * normal/parser.y: Likewise.
40238 * normal/script.c: Likewise.
40239 * normal/i386/setjmp.S: Likewise.
40240 * normal/powerpc/setjmp.S: Likewise.
40241 * normal/sparc64/setjmp.S: Likewise.
40242 * partmap/acorn.c: Likewise.
40243 * partmap/amiga.c: Likewise.
40244 * partmap/apple.c: Likewise.
40245 * partmap/gpt.c: Likewise.
40246 * partmap/pc.c: Likewise.
40247 * partmap/sun.c: Likewise.
40248 * term/gfxterm.c: Likewise.
40249 * term/terminfo.c: Likewise.
40250 * term/efi/console.c: Likewise.
40251 * term/i386/pc/console.c: Likewise.
40252 * term/i386/pc/serial.c: Likewise.
40253 * term/i386/pc/vesafb.c: Likewise.
40254 * term/i386/pc/vga.c: Likewise.
40255 * term/ieee1275/ofconsole.c: Likewise.
40256 * util/biosdisk.c: Likewise.
40257 * util/console.c: Likewise.
40258 * util/genmoddep.c: Likewise.
40259 * util/getroot.c: Likewise.
40260 * util/grub-emu.c: Likewise.
40261 * util/grub-mkdevicemap.c: Likewise.
40262 * util/grub-probe.c: Likewise.
40263 * util/lvm.c: Likewise.
40264 * util/misc.c: Likewise.
40265 * util/raid.c: Likewise.
40266 * util/resolve.c: Likewise.
40267 * util/update-grub.in: Likewise.
40268 * util/update-grub_lib.in: Likewise.
40269 * util/grub.d/00_header.in: Likewise.
40270 * util/grub.d/10_hurd.in: Likewise.
40271 * util/grub.d/10_linux.in: Likewise.
40272 * util/i386/efi/grub-install.in: Likewise.
40273 * util/i386/efi/grub-mkimage.c: Likewise.
40274 * util/i386/pc/grub-install.in: Likewise.
40275 * util/i386/pc/grub-mkimage.c: Likewise.
40276 * util/i386/pc/grub-mkrescue.in: Likewise.
40277 * util/i386/pc/grub-setup.c: Likewise.
40278 * util/i386/pc/misc.c: Likewise.
40279 * util/powerpc/ieee1275/grub-install.in: Likewise.
40280 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40281 * util/powerpc/ieee1275/misc.c: Likewise.
40282 * video/bitmap.c: Likewise.
40283 * video/video.c: Likewise.
40284 * video/i386/pc/vbe.c: Likewise.
40285 * video/i386/pc/vbeblit.c: Likewise.
40286 * video/i386/pc/vbefill.c: Likewise.
40287 * video/i386/pc/vbeutil.c: Likewise.
40288 * video/readers/tga.c: Likewise.
40289
3572d015 402902007-07-02 Robert Millan <rmh@aybabtu.com>
40291
40292 * conf/i386-efi.rmk: Replace obsolete reference to
40293 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40294 with util/getroot.c.
40295 * conf/powerpc-ieee1275.rmk: Likewise.
40296 * conf/sparc64-ieee1275.rmk: Likewise.
40297
40298 * util/grub-emu.c (main): Fix unchecked pointer handling.
40299
2c2a681b 403002007-07-02 Robert Millan <rmh@aybabtu.com>
40301
40302 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40303 invocation to fail, in order to support partition-less media.
40304
40305 * util/i386/pc/grub-install.in: Likewise.
40306
40307 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40308 which fs or partmap modules are needed (akin to its sister scripts).
40309
40310 Also use grub-probe to get rid of unportable /proc/mounts check.
40311
40312 Print the same informational message that the other scripts do, before
fe6b695a 40313 exiting.
2c2a681b 40314
6193defe 403152007-06-23 Robert Millan <rmh@aybabtu.com>
40316
fe6b695a 40317 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 40318 a font file can be found and, if so, echo the GRUB path to it.
40319
40320 * util/update-grub.in: Handle multiple terminals depending on user
40321 input, platform availability and font file presence. Propagate
40322 variables of our findings to /etc/grub.d/ children.
40323
40324 * util/grub.d/00_header.in: Handle multiple terminals, based on
40325 environment setup by update-grub.
40326
eface1dc 403272007-06-23 Robert Millan <rmh@aybabtu.com>
40328
ba50d28f 40329 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 40330
bf697e28 403312007-06-21 Robert Millan <rmh@aybabtu.com>
40332
40333 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40334 indicate end of data section in kernel image.
40335 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40336 GRUB_KERNEL_MACHINE_DATA_END.
40337
40338 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40339 space for it.
40340 * kern/i386/efi/startup.S: Likewise.
40341
40342 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40343 during image generation. Implement --prefix option to override this
40344 patch.
40345 * util/i386/efi/grub-mkimage.c: Likewise.
40346
40347 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40348 code to make path relative to its root into a separate function.
40349
40350 * util/i386/pc/grub-install.in: Use newly provided
40351 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40352 pass the result to grub-install --prefix.
40353
baa574b4 403542007-06-13 Robert Millan <rmh@aybabtu.com>
40355
40356 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40357 DEFAULT_DEVICE_MAP.
40358 * util/grub-emu.c: Use above definitions from misc.h instead of
40359 defining them.
40360 * util/grub-mkdevicemap.c: Likewise.
40361 * util/i386/pc/grub-setup.c: Likewise.
40362 * util/grub-probe.c: Likewise.
40363 (probe): Abort with grub_util_error() when either
40364 grub_guess_root_device or grub_util_get_grub_dev fails.
40365
0215dcbf 403662007-06-12 Robert Millan <rmh@aybabtu.com>
40367
40368 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40369 "pager" assignment.
40370 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40371 "pcdata".
40372 * util/grub-probe.c (probe): Likewise for "drive_name".
40373
8af2ab7b 403742007-06-11 Robert Millan <rmh@aybabtu.com>
40375
40376 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40377 not just the cdrom one.
40378
59d31694 403792007-06-11 Robert Millan <rmh@aybabtu.com>
40380
40381 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40382 Add --pkglibdir=DIR option to override pkglibdir.
40383 Mention --image-type=TYPE in help output.
40384 Fix --grub-mkimage (it was a no-op).
fe6b695a 40385 Abort gracefully when no parameter is given.
59d31694 40386
7ee367e4 403872007-06-11 Robert Millan <rmh@aybabtu.com>
40388
40389 * util/i386/pc/grub-mkrescue.in: New file.
40390 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40391 * Makefile.in: Handle bin_SCRIPTS.
40392
29b0ed46 403932007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40394
40395 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40396 list of video modes.
40397
c0f90770 403982007-06-06 Robert Millan <rmh@aybabtu.com>
40399
40400 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40401 file doesn't exist, or if it is in a filesystem grub can't read.
40402
40403 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40404 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40405 header comment to fit in 80 columns when the variables are resolved.
40406
40407 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40408 could be identified by update-grub. Remove redundant check for
fe6b695a 40409 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40410 handles that).
40411
fb36dc26 404122007-06-04 Robert Millan <rmh@aybabtu.com>
40413
40414 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40415
40416 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40417
40418 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40419
0c68c93e 404202007-06-04 Robert Millan <rmh@aybabtu.com>
40421
40422 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40423
40424 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40425 grub_apple_partition_map_fini.
40426
40427 * util/biosdisk.c
40428 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40429 to access >2 TiB disks).
40430
40431 Print disk->total_sectors with %llu instead of %lu, since this
40432 variable is always 64-bit (prevents wrong disk size from being displayed
40433 on either >2 TiB disk or big-endian CPU).
40434
40435 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40436 into a generic case that supports all (sane) partition maps.
40437
40438 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40439 breaks big-endian.
40440
40441 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40442 and grub_apple_partition_map_fini() after that.
40443
0f23eb74 404442007-06-01 Robert Millan <rmh@aybabtu.com>
40445
40446 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40447
40448 * util/grub.d/00_header.in: Only enable gfxterm when
40449 convert_system_path_to_grub_path() succeeds.
40450
42c71976 404512007-05-20 Robert Millan <rmh@aybabtu.com>
40452
40453 * util/update-grub_lib.in: New file.
40454 * DISTLIST: Add update-grub_lib.in.
40455 * conf/common.rmk: Generate update-grub_lib and install it in
40456 $(lib_DATA).
40457 * Makefile.in: Add install routine for $(lib_DATA).
40458
40459 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40460 function provided by update-grub_lib to support arbitrary paths of
40461 unifont.pff.
40462 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40463 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40464
5beb2291 404652007-05-19 Robert Millan <rmh@aybabtu.com>
40466
40467 * commands/i386/cpuid.c: New module.
40468 * DISTLIST: Add it.
40469 * conf/i386-efi.rmk: Enable cpuid.mod.
40470 * conf/i386-pc.rmk: Likewise.
40471
7262eca1 404722007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40473
40474 * kern/disk.c (grub_disk_read): Check return value of
40475 grub_realloc().
40476
260ba823 404772007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40478
40479 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40480 arrays.
40481 * disk/raid.c (grub_raid_open): Likewise.
40482
1ecb6cf2 404832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40484
40485 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40486 stack instead of on the heap.
40487
40488 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40489 before doing a read on it.
40490
40491 * configure.ac: Only use -fno-stack-protector for the target
40492 environment.
f19dbdb7 40493
21c8cbb1 404942007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40495
40496 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40497 __attribute_ ((unused)) to mode_type argument.
40498
40499 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40500
21c8cbb1 40501 * kern/misc.c (memcmp): Fix prototype.
40502
40503 * include/grub/partition.h [GRUB_UTIL]
40504 (grub_gpt_partition_map_init): Add prototype.
40505 (grub_gpt_partition_map_fini): Likewise.
40506
40507 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40508 at the right place.
40509
40510 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40511 (grub_fat_read_data): Likewise.
40512 (grub_fat_find_dir): Likewise.
40513
40514 * font/manager.c (find_glyph): Make table a const.
40515 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40516
849d55d3 405172007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40518
40519 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40520 code, first search for device in /dev/mapper, then in /dev.
40521 (grub_util_get_grub_dev): New function.
40522 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40523 prototype.
40524 * util/grub-probe.c (probe): Remove check for RAID, call
40525 grub_util_get_grub_dev() instead of
40526 grub_util_biosdisk_get_grub_dev().
40527 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40528 grub_util_biosdisk_get_grub_dev().
40529 * util/i386/pc/grub-setup.c (main): Likewise.
40530
8fff7c2f 405312007-05-16 Robert Millan <rmh@aybabtu.com>
40532
40533 * DISTLIST: Update for the latest changes.
40534 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40535 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40536 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40537 grub/util/biosdisk.h.
40538 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40539 grub/util/biosdisk.h.
40540
48e12b52 405412007-05-16 Robert Millan <rmh@aybabtu.com>
40542
40543 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40544
46b9d128 405452007-05-16 Robert Millan <rmh@aybabtu.com>
40546
40547 * util/i386/efi/grub-install.in: New.
40548 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40549 newly added grub-install.
40550 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40551 include.
40552 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40553 grub/util/biosdisk.h.
40554 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40555 grub/util/biosdisk.h.
40556
2d1a40a9 405572007-05-16 Robert Millan <rmh@aybabtu.com>
40558
40559 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40560 * include/grub/util/biosdisk.h: ... here.
40561 * util/i386/pc/biosdisk.c: Moved to ...
40562 * util/biosdisk.c: ... here.
40563 * util/i386/pc/getroot.c: Moved to ...
40564 * util/getroot.c: ... here.
40565 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40566 * util/grub-mkdevicemap.c: ... here.
40567 * util/i386/pc/grub-probe.c: Moved to ...
40568 * util/grub-probe.c: ... here.
40569
9e26e3bc 405702007-05-15 Robert Millan <rmh@aybabtu.com>
40571
40572 * util/update-grub.in: Remove duplicated line in grub.cfg header
40573 message.
40574
57f96397 405752007-05-13 Robert Millan <rmh@aybabtu.com>
40576
40577 * util/update-grub.in: Fix a few assumptions about the devices holding
40578 /, /boot and /boot/grub being the same.
40579 * util/grub.d/00_header.in: Likewise.
40580 * util/grub.d/10_hurd.in: Likewise.
40581 * util/grub.d/10_linux.in: Likewise.
40582
40583 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40584 patterns. Use that to define the `.old' suffix as older than `'.
40585
40586 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40587
40588 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40589 the grub.cfg header message.
40590
2e610d62 405912007-05-11 Robert Millan <rmh@aybabtu.com>
40592
40593 * util/update-grub.in: Create device.map if it doesn't already exist,
40594 before attempting to run grub-probe.
40595 Check for grub-probe and grub-mkdevicemap with the same code
40596 grub-install is using.
40597 Remove test mode.
40598
3f6a10ef 405992007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40600
40601 * Makefile.in: Add the datarootdir autoconf variable.
40602
02e7b75e 406032007-05-09 Robert Millan <rmh@aybabtu.com>
40604
40605 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40606 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40607
75f396cc 406082007-05-07 Robert Millan <rmh@aybabtu.com>
40609
40610 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40611 determine partition map module.
40612 * util/i386/pc/grub-install.in: Use this feature to decide which
40613 partition module to load, instead of hardcoding pc and gpt.
40614
da65cb36 406152007-05-07 Robert Millan <rmh@aybabtu.com>
40616
40617 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40618 source directory differs from build directory.
40619
b57d6a91 406202007-05-05 Robert Millan <rmh@aybabtu.com>
40621
40622 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40623 initialisation.
40624
509d00f1 406252007-05-05 Robert Millan <rmh@aybabtu.com>
40626
40627 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40628
c48f23ef 406292007-05-05 Robert Millan <rmh@aybabtu.com>
40630
40631 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40632 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40633
20b97658 406342007-05-05 Robert Millan <rmh@aybabtu.com>
40635
40636 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40637 (grub_probe_SOURCES): Likewise.
40638 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40639 GPT and initialize dos_part and bsd_part accordingly.
40640 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40641 install_bsd_part.
40642 (main): Activate gpt module for use during partition identification,
40643 and deactivate it afterwards.
40644 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40645 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40646 partition identification, and deactivate it afterwards.
40647
99123174 406482007-05-05 Robert Millan <rmh@aybabtu.com>
40649
40650 * term/i386/pc/console.c (grub_console_fini): Call
40651 grub_term_set_current() before grub_term_unregister().
40652
ebd97f6e 406532007-05-04 Robert Millan <rmh@aybabtu.com>
40654
40655 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40656 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40657 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40658 and update-grub_DATA.
40659 * conf/common.rmk: Build and install update-grub components.
40660 * conf/common.mk: Regenerate.
40661 * util/update-grub.in: New. Core of update-grub.
40662 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40663 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40664 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40665 * util/grub.d/README: New. Document grub.d directory layout.
40666
b06a264d 406672007-05-01 Robert Millan <rmh@aybabtu.com>
40668
40669 * util/grub-emu.c: Move initialization functions
40670 grub_util_biosdisk_init() and grub_init_all() before
40671 grub_util_biosdisk_get_grub_dev(), which relies on them.
40672
41f0050e 406732007-04-19 Robert Millan <rmh@aybabtu.com>
40674
40675 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40676 it is used later.
40677
04582bb3 406782007-04-18 Jerone Young <jerone@gmail.com>
40679
f19dbdb7 40680 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40681 stanza.
40682
08db4632 406832007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40684
08db4632 40685 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40686 continue on and look for device node with real device name.
40687
801b76be 406882007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40689
fe6b695a 40690 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40691 ability.
40692 * Makefile.in: Add autoconf package transformation code.
40693 * util/i386/pc/grub-install.in: Likewise.
40694 * util/powerpc/ieee1275/grub-install.in: Likewise.
40695
6795c4e1 406962007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40697
40698 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40699 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40700 (EXT2_REVISION): Likewise.
40701 (EXT2_INODE_SIZE): Likewise.
40702 (struct grub_ext2_block_group): Added a missing member
40703 "used_dirs".
40704 (grub_ext2_read_inode): Divide by the inode size in a superblock
40705 instead of 128 to obtain INODES_PER_BLOCK.
40706 Use the macro EXT2_INODE_SIZE instead of directly using
40707 SBLOCK->INODE_SIZE.
40708
d70af616 407092007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40710
40711 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40712 superblock instead of the structure size to compute an
40713 offset. This fixes the problem that GRUB could not read a
40714 filesystem when inode size is different from 128-byte.
40715
3b801603 407162007-03-05 Marco Gerards <marco@gnu.org>
40717
40718 * normal/main.c (read_config_file): When "menu" is not set, create
40719 an initial context.
40720
4785bfe4 407212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40722
40723 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40724 (HEAP_LIMIT): New macro.
40725 (grub_claim_heap): Claim memory up to `heaplimit'.
40726
a0cbb023 407272007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40728
40729 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40730 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40731 (_start): Likewise.
40732 (grub_arch_modules_addr): Return address after `_end'.
40733 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40734 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40735 (add_segments): Calculate `_end' from phdr size and location.
40736 (ALIGN_UP): Moved to ...
40737 * include/grub/misc.h: here.
40738 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40739 New macro.
40740 (GRUB_IEEE1275_MODULE_BASE): Removed.
40741
fd7d8eba 407422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40743
40744 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40745 loop boundary.
40746
9b09e6fc 407472007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40748
40749 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40750 All users updated.
40751 (grub_elf64_load_hook_t): Likewise.
40752 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40753 debug output.
40754
3ce27299 407552007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40756
40757 * kern/mm.c: Update copyright.
40758 (grub_mm_debug): Correct syntax error.
40759 (grub_mm_dump_free): New function.
40760 (grub_debug_free): Call `grub_free'.
40761 * include/grub/mm.h: Update copyright.
40762 (grub_mm_dump_free): Add declaration.
40763
077d5fee 407642007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40765
40766 * include/grub/ieee1275/ieee1275.h: Update copyright.
40767 * kern/powerpc/ieee1275/init.c: Likewise.
40768 * kern/powerpc/ieee1275/openfw.c: Likewise.
40769
40770 * loader/powerpc/ieee1275/linux.c: Likewise.
40771 * include/grub/elfload.h: Likewise.
40772 * kern/elf.c: Likewise.
40773 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40774 callers.
40775 (grub_elf64_load): Likewise.
40776 (grub_elf32_load_segment): Move to a nested function.
40777 (grub_elf64_load_segment): Likewise.
40778
dc946850 407792007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40780
40781 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40782 prototype.
40783 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40784 (grub_heap_len): Likewise.
40785 (HEAP_SIZE): New macro.
40786 (grub_claim_heap): New function.
40787 (grub_machine_init): Don't claim heap directly. Call
40788 `grub_claim_heap'.
40789 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40790 (grub_available_iterate): New function.
40791
baa2a121 407922007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40793
40794 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40795 * configure.ac: Use it for testing the HOST and TARGET compilers.
40796
4fe9862e 407972006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40798
40799 * Makefile.in (enable_grub_emu): New variable.
40800 * configure.ac (--enable-grub-emu): New option.
40801 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40802 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40803 * conf/i386-pc.rmk: Likewise.
40804 * conf/powerpc-ieee1275.rmk: Likewise.
40805 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40806
a8aa5762 408072006-12-12 Marco Gerards <marco@gnu.org>
40808
40809 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40810
40811 * kern/env.c (grub_env_unset): Don't free the member `value' when
40812 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40813 pointer.
40814
40815 * normal/main.c (current_menu): Removed.
40816 (free_menu): Unset the `menu' environment variable.
40817 (grub_normal_menu_addentry): Make use of the environment variable
40818 `menu', instead of using the global `current_menu'. Allocate
40819 memory for the sourcecode of this entry.
40820 (read_config_file): New argument `nested', changed all callers.
40821 Only in the case of a new context, initialize a new menu. Set the
40822 `menu' environment variable.
40823 (grub_normal_execute): Don't set and unset the environment
40824 variable `menu' here anymore. Only free the menu when leaving the
40825 context.
40826
40827 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40828 leak.
40829
957b3a3e 408302006-12-11 Marco Gerards <marco@gnu.org>
40831
40832 * normal/menu_entry.c (run): Fix off by one bug so the last line
40833 is executed. Move the loader check to outside the loop.
40834
ef875714 408352006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40836
40837 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40838
4e739985 408392006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40840
40841 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40842 the number of sectors. Reported by Andrey Shuvikov
40843 <mr_hyro@yahoo.com>.
f19dbdb7 40844
790707f2 408452006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40846
40847 * kern/disk.c (grub_disk_read): When there is a read error, always
40848 try to read only the necessary data.
f19dbdb7 40849
790707f2 40850 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40851 disk/raid.c.
40852 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40853 prototype.
40854 [GRUB_UTIL] (grub_raid_fini): Likewise.
40855 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40856 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40857 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40858 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40859 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40860 and grub_raid_fini().
f19dbdb7 40861
03e58196 408622006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40863
40864 * include/grub/types.h (__unused): Rename to UNUSED.
40865 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40866 (grub_elf64_size): Likewise.
f19dbdb7 40867
ae4f23bf 408682006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40869
40870 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40871 grub_error_push and grub_error_pop in the error-handling path.
40872 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40873 length.
40874
2166cc83 408752006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40876
40877 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40878 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40880 (kernel_elf_SOURCES): Likewise.
40881 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40882 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40883 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40884 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40885 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40886 (elf_mod_SOURCES): New variable.
40887 (elf_mod_CFLAGS): Likewise.
40888 (elf_mod_LDFLAGS): Likewise.
40889 * include/grub/types.h (__unused): New macro.
40890 * include/grub/elfload.h: New file.
40891 * kern/elf.c: Likewise.
40892 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40893 (ELF32_LOADMASK): New macro.
40894 (ELF64_LOADMASK): Likewise.
40895 (vmlinux): Removed.
40896 (grub_linux_load32): New function.
40897 (grub_linux_load64): Likewise.
40898 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40899 Use grub_elf_t instead of grub_file_t.
40900
a09d5aa5 409012006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40902
40903 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40904 `catch_result' to struct set_color_args.
40905
d976fc51 409062006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40907
40908 * normal/menu.c: Include grub/script.h.
40909 * normal/menu_entry.c: Likewise.
40910 * include/grub/normal.h: Do not include grub/script.h.
40911
67507549 409122006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40913
40914 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40915
69203a99 409162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40917
40918 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40919 disk.
40920 (grub_disk_close): Print debug messages when closing a disk.
40921 (grub_disk_read): Print debug messages when disk read fails.
40922 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40923 filesystem type.
40924 * kern/partition.c: Include misc.h.
40925 (grub_partition_iterate): Print debug messages when detecting
40926 partition type.
40927
e2b8278c 409282006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40929
40930 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40931 is negative.
40932 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40933
97b2f2ff 409342006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40935
40936 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40937 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40938
6555d655 409392006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40940
40941 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40942 instead of sizeof(lv). Patch by Michael Guntsche.
40943
4d42b77f 409442006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40945
40946 * disk/lvm.c: Rename VGS to VG_LIST.
40947 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40948 (grub_lvm_open): Likewise.
40949 Thanks to Michael Guntsche for finding this bug.
40950
5d74d927 409512006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40952
40953 * configure.ac (AC_INIT): Bumped to 1.95.
40954
a1bb27e4 409552006-10-14 Robert Millan <rmh@aybabtu.com>
40956
40957 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40958 with "/dev/.static/dev/md".
40959
e0994b8b 409602006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40961
40962 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40963 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40964 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40965 DRIVE_NAME are always freed.
40966
40967 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40968 DOS_PART, as a DOS partition is counted from one instead of zero
40969 now. Reported by Robert Millan.
40970
ddd5cee9 409712006-10-14 Robert Millan <rmh@aybabtu.com>
40972
40973 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40974 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40975 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40976 string returned by grub_guess_root_device.
40977 * util/i386/pc/grub-setup.c: Likewise.
40978 * util/i386/pc/grub-probefs.c: Likewise.
40979
40980 * util/i386/pc/grub-probefs.c: Rename to ...
40981 * util/i386/pc/grub-probe.c: ... this.
40982 * DISTLIST: Remove grub-probefs, add grub-probe.
40983 * conf/i386-efi.rmk: Likewise.
40984 * conf/i386-pc.rmk: Likewise.
40985 * util/i386/pc/grub-install.in: Likewise.
40986
40987 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40988 choose which information we want to print.
40989
2b002173 409902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40991
40992 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40993 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40994 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40995 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40996 video/readers/tga.c and video/i386/pc/vbeutil.c.
40997
409982006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40999
41000 Added support for RAID and LVM.
f19dbdb7 41001
2b002173 41002 * disk/lvm.c: New file.
41003 * disk/raid.c: Likewise.
41004 * include/grub/lvm.h: Likewise.
f19dbdb7 41005 * include/grub/raid.h: Likewise.
2b002173 41006 * include/grub/util/lvm.h: Likewise.
41007 * include/grub/util/raid.h: Likewise.
41008 * util/lvm.c: Likewise.
41009 * util/raid.c: Likewise.
41010
41011 * include/grub/disk.h (grub_disk_dev_id): Add
41012 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41013 (grub_disk_get_size): New prototype.
41014 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41015 returns a partition.
41016 (grub_disk_get_size): New function.
f19dbdb7 41017
2b002173 41018 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41019 verbatim if grub_install_dos_part is -2.
41020
41021 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41022 and LVM devices.
41023
41024 * util/i386/pc/grub-setup.c (setup): New argument
41025 MUST_EMBED. Force embedding of GRUB when the argument is
41026 true. Close FILE before returning.
41027 (main): Add support for RAID and LVM.
f19dbdb7 41028
2b002173 41029 * conf/common.rmk: Add RAID and LVM modules.
41030 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41031 util/lvm.c.
41032 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41033
41034 * kern/misc.c (grub_strstr): New function.
41035 * include/grub/misc.h (grub_strstr): New prototype.
41036
050548d0 410372006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41038
41039 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41040
da849d2d 410412006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41042
41043 * kern/misc.c (grub_strtoull): Guess the base only if not
41044 specified.
41045
97b2f2ff 410462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 41047
41048 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41049 PowerMac support.
41050
97b2f2ff 410512006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 41052
41053 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41054
41055 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41056 Remove `flags' argument. All callers changed.
41057 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41058 (IEEE1275_IHANDLE_INVALID): New variable.
41059 (IEEE1275_CELL_INVALID): New variable.
41060 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41061 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41062 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41063 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41064 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41065 codes from Open Firmware. All callers updated.
41066 (grub_ieee1275_next_property): Directly return Open Firmware return
41067 code.
41068 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41069 Standardize error checking from `grub_ieee1275_get_property'.
41070 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41071 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41072
97b2f2ff 410732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 41074
41075 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41076 `instance_to_package_args' to `instance_to_path_args'.
41077
41078 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41079 `grub_ieee1275_chosen'.
41080
41081 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41082 `grub_ieee1275_interpret'.
41083
97b2f2ff 410842006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 41085
41086 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41087
97b2f2ff 410882006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 41089
41090 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41091 (__cmpdi): Likewise.
41092
41093 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41094 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41095 `grub_ssize_t'.
41096
02bb8acc 41097 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 41098
41099 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41100 to type `grub_ssize_t'.
41101 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41102
7f9a8531 411032006-09-22 Marco Gerards <marco@gnu.org>
41104
41105 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41106 newlines.
41107
b5ef1102 411082006-09-22 Marco Gerards <marco@gnu.org>
41109
41110 * commands/echo.c: New file.
41111
41112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41113
41114 * conf/common.rmk (echo_mod_SOURCES): New variable.
41115 (echo_mod_CFLAGS): Likewise.
41116 (echo_mod_LDFLAGS): Likewise.
41117
2cff3677 411182006-09-22 Marco Gerards <marco@gnu.org>
41119
41120 * normal/main.c (get_line): Malloc memory instead of using
41121 preallocated memory. Removed the arguments `cmdline' and
41122 `max_len'. Updated all callers.
41123
6ba4688b 411242006-09-22 Marco Gerards <marco@gnu.org>
41125
41126 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41127 (normal_mod_DEPENDENCIES): Likewise.
41128
41129 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41130 (normal_mod_DEPENDENCIES): Likewise.
41131
41132 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41133
e02ac02c 411342006-09-22 Johan Rydberg <jrydberg@gnu.org>
41135
41136 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41137 programs.
41138 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41139 (normal_mod_DEPENDENCIES): Likewise.
41140 * conf/i386-pc.mk: Regenerate.
41141 * conf/i386-efi.mk: Likewise
41142 * conf/common.mk: Likewise.
41143 * conf/powerpc-ieee1275.mk: Likewise.
41144 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41145
8d252e44 411462006-09-22 Robert Millan <rmh@aybabtu.com>
41147
41148 Sync with i386 version.
41149 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41150 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41151
209bf7ac 411522006-09-21 Robert Millan <rmh@aybabtu.com>
41153
41154 Import from GRUB Legacy (lib/device.c):
41155 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41156 (init_device_map) [__linux__]: Add support for I2O devices.
41157
6b146090 411582006-09-14 Marco Gerards <marco@gnu.org>
41159
41160 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41161 `-melf_i386'.
41162
e38600a8 411632006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 41164
41165 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41166 /boot/grub/*.lst.
78fa1790 41167
2952da5d 41168 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 41169
2952da5d 41170 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41171 before adding it to device.map.
41172
01b82a64 411732006-08-15 Johan Rydberg <jrydberg@gnu.org>
41174
fe6b695a 41175 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 41176 compiles a file; using the -MD option.
41177 * conf/common.mk: Regenerate.
41178 * conf/i386-pc.mk: Likewise.
41179 * conf/i386-efi.mk: Likewise.
41180 * conf/powerpc-ieee1275.mk: Likewise.
41181 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41182
1064790d 411832006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41184
41185 Move the prototypes of grub_setjmp and grub_longjmp to
41186 cpu/setjmp.h, so that each architecture may specify different
41187 attributes.
f19dbdb7 41188
1064790d 41189 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41190 (grub_longjmp): Likewise.
41191 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41192 (grub_longjmp): Likewise.
41193 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41194 (grub_longjmp): Likewise.
41195
41196 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41197 [!GRUB_UTIL] (grub_longjmp): Removed.
41198
29dda3ed 411992006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41200
41201 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41202 "color!" method does not return any value.
41203
ad2a06ed 412042006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41205
41206 * include/grub/bitmap.h: New file.
41207
41208 * include/grub/i386/pc/vbeutil.h: Likewise.
41209
41210 * video/bitmap.c: Likewise.
41211
41212 * video/readers/tga.c: Likewise.
41213
41214 * video/i386/pc/vbeutil.c: Likewise.
41215
41216 * commands/videotest.c: Code cleanup and updated to reflect to new
41217 video API.
41218
41219 * term/gfxterm.c: Likewise.
41220
41221 * video/video.c: Likewise.
41222
41223 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41224 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41225 (bitmap_mod_SOURCES): New entry.
41226 (bitmap_mod_CFLAGS): Likewise.
41227 (bitmap_mod_LDFLAGS): Likewise.
41228 (tga_mod_SOURCES): Likewise.
41229 (tga_mod_CFLAGS): Likewise.
41230 (tga_mod_LDFLAGS): Likewise.
41231
41232 * include/grub/video.h (grub_video_blit_operators): New enum type.
41233 (grub_video_render_target): Changed as forward declaration and moved
41234 actual definition to be video driver specific.
41235 (grub_video_adapter.blit_bitmap): Added blitting operator.
41236 (grub_video_adapter.blit_render_target): Likewise.
41237 (grub_video_blit_bitmap): Likewise.
41238 (grub_video_blit_render_target): Likewise.
41239
41240 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41241 driver specific render target definition.
41242 (grub_video_vbe_map_rgba): Added driver internal helper.
41243 (grub_video_vbe_unmap_color): Updated to use
41244 grub_video_i386_vbeblit_info.
41245 (grub_video_vbe_get_video_ptr): Likewise.
41246
41247 * include/grub/i386/pc/vbeblit.h
41248 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41249 grub_video_i386_vbeblit_info.
41250 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41251 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41252 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41253 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41254 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41255 (grub_video_i386_vbeblit_index_index): Likewise.
41256 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41257 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41258 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41259 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41260 operator.
41261 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41262 operator.
41263
41264 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41265 include/grub/i386/pc/vbeblit.h.
41266
41267 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41268 Updated to use grub_video_i386_vbeblit_info.
41269 (grub_video_i386_vbefill_R8G8B8): Likewise.
41270 (grub_video_i386_vbefill_index): Likewise.
41271 (grub_video_i386_vbefill): Added generic filler.
41272
41273 * video/i386/pc/vbefill.c: Updated to reflect changes on
41274 include/grub/i386/pc/vbefill.h.
41275
41276 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41277 grub_video_i386_vbeblit_info.
41278 (grub_video_vbe_unmap_color): Likewise.
41279 (grub_video_vbe_blit_glyph): Likewise.
41280 (grub_video_vbe_scroll): Likewise.
41281 (grub_video_vbe_draw_pixel): Removed function.
41282 (grub_video_vbe_get_pixel): Likewise.
41283 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41284 updated code to use it.
41285 (common_blitter): Added common blitter for render target and bitmap.
41286 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41287 (grub_video_vbe_blit_render_target): Likewise.
41288
bc8c036d 412892006-07-30 Johan Rydberg <jrydberg@gnu.org>
41290
41291 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41292 is in text mode if there is no console control protocol instance
41293 available.
41294
684a8eff 412952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41296
41297 * include/grub/video.h: Code cleanup.
41298
41299 * include/grub/i386/pc/vbe.h: Likewise.
41300
41301 * video/i386/pc/vbe.c: Likewise.
41302
41303 * video/i386/pc/vbeblit.c: Likewise.
41304
41305 * video/i386/pc/vbefill.c: Likewise.
41306
41307 * video/video.c: Likewise. Also added more comments.
41308
5915059b 413092006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41310
41311 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41312 (struct grub_biosdisk_dap): Likewise.
41313
41314 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41315 linkage settings for all functions.
41316
90ce5d56 413172006-07-12 Marco Gerards <marco@gnu.org>
41318
41319 * configure.ac (--enable-mm-debug): Fix typo.
41320
41321 * genkernsyms.sh.in: Use proper quoting for `CC'.
41322
43e7f879 413232006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41324
41325 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41326 (normal_mod_ASFLAGS): Remove "-m32".
41327
4889bdec 413282006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41329
41330 * util/misc.c: Include config.h.
41331 [!HAVE_MEMALIGN]: Do not include malloc.h.
41332 (grub_memalign): Use posix_memalign, if present. Then, use
41333 memalign, if present. Otherwise, emit an error.
41334
41335 * util/grub-emu.c: Do not include malloc.h.
41336
41337 * include/grub/util/misc.h: Include unistd.h. This is required for
41338 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41339 D. Eades III <hde@foobar-qux.org>.
41340
41341 * configure.ac (AC_GNU_SOURCE): Added.
41342 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41343 type.
41344
fd39d4da 413452006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41346
41347 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41348 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41349
b786f3b5 413502006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41351
41352 * include/grub/types.h (grub_host_addr_t): Rename to
41353 grub_target_addr_t.
41354 (grub_host_off_t): Rename to grub_target_off_t.
41355 (grub_host_size_t): Rename to grub_target_size_t.
41356 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41357 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41358
41359 * include/grub/kernel.h (struct grub_module_header): Change type
41360 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41361 (grub_module_info): Likewise.
f19dbdb7 41362
051988bb 413632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41364
41365 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41366 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41367 Velazquez <jesus.velazquez@gmail.com>.
41368
deae281b 413692006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41370
41371 Count partitions from 1 instead of 0 in the string representation
41372 of partitions. Still use 0-based internally.
f19dbdb7 41373
deae281b 41374 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41375 (sun_partition_map_iterate): Use grub_partition_t instead of
41376 struct grub_partition *. Cast DESC->START_CYLINDER to
41377 grub_uint64_t after converting the endian.
41378 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41379 (sun_partition_map_get_name): Add 1 to P->INDEX.
41380
41381 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41382 PCDATA->DOS_PART.
41383 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41384
41385 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41386 zero instead of one.
41387 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41388 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41389
41390 * partmap/apple.c (apple_partition_map_iterate): Change the type
41391 of POS to unsigned.
41392 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41393 (apple_partition_map_get_name): Add 1 into P->INDEX.
41394
41395 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41396 of POS to unsigned.
41397 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41398 calculate the offset of a partition.
41399 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41400 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41401
41402 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41403 SECTOR to grub_disk_addr_t.
41404 (acorn_partition_map_iterate): Likewise.
41405 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41406 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41407 top.
41408 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41409
41410 * kern/i386/pc/init.c (make_install_device): Add 1 into
41411 GRUB_INSTALL_DOS_PART.
41412
41413 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41414 conditional.
41415
524a1e6a 414162006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41417
41418 Clean up the code to support 64-bit addressing in disks and
41419 files. This change is not enough for filesystems yet.
f19dbdb7 41420
524a1e6a 41421 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41422 type of "start" to grub_uint64_t.
41423 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41424 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41425 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41426 convert addresses.
41427
41428 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41429 to grub_disk_addr_t.
41430
41431 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41432 string.
41433
41434 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41435
41436 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41437 to char *.
41438
41439 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41440
41441 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41442
41443 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41444
41445 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41446 to grub_off_t, to detect an error from grub_file_seek.
41447 (grub_multiboot_load_elf32): Likewise.
41448
41449 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41450 maximum unsigned long value when an overflow is detected.
41451 (grub_strtoull): New function.
41452 (grub_divmod64): Likewise.
41453 (grub_lltoa): use grub_divmod64.
41454
41455 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41456 grub_disk_addr_t.
41457 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41458 the pointer to next character. Use grub_strtoull instead of
41459 grub_strtoul.
41460 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41461 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41462 respectively.
41463
fe6b695a 41464 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41465 return value is signed.
41466 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41467 test if OFFSET is less than zero, as OFFSET is unsigned now.
41468
41469 * kern/disk.c (struct grub_disk_cache): Change the type of
41470 "sector" to grub_disk_addr_t.
41471 (grub_disk_cache_get_index): Change the type of SECTOR to
41472 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41473 unsigned after shifting.
41474 (grub_disk_cache_invalidate): Change the type of SECTOR to
41475 grub_disk_addr_t.
41476 (grub_disk_cache_unlock): Likewise.
41477 (grub_disk_cache_store): Likewise.
41478 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41479 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41480 grub_disk_addr_t and grub_uint64_t, respectively.
41481 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41482 body, as the value of OFFSET is tweaked by
41483 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41484 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41485 respectively.
41486 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41487 body, as the value of OFFSET is tweaked by
41488 grub_disk_check_range. Change the types of LEN and N to
41489 grub_size_t.
41490
41491 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41492 and "saved_offset" to grub_off_t.
41493 (test_header): Cast BUF to char *.
41494 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41495 to char *.
41496 (grub_gzio_read): Change the types of OFFSET and SIZE to
41497 grub_off_t and grub_size_t, respectively.
41498
41499 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41500 Removed.
41501 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41502 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41503 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41504 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41505 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41506
41507 * include/grub/types.h (grub_off_t): Unconditionally set to
41508 grub_uint64_t.
41509 (grub_disk_addr_t): Changed to grub_uint64_t.
41510
41511 * include/grub/partition.h (struct grub_partition): Change the
41512 types of "start", "len" and "offset" to grub_disk_addr_t,
41513 grub_uint64_t and grub_disk_addr_t, respectively.
41514 (grub_partition_get_start): Return grub_disk_addr_t.
41515 (grub_partition_get_len): Return grub_uint64_t.
41516
41517 * include/grub/misc.h (grub_strtoull): New prototype.
41518 (grub_divmod64): Likewise.
41519
41520 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41521 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41522 grub_off_t, respectively.
41523 All callers and references changed.
41524
41525 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41526 grub_size_t in "read".
41527 All callers and references changed.
41528
41529 * include/grub/file.h (struct grub_file): Change the types of
41530 "offset" and "size" to grub_off_t and grub_off_t,
41531 respectively. Change the type of SECTOR to grub_disk_addr_t in
41532 "read_hook".
41533 (grub_file_read): Change the type of LEN to grub_size_t.
41534 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41535 grub_off_t.
41536 (grub_file_size): Return grub_off_t.
41537 (grub_file_tell): Likewise.
41538 All callers and references changed.
41539
41540 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41541 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41542 "write".
41543 (struct grub_disk): Change the type of "total_sectors" to
41544 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41545 "read_hook".
524a1e6a 41546 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41547 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41548 (grub_disk_write): Likewise.
41549 All callers and references changed.
41550
41551 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41552 char * for grub_strncmp to silence gcc.
41553 (grub_iso9660_mount): Likewise.
41554 (grub_iso9660_mount): Likewise.
41555 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41556 return statement.
41557 (grub_iso9660_iterate_dir): Likewise.
41558 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41559
41560 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41561 LEN to grub_disk_addr_t and grub_size_t, respectively.
41562
41563 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41564
41565 * fs/jfs.c (grub_jfs_read_file): Likewise.
41566
41567 * fs/minix.c (grub_jfs_read_file): Likewise.
41568
41569 * fs/sfs.c (grub_jfs_read_file): Likewise.
41570
41571 * fs/ufs.c (grub_jfs_read_file): Likewise.
41572
41573 * fs/xfs.c (grub_jfs_read_file): Likewise.
41574
41575 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41576 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41577 respectively.
41578
41579 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41580 BLKNR to -1 instead of returning GRUB_ERRNO.
41581 (grub_ext2_read_file): Change the types of SECTOR and
41582 LEN to grub_disk_addr_t and grub_size_t, respectively.
41583
41584 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41585 LEN to grub_disk_addr_t and grub_size_t, respectively.
41586
41587 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41588 grub_file_read.
41589
41590 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41591 string. Do not cast SECTOR explicitly.
41592
41593 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41594 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41595 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41596 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41597 over 2TB and LBA mode is not supported, raise an error.
41598 (get_safe_sectors): New function.
41599 (grub_biosdisk_read): Use get_safe_sectors.
41600 (grub_biosdisk_write): Likewise.
41601
41602 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41603 (grub_efidisk_write): Likewise.
41604
41605 * disk/loopback.c (delete_loopback): Cosmetic changes.
41606 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41607 correctly.
41608 (grub_loopback_open): Likewise.
41609 (grub_loopback_read): Likewise. Also, change the type of POS to
41610 grub_off_t, and fix the usage of grub_memset.
41611
41612 * commands/i386/pc/play.c: Include grub/machine/time.h.
41613
41614 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41615 print FILE->SIZE.
41616
41617 * commands/configfile.c: Include grub/env.h.
41618
41619 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41620 GRUB_ERRNO directly instead. Change the type of POS to
41621 grub_off_t. Follow the coding standard.
41622
41623 * commands/blocklist.c: Include grub/partition.h.
41624 (grub_cmd_blocklist): Return an error if the underlying device is
41625 not a disk. Take the starting sector of a partition into account,
41626 if a partition is used.
41627
41628 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41629 a length field.
41630 (lba_mode): Support 64-bit addresses.
41631 (chs_mode): Likewise.
41632 (copy_buffer): Adapted to the new offsets of a length field and a
41633 segment field.
41634 (blocklist_default_start): Allocate 64-bit space.
41635
41636 * boot/i386/pc/boot.S (force_lba): Removed.
41637 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41638 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41639 space.
41640 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41641 is useless.
41642 (lba_mode): Refactored to support a 64-bit address. More size
41643 optimization.
41644 (setup_sectors): Likewise.
41645
53af98ad 416462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41647
41648 * DISTLIST: Added include/grub/i386/linux.h. Removed
41649 include/grub/i386/pc/linux.h
41650
41651 * configure.ac (AC_INIT): Bumped to 1.94.
41652
41653 * config.guess: Updated from gnulib.
41654 * config.sub: Likewise.
41655 * install-sh: Likewise.
41656 * mkinstalldirs: Likewise.
41657
b4c1940a 416582006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41659
41660 * conf/common.rmk (grub_modules_init.lst): Depended on
41661 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41662 MODSRCFILES.
41663
41664 * genmk.rb (PModule::rule): Reverted the previous change.
41665
cfca1cfd 416662006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41667
41668 * conf/common.rmk (grub_modules_init.lst): Depends on
41669 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41670 that the target does not exist before producing.
41671 (grub_modules_init.h): Remove the target before generating.
41672 (grub_emu_init.c): Likewise.
41673
41674 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41675
aa6d7826 416762006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41677
41678 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41679 for the target-specific tests. Make sure that we also have the
41680 up-to-date target variables for those tests.
41681
26c607b9 416822006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41683
41684 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41685 (PModule::rule): Likewise.
41686
0162321a 416872006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41688
41689 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41690 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41691 target-specific flags should be prefixed.
41692 (PModule::rule): Likewise.
41693
6c826348 416942006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41695
41696 * configure.ac (CMP): Check if cmp is available explicitly.
41697
b977bf01 416982006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41699
41700 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41701 (target_cpu): New variable.
41702 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41703
b977bf01 41704 * util/i386/pc/grub-install.in (host_cpu): Removed.
41705 (target_cpu): New variable.
41706 (pkglibdir): Use target_cpu instead of host_cpu.
41707
41708 * util/genmoddep.c: Removed.
f19dbdb7 41709
b977bf01 41710 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41711 instead of GRUB_HOST_SIZEOF_VOID_P.
41712 * kern/dl.c: Likewise.
41713
41714 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41715 ...
41716 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41717 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41718 (GRUB_TARGET_SIZEOF_LONG): ... this.
41719 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41720 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41721 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41722 to ...
41723 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41724 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41725 (GRUB_TARGET_SIZEOF_LONG): ... this.
41726 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41727 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41728 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41729 to ...
41730 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41731 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41732 (GRUB_TARGET_SIZEOF_LONG): ... this.
41733 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41734 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41735
41736 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41737 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41738 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41739 instead of GRUB_HOST_SIZEOF_LONG.
41740 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41741 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41742 GRUB_CPU_WORDS_BIGENDIAN.
41743 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41744 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41745 grub_host_ssize_t.
41746
41747 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41748 (genmoddep_SOURCES): Likewise.
41749 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41750 (genmoddep_SOURCES): Likewise.
41751 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41752 (genmoddep_SOURCES): Likewise.
41753 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41754 Likewise.
41755 (genmoddep_SOURCES): Likewise.
41756
41757 * genmoddep.awk: New file.
41758
41759 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41760 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41761 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41762 (PModule::rule): Likewise.
41763 (Program::rule): Likewise.
41764 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41765 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41766 respectively.
41767
41768 * configure.ac: Rewritten intensively to use host and target
41769 instead of build and host, respectively.
41770
41771 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41772 (host_cpu): Removed.
41773 (target_cpu): New variable.
41774 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41775 (BUILD_CC): Removed.
41776 (BUILD_CFLAGS): Likewise.
41777 (BUILD_CPPFLAGS): Likewise.
41778 (TARGET_CC): New variable.
41779 (TARGET_CFLAGS): Likewise.
41780 (TARGET_CPPFLAGS): Likewise.
41781 (TARGET_LDFLAGS): Likewise.
41782 (AWK): Likewise.
41783 (include): Use target_cpu instead of host_cpu.
41784 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41785
b977bf01 41786 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41787
f09771a1 417882006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41789
41790 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41791 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41792 field 'false' to 'exec_on_false'.
41793 (grub_script_create_cmdif): Renamed argument names to reflect above
41794 changes.
41795
41796 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41797
41798 * normal/script.c (grub_script_create_cmdif): Likewise.
41799
118f4fb3 418002006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41801
41802 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41803 top.
41804 (grub_hfsplus_btree_recptr): Likewise.
41805 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41806 FILEBLOCK both to pass a block number and store next block
41807 number.
41808 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41809 overflow file correctly. Specify errors appropriately, because
41810 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41811 grub_hfsplus_btree_recptr to get the pointer to a found key.
41812 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41813 is found.
41814
41815 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41816 linux.mod.
41817 (_linux_mod_SOURCES): New variable.
41818 (_linux_mod_CFLAGS): Likewise.
41819 (_linux_mod_LDFLAGS): Likewise.
41820 (linux_mod_SOURCES): Likewise.
41821 (linux_mod_CFLAGS): Likewise.
41822 (linux_mod_LDFLAGS): Likewise.
41823
41824 * DISTLIST: Added loader/i386/efi/linux.c,
41825 loader/i386/efi/linux_normal.c and
41826 include/grub/i386/efi/loader.h.
41827
41828 * loader/i386/efi/linux.c: New file.
41829 * loader/i386/efi/linux_normal.c: Likewise.
41830 * include/grub/i386/efi/loader.h: Likewise.
41831
89a7d726 418322006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41833
41834 * commands/blocklist.c: New file.
41835
41836 * DISTLIST: Added commands/blocklist.c.
41837
41838 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41839 color for the background, and a darker color for the foreground.
89a7d726 41840 (grub_console_checkkey): Return READ_KEY.
41841 (grub_console_cls): Set the background to
41842 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41843
41844 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41845
41846 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41847 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41848
41849 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41850 prototype.
41851
41852 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41853 BG. The spec is wrong again.
41854
41855 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41856 prototype.
41857 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41858
41859 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41860 commands/blocklist.c.
41861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41862
89a7d726 41863 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41864 (blocklist_mod_SOURCES): New variable.
41865 (blocklist_mod_CFLAGS): Likewise.
41866 (blocklist_mod_LDFLAGS): Likewise.
41867
75c8f258 418682006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41869
41870 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41871 duplication.
41872 (lba_mode): Use %eax more intensively to reduce the code size.
41873
da2eb181 418742006-05-20 Marco Gerards <marco@gnu.org>
41875
41876 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41877
41878 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41879 for `menuentry'.
41880 (script): Accept leading newlines.
41881 (newlines): New rule to describe 0 or more newlines.
41882 (commands): Accept `command' with trailing newline. Fixed the
41883 order in which arguments were passed to `grub_script_add_cmd'.
41884 Accept commands separated by newlines.
41885 (function): Changed to accept newlines.
41886 (menuentry) Rewritten.
41887
41888 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41889 front of the list, instead of to the end.
41890
577b4050 418912006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41892
41893 * util/i386/pc/grub-install.in (bindir): New variable.
41894 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41895 Shaver <lbgwjl@gmail.com>.
41896
0d6e1189 418972006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41898
41899 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41900 grub/machine/linux.h
41901 * loader/i386/pc/linux.c: Likewise.
41902
41903 * include/grub/i386/pc/linux.h: Moved to ...
41904 * include/grub/i386/linux.h: ... here.
41905
41906 * include/grub/i386/linux.h (struct linux_kernel_params): New
41907 struct.
f19dbdb7 41908
31b86e9f 419092006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41910
41911 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41912 checking.
41913 (grub_video_vbe_blit_glyph): Likewise.
41914 (grub_video_vbe_blit_bitmap): Likewise.
41915 (grub_video_vbe_blit_render_target): Likewise.
41916
83b984de 419172006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41918
41919 * configure.ac (--with-platform): Properly quote the square
41920 brackets.
41921
5f0413bd 419222006-05-08 Marco Gerards <marco@gnu.org>
41923
41924 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41925 this...
41926 (kernel_elf_HEADERS): ...to this. Updated all users.
41927 (grubof_symlist.c): Renamed from this...
41928 (kernel_elf_symlist.c): ...to this. Updated all users.
41929 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41930 (grubof_SOURCES): Renamed from this...
41931 (kernel_elf_SOURCES): ...to this.
41932 (grubof_HEADERS): Renamed from this...
41933 (kernel_elf_HEADERS): ...to this.
41934 (grubof_CFLAGS): Renamed from this...
41935 (kernel_elf_CFLAGS): ...to this.
41936 (grubof_ASFLAGS): Renamed from this...
41937 (kernel_elf_ASFLAGS): ...to this.
41938 (grubof_LDFLAGS): Renamed from this...
41939 (kernel_elf_LDFLAGS): ...to this.
41940
41941 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41942 this...
41943 (kernel_elf_HEADERS): ...to this. Updated all users.
41944 (grubof_symlist.c): Renamed from this...
41945 (kernel_elf_symlist.c): ...to this. Updated all users.
41946 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41947 (grubof_SOURCES): Renamed from this...
41948 (kernel_elf_SOURCES): ...to this.
41949 (grubof_HEADERS): Renamed from this...
41950 (kernel_elf_HEADERS): ...to this.
41951 (grubof_CFLAGS): Renamed from this...
41952 (kernel_elf_CFLAGS): ...to this.
41953 (grubof_ASFLAGS): Renamed from this...
41954 (kernel_elf_ASFLAGS): ...to this.
41955 (grubof_LDFLAGS): Renamed from this...
41956 (kernel_elf_LDFLAGS): ...to this.
41957
41958 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41959 `kernel.elf' instead of `grubof'.
41960
05568c2e 419612006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41962
41963 Add --with-platform to configure. Use pkglibdir instead of
41964 pkgdatadir. This is reported by Roger Leigh.
41965
41966 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41967 (host_vendor): Likewise.
41968 (host_os): Likewise.
41969 (pkgdatadir): Likewise.
41970 (platform): New variable.
41971 (pkglibdir): Likewise.
41972 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41973
05568c2e 41974 * util/i386/pc/grub-install.in (datadir): Removed.
41975 (host_vendor): Likewise.
41976 (host_os): Likewise.
41977 (pkgdatadir): Likewise.
41978 (platform): New variable.
41979 (pkglibdir): Likewise.
41980 Use PKGLIBDIR instead of PKGDATADIR.
41981
41982 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41983 instead of GRUB_DATADIR.
41984 (main): Likewise.
41985 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41986 (main): Likewise.
41987 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41988 (main): Likewise.
41989
41990 * configure.ac (--with-platform): New option.
41991 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41992
41993 * Makefile.in: Include a makefile based on PLATFORM instead of
41994 HOST_VENDOR.
41995 (pkgdatadir): Not appended by the machine type.
41996 (pkglibdir): Appended by the machine type.
41997 (host_vendor): Removed.
41998 (platform): New variable.
41999 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42000 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42001 (uninstall): Likewise.
42002
4e93851c 420032006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42004
42005 Use the environment context in the menu. Remove the commands
42006 "default" and "timeout", and use variables instead.
f19dbdb7 42007
4e93851c 42008 * normal/menu.c: Include grub/env.h.
42009 (print_entry): Cast TITLE to silence gcc.
42010 (get_timeout): New function.
42011 (set_timeout): Likewise.
42012 (get_entry_number): Likewise.
42013 (run_menu): Use a default entry, a fallback entry and a timeout
42014 in the environment variables "default", "fallback" and
42015 "timeout". Also, tweak the default entry if it is not within the
42016 current menu entries.
42017 (grub_menu_run): Use a fallback entry in the environment variable
42018 "fallback".
42019
42020 * normal/main.c (read_config_file): Do not initialize
42021 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42022 NEWMENU->TIMEOUT.
42023 (grub_normal_execute): Use a data slot to store the menu.
42024
42025 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42026 fallback_entry and timeout.
42027 (struct grub_menu_list): Removed.
42028 (grub_menu_list_t): Likewise.
42029 (struct grub_context): Likewise.
42030 (grub_context_t): Likewise.
42031 (grub_context_get): Likewise.
42032 (grub_context_get_current_menu): Likewise.
42033 (grub_context_push_menu): Likewise.
42034 (grub_context_pop_menu): Likewise.
42035 (grub_default_init): Likewise.
42036 (grub_default_fini): Likewise.
42037 (grub_timeout_init): Likewise.
42038 (grub_timeout_fini): Likewise.
42039
42040 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42041 and timeout.mod.
42042 (normal_mod_SOURCES): Removed normal/context.c.
42043
42044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42045 commands/default.c, commands/timeout.c and normal/context.c.
42046 (normal_mod_SOURCES): Removed normal/context.c.
42047
42048 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42049 commands/timeout.c and normal/context.c.
42050 (normal_mod_SOURCES): Removed normal/context.c.
42051
42052 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42053 commands/default.c, commands/timeout.c and normal/context.c.
42054 (normal_mod_SOURCES): Removed normal/context.c.
42055
42056 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42057 timeout.mod.
42058 (default_mod_SOURCES): Removed.
42059 (default_mod_CFLAGS): Likewise.
42060 (default_mod_LDFLAGS): Likewise.
42061 (timeout_mod_SOURCES): Removed.
42062 (timeout_mod_CFLAGS): Likewise.
42063 (timeout_mod_LDFLAGS): Likewise.
42064
42065 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42066 normal/context.c.
42067
42068 * commands/default.c: Removed.
42069 * commands/timeout.c: Likewise.
42070 * normal/context.c: Likewise.
42071
1eb9cc1d 420722006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42073
42074 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42075
385bd9c1 420762006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42077
42078 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42079 "next" to "prev" for readability.
42080 (struct grub_env_sorted_var): New struct.
42081 (grub_env_context): Renamed to ...
42082 (initial_context): ... this.
42083 (grub_env_var_context): Renamed to ...
42084 (current_context): ... this.
42085 (grub_env_find): Look only at CURRENT_CONTEXT.
42086 (grub_env_context_open): Rewritten to copy exported variables from
42087 previous context.
42088 (grub_env_context_close): Rewritten according to the new
42089 scheme. Also, add an assertion to prevent the initial context from
42090 removed.
42091 (grub_env_insert): Removed the code for the sorted list.
42092 (grub_env_remove): Likewise.
42093 (grub_env_export): Simply mark the variable with
42094 GRUB_ENV_VAR_GLOBAL.
42095 (grub_env_set): A cosmetic change for naming consistency.
42096 (grub_env_get): Likewise.
42097 (grub_env_unset): Likewise.
42098 (grub_env_iterate): Rewritten to sort variables within this
42099 function.
42100 (grub_register_variable_hook): Fixed for naming consistency. Call
42101 grub_env_find again, only if NAME is not found at the first time.
42102 (mangle_data_slot_name): New function.
42103 (grub_env_set_data_slot): Likewise.
42104 (grub_env_get_data_slot): Likewise.
42105 (grub_env_unset_data_slot): Likewise.
42106
42107 * include/grub/env.h (grub_env_var_type): New enum.
42108 (GRUB_ENV_VAR_LOCAL): New constant.
42109 (GRUB_ENV_VAR_GLOBAL): Likewise.
42110 (GRUB_ENV_VAR_DATA): Likewise.
42111 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42112 "type".
42113 (grub_env_set): Replace VAR with NAME for consistency.
42114 (grub_register_variable_hook): Likewise.
42115 (grub_env_export): Specify the name of the argument.
42116 (grub_env_set_data_slot): New prototype.
42117 (grub_env_get_data_slot): Likewise.
42118 (grub_env_unset_data_slot): Likewise.
42119
7f362539 421202006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42121
42122 Extend the loader so that GRUB can accept a loader which comes
42123 back to GRUB when a loaded image exits. Also, this change adds
42124 support for a chainloader on EFI.
f19dbdb7 42125
7f362539 42126 * term/efi/console.c: Include grub/misc.h.
42127 (grub_console_checkkey): Display a scan code on the top for
42128 debugging. This will be removed once the EFI port gets stable.
42129 Correct the scan code mapping.
42130
42131 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42132 allocate memory from larger regions, in order to reduce the number
42133 of allocated regions. Otherwise, the MacOSX loader panics.
42134 (filter_memory_map): Avoid less than 1MB for compatibility with
42135 other loaders.
42136 (add_memory_regions): Allocate from the tail of a region, if
42137 possible, to avoid allocating a region near to 1MB, for the MacOSX
42138 loader.
42139
42140 * kern/efi/init.c (grub_efi_set_prefix): Specify
42141 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42142
42143 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42144 argument IMAGE_HANDLE and specify it to get a loaded image.
42145 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42146 grub_efi_get_loaded_image.
fe6b695a 42147 (grub_efi_get_filename): Divide the length by the size of
7f362539 42148 grub_efi_char16_t.
42149 (grub_efi_get_device_path): New function.
42150 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42151 the length by the size of grub_efi_char16_t for a file path device
42152 path node.
42153
42154 * kern/loader.c (grub_loader_noreturn): New variable.
42155 (grub_loader_set): Accept a new argument NORETURN. Set
42156 GRUB_LOADER_NORETURN to NORETURN.
42157 All callers changed.
42158 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42159 grub_machine_fini.
42160
42161 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42162 prototype.
42163 (grub_efi_get_loaded_image): Take an argument to specify an image
42164 handle.
42165
42166 * include/grub/loader.h (grub_loader_set): Added one more argument
42167 NORETURN.
42168
42169 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42170 instead of grub_efi_open_protocol.
42171 (grub_efidisk_get_device_name): Likewise.
42172 (grub_efidisk_close): Print a newline.
42173 (grub_efidisk_get_device_handle): Fixed to use
42174 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42175 GRUB_EFI_DEVICE_PATH_TYPE.
42176
42177 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42178 * kern/efi/efi.c (device_path_guid): ... here.
42179
42180 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42181 chain.mod.
42182 (kernel_mod_HEADERS): Added efi/disk.h.
42183 (_chain_mod_SOURCES): New variable.
42184 (_chain_mod_CFLAGS): Likewise.
42185 (_chain_mod_LDFLAGS): Likewise.
42186 (chain_mod_SOURCES): Likewise.
42187 (chain_mod_CFLAGS): Likewise.
42188 (chain_mod_LDFLAGS): Likewise.
42189
42190 * DISTLIST: Added include/grub/efi/chainloader.h,
42191 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42192
42193 * include/grub/efi/chainloader.h: New file.
42194 * loader/efi/chainloader.c: Likewise.
42195 * loader/efi/chainloader_normal.c: Likewise.
42196
c0111d6e 421972006-04-30 Marco Gerards <marco@gnu.org>
42198
42199 * commands/configfile.c (grub_cmd_source): New function.
42200 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42201 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42202
df5341da 422032006-04-30 Marco Gerards <marco@gnu.org>
42204
42205 * normal/execute.c (grub_script_execute_cmd): Change the return
42206 type to `grub_err_t'. Correctly return the error.
42207 (grub_script_execute_cmdline): In case a command line is not a
42208 command or a function, try to interpret it as an assignment.
42209
f85934bd 422102006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42211
42212 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42213 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42214 skip a node whose name is obviously invalid as UTF-16,
42215 i.e. contains a NUL character. Stop the iteration when the last
42216 directory entry is found. Instead of using the return value of
42217 grub_hfsplus_btree_iterate_node, store the value in RET and use
42218 it, because the iterator can be stopped by the last directory
42219 entry.
42220
8f8a2cf8 422212006-04-30 Marco Gerards <marco@gnu.org>
42222
42223 * include/grub/env.h (grub_env_export): New prototype. Reported
42224 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42225
a27e84ce 422262006-04-30 Marco Gerards <marco@gnu.org>
42227
42228 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42229 size of the extents in a catalog file record.
42230
eaef0553 422312006-04-29 Marco Gerards <marco@gnu.org>
42232
42233 * commands/configfile.c (grub_cmd_configfile): Execute the
42234 configfile within its own context.
42235
42236 * include/grub/env.h (grub_env_context_open): New prototype.
42237 (grub_env_context_close): Likewise.
42238
42239 * kern/env.c (grub_env): Removed.
42240 (grub_env_sorted): Likewise.
42241 (grub_env_context): New variable.
42242 (grub_env_var_context): Likewise.
42243 (grub_env_find): Search both the active context and the global
42244 context.
42245 (grub_env_context_open): New function.
42246 (grub_env_context_close): Likewise.
42247 (grub_env_insert): Likewise.
42248 (grub_env_remove): Likewise.
42249 (grub_env_export): Likewise.
42250 (grub_env_set): Changed to use helper functions to avoid code
42251 duplication.
42252 (grub_env_iterate): Rewritten so both the current context and the
42253 global context are being used.
42254
42255 * normal/command.c (export_command): New function.
42256 (grub_command_init): Register the `export' function.
42257
7b455f4d 422582006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42259
42260 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42261 explicitly to suppress gcc's warnings.
42262 * fs/fat.c (grub_fat_find_dir): Likewise.
42263 (grub_fat_label): Likewise.
42264 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42265 (grub_xfs_mount): Likewise.
42266 (grub_xfs_label): Likewise.
42267 * fs/affs.c (grub_affs_mount): Likewise.
42268 (grub_affs_label): Likewise.
42269 (grub_affs_iterate_dir): Likewise.
42270 * fs/sfs.c (grub_sfs_mount): Likewise.
42271 (grub_sfs_iterate_dir): Likewise.
42272 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42273 * fs/hfs.c (grub_hfs_mount): Likewise.
42274 (grub_hfs_cmp_catkeys): Likewise.
42275 (grub_hfs_find_dir): Likewise.
42276 (grub_hfs_dir): Likewise.
42277 (grub_hfs_label): Likewise.
42278 * fs/jfs.c (grub_jfs_mount): Likewise.
42279 (grub_jfs_opendir): Likewise.
42280 (grub_jfs_getent): Likewise.
42281 (grub_jfs_lookup_symlink): Likewise.
42282 (grub_jfs_label): Likewise.
42283 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42284 (grub_hfsplus_iterate_dir): Likewise.
42285 (grub_hfsplus_btree_iterate_node): Made static.
42286
42287 * util/grub-emu.c (prefix): New variable.
42288 (grub_machine_set_prefix): New function.
42289 (main): Do not set the environment variable "prefix" here. Only
42290 set PREFIX, which is used later by grub_machine_set_prefix.
42291
42292 * include/grub/video.h: Do not include grub/symbol.h.
42293 (grub_video_register): Not exported. This symbol is not defined in
42294 the kernel.
42295 (grub_video_unregister): Likewise.
42296 (grub_video_iterate): Likewise.
42297 (grub_video_setup): Likewise.
42298 (grub_video_restore): Likewise.
42299 (grub_video_get_info): Likewise.
42300 (grub_video_get_blit_format): Likewise.
42301 (grub_video_set_palette): Likewise.
42302 (grub_video_get_palette): Likewise.
42303 (grub_video_set_viewport): Likewise.
42304 (grub_video_get_viewport): Likewise.
42305 (grub_video_map_color): Likewise.
42306 (grub_video_map_rgb): Likewise.
42307 (grub_video_map_rgba): Likewise.
42308 (grub_video_fill_rect): Likewise.
42309 (grub_video_blit_glyph): Likewise.
42310 (grub_video_blit_bitmap): Likewise.
42311 (grub_video_blit_render_target): Likewise.
42312 (grub_video_scroll): Likewise.
42313 (grub_video_swap_buffers): Likewise.
42314 (grub_video_create_render_target): Likewise.
42315 (grub_video_delete_render_target): Likewise.
42316 (grub_video_set_active_render_target): Likewise.
42317
42318 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42319 Undefined.
42320 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42321
42322 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42323 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42324 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42325 instead of $(srcdir)/genkernsyms.sh.
42326
42327 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42328 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42329 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42330 instead of $(srcdir)/genkernsyms.sh.
42331
42332 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42333 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42334 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42335 instead of $(srcdir)/genkernsyms.sh.
42336
42337 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42338 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42339 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42340 instead of $(srcdir)/genkernsyms.sh.
42341
42342 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42343 genkernsyms.sh.
42344
42345 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42346 genkernsyms.sh.
42347 (gensymlist.sh): New target.
42348 (genkernsyms.sh): Likewise.
42349
42350 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42351 genkernsyms.sh.in and gensymlist.sh.in.
42352
42353 * genkernsyms.sh: Removed.
42354 * gensymlist.sh: Likewise.
f19dbdb7 42355
7b455f4d 42356 * genkernsyms.sh.in: New file.
42357 * gensymlist.sh.in: Likewise.
42358
1885bb27 423592006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42360
42361 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42362 clobber "prefix", since we may have already set it manually.
42363
71538dff 423642006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42365
42366 * kern/misc.c (abort): New alias for grub_abort.
42367
2965c7cc 423682006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42369
42370 A new machine-specific function "grub_machine_set_prefix" is
42371 defined. This is called after loading modules, so that a prefix
42372 initialization can use modules. Also, this change adds an
42373 intensive debugging feature for the memory manager via the
42374 configure option "--enable-mm-debug".
f19dbdb7 42375
2965c7cc 42376 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42377 PART.LEN.
42378
42379 * kern/sparc64/ieee1275/init.c (abort): Removed.
42380 (grub_stop): Likewise.
42381 (grub_exit): New function.
42382 (grub_set_prefix): Renamed to ...
42383 (grub_machine_set_prefix): ... this.
42384 (grub_machine_init): Do not call grub_set_prefix.
42385
42386 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42387 (grub_machine_set_prefix): ... this.
42388 (grub_machine_init): Do not call grub_set_prefix.
42389
42390 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42391 (grub_machine_init): Do not set the prefix here.
42392
42393 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42394
42395 * kern/efi/init.c: Include grub/mm.h.
42396 (grub_efi_set_prefix): New function.
42397
42398 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42399 (grub_efi_get_filename): New function.
42400 (grub_print_device_path): Renamed to ...
42401 (grub_efi_print_device_path): ... this.
42402
42403 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42404 [MM_DEBUG] (grub_realloc): Likewise.
42405 [MM_DEBUG] (grub_free): Likewise.
42406 [MM_DEBUG] (grub_memalign): Likewise.
42407 [MM_DEBUG] (grub_mm_debug): New variable.
42408 [MM_DEBUG] (grub_debug_malloc): New function.
42409 [MM_DEBUG] (grub_debug_free): New function.
42410 [MM_DEBUG] (grub_debug_realloc): New function.
42411 [MM_DEBUG] (grub_debug_memalign): New function.
42412
42413 * kern/misc.c (grub_abort): Print a newline to distinguish
42414 the message.
42415
42416 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42417 grub_set_root_dev after loading modules. This is necessary when
42418 setting a prefix depends on modules.
42419
42420 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42421 (grub_efi_print_device_path): ... this.
42422 (grub_efi_get_filename): New prototype.
42423 (grub_efi_set_prefix): Likewise.
42424
42425 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42426 and grub/disk.h.
42427 (grub_efidisk_get_device_handle): New prototype.
42428 (grub_efidisk_get_device_name): Likewise.
42429
42430 * include/grub/mm.h: Include config.h.
42431 (MM_DEBUG): Removed.
42432 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42433 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42434 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42435 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42436 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42437 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42438 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42439 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42440 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42441
42442 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42443
42444 * disk/efi/efidisk.c: Include grub/partition.h.
42445 (iterate_child_devices): New function.
42446 (add_device): First, compare only last device path nodes, so that
42447 devices are sorted by the types.
42448 (grub_efidisk_get_device_handle): New function.
42449 (grub_efidisk_get_device_name): Likewise.
42450
42451 * configure.ac (--enable-mm-debug): New option to enable the
42452 memory manager debugging feature. This makes the binary much
42453 bigger, so is disabled by default.
42454
9cacaa17 424552006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42456
42457 Use grub_abort instead of grub_stop, and grub_exit must be
42458 define in each architecture now. Also, this change adds support
42459 for EFI disks.
f19dbdb7 42460
9cacaa17 42461 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42462 (grub_getkey): New function.
42463 (grub_term_get_current): Likewise.
42464
42465 * util/i386/pc/grub-setup.c: Include grub/term.h.
42466 (grub_getkey): New function.
42467 (grub_term_get_current): Likewise.
42468
42469 * util/misc.c (grub_stop): Renamed to ...
42470 (grub_exit): ... this.
42471
42472 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42473 (grub_exit): ... this.
42474 (grub_machine_init): Use grub_abort instead of abort.
42475 (grub_stop): Removed.
42476
42477 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42478 abort.
42479
42480 * kern/i386/pc/startup.S (grub_exit): New function.
42481 (cold_reboot): New label.
42482
42483 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42484 (grub_efi_init): Call grub_efidisk_init.
42485 (grub_efi_fini): Call grub_efidisk_fini.
42486
42487 * kern/efi/efi.c: Include grub/mm.h.
42488 (grub_efi_console_control_guid): Renamed to ...
42489 (console_control_guid): ... this.
42490 (grub_efi_loaded_image_guid): Renamed to ...
42491 (loaded_image_guid): ... this.
42492 (grub_efi_locate_handle): New function.
42493 (grub_efi_open_protocol): Likewise.
42494 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42495 GRUB_EFI_CONSOLE_CONTROL_GUID.
42496 (grub_efi_exit): Removed.
42497 (grub_stop): Likewise.
42498 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42499 (grub_exit): New function.
42500 (grub_print_device_path): Likewise.
42501
42502 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42503 (grub_enter_rescue_mode): Register "exit".
42504
42505 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42506 (grub_abort): New function.
42507
42508 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42509
42510 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42511
42512 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42513
42514 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42515 (grub_print_device_path): New prototype.
42516 (grub_efi_locate_handle): Likewise.
42517 (grub_efi_open_protocol): Likewise.
42518
42519 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42520 * disk/efi/efidisk.c: Likewise.
42521
42522 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42523
42524 * include/grub/efi/console_control.h
42525 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42526
42527 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42528 last 8 bytes as an array.
42529 (GRUB_EFI_DISK_IO_GUID): New macro.
42530 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42531 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42532 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42533 grub_uint8_t.
42534 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42535 (struct grub_efi_device_path): Rename the member "sub_type" to
42536 "subtype".
42537 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42538 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42539 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42540 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42541 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42542 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42543 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42544 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42545 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42546 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42547 (struct grub_efi_pci_device_path): New structure.
42548 (grub_efi_pci_device_path_t): New type.
42549 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42550 (struct grub_efi_pccard_device_path): New structure.
42551 (grub_efi_pccard_device_path_t): New type.
42552 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42553 (struct grub_efi_memory_mapped_device_path): New structure.
42554 (grub_efi_memory_mapped_device_path_t): New type.
42555 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42556 (struct grub_efi_vendor_device_path): New structure.
42557 (grub_efi_vendor_device_path_t): New type.
42558 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42559 (struct grub_efi_controller_device_path): New structure.
42560 (grub_efi_controller_device_path_t): New type.
42561 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42562 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42563 (struct grub_efi_acpi_device_path): New structure.
42564 (grub_efi_acpi_device_path_t): New type.
42565 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42566 (struct grub_efi_expanded_acpi_device_path): New structure.
42567 (grub_efi_expanded_acpi_device_path_t): New type.
42568 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42569 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42570 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42571 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42572 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42573 (struct grub_efi_atapi_device_path): New structure.
42574 (grub_efi_atapi_device_path_t): New type.
42575 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42576 (struct grub_efi_fibre_channel_device_path): New structure.
42577 (grub_efi_fibre_channel_device_path_t): New type.
42578 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42579 (struct grub_efi_1394_device_path): New structure.
42580 (grub_efi_1394_device_path_t): New type.
42581 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42582 (struct grub_efi_usb_device_path): New structure.
42583 (grub_efi_usb_device_path_t): New type.
42584 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42585 (struct grub_efi_usb_class_device_path): New structure.
42586 (grub_efi_usb_class_device_path_t): New type.
42587 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42588 (struct grub_efi_i2o_device_path): New structure.
42589 (grub_efi_i2o_device_path_t): New type.
42590 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42591 (struct grub_efi_mac_address_device_path): New structure.
42592 (grub_efi_mac_address_device_path_t): New type.
42593 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42594 (struct grub_efi_ipv4_device_path): New structure.
42595 (grub_efi_ipv4_device_path_t): New type.
42596 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42597 (struct grub_efi_ipv6_device_path): New structure.
42598 (grub_efi_ipv6_device_path_t): New type.
42599 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42600 (struct grub_efi_infiniband_device_path): New structure.
42601 (grub_efi_infiniband_device_path_t): New type.
42602 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42603 (struct grub_efi_uart_device_path): New structure.
42604 (grub_efi_uart_device_path_t): New type.
42605 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42606 (struct grub_efi_vendor_messaging_device_path): New structure.
42607 (grub_efi_vendor_messaging_device_path_t): New type.
42608 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42609 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42610 (struct grub_efi_hard_drive_device_path): New structure.
42611 (grub_efi_hard_drive_device_path_t): New type.
42612 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42613 (struct grub_efi_cdrom_device_path): New structure.
42614 (grub_efi_cdrom_device_path_t): New type.
42615 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42616 (struct grub_efi_vendor_media_device_path): New structure.
42617 (grub_efi_vendor_media_device_path_t): New type.
42618 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42619 (struct grub_efi_file_path_device_path): New structure.
42620 (grub_efi_file_path_device_path_t): New type.
42621 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42622 (struct grub_efi_protocol_device_path): New structure.
42623 (grub_efi_protocol_device_path_t): New type.
42624 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42625 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42626 (struct grub_efi_bios_device_path): New structure.
42627 (grub_efi_bios_device_path_t): New type.
42628 (struct grub_efi_disk_io): New structure.
42629 (grub_efi_disk_io_t): New type.
42630 (struct grub_efi_block_io_media): New structure.
42631 (grub_efi_block_io_media_t): New type.
42632 (struct grub_efi_block_io): New structure.
42633 (grub_efi_block_io_t): New type.
42634
42635 * include/grub/misc.h (grub_stop): Removed.
42636 (grub_exit): New prototype.
42637 (grub_abort): Likewise.
42638
42639 * include/grub/disk.h (enum grub_disk_dev_id): Added
42640 GRUB_DISK_DEVICE_EFIDISK_ID.
42641
42642 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42643 disk/efi/efidisk.c.
42644 (kernel_syms.lst): Remove the target if an error occurs.
42645
49986a9f 426462006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42647
42648 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42649 as it was simply too buggy.
42650
970d3b8a 426512006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42652
42653 * kern/misc.c (grub_lltoa): New function.
42654 (grub_vsprintf): Added support for the long long suffix,
42655 i.e. "ll".
42656
ff04ec24 426572006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42658
42659 * Makefile.in (LDFLAGS): Add variable.
42660 (LD): Remove variable.
42661 * configure.ac: Add -m32 to LDFLAGS.
42662 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42663 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42664 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42665 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42666 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42667 variables.
42668 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42669 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42670 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42671
37e5e1a4 426722006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42673
42674 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42675 length for unknown glyph.
42676
c352d8dd 426772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42678
2eab1c0d 42679 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42680
2eab1c0d 42681 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42682 completely. Accept one more argument DIR. The caller has changed.
42683
42684 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42685
42686 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42687 (grub_efi_loaded_image_guid): New variable.
42688 (grub_efi_get_loaded_image): New function.
42689 (grub_arch_modules_addr): Likewise.
42690
42691 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42692 prototype.
42693
42694 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42695 (struct grub_efi_loaded_image): New structure.
42696 (grub_efi_loaded_image_t): New type.
42697
426982006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42699
c352d8dd 42700 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42701 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42702 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42703
6d01d6b4 427042006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42705
42706 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42707
976a4ea0 427082006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42709
42710 * DISTLIST: Added include/grub/efi/console.h,
42711 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42712 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42713
42714 * include/grub/efi/console.h: New file.
42715 * include/grub/efi/time.h: Likewise.
42716 * include/grub/i386/efi/kernel.h: Likewise.
42717 * kern/efi/init.c: Likewise.
42718 * kern/efi/mm.c: Likewise.
42719 * term/efi/console.c: Likewise.
f19dbdb7 42720
976a4ea0 42721 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42722 (grub_stop): Removed.
42723 (grub_get_rtc): Likewise.
42724 (grub_machine_init): Simply call grub_efi_init.
42725 (grub_machine_fini): Call grub_efi_fini.
42726
42727 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42728 (grub_efi_output_string): Removed.
42729 (grub_efi_stall): New function.
42730 (grub_stop): Likewise.
42731 (grub_get_rtc): Likewise.
42732
42733 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42734 (grub_efi_stall): New prototype.
42735 (grub_efi_allocate_pages): Likewise.
42736 (grub_efi_free_pages): Likewise.
42737 (grub_efi_get_memory_map): Likewise.
42738 (grub_efi_mm_init): Likewise.
42739 (grub_efi_mm_fini): Likewise.
42740 (grub_efi_init): Likewise.
42741 (grub_efi_fini): Likewise.
42742
42743 * include/grub/i386/efi/time.h: Do not include
42744 grub/symbol.h. Include grub/efi/time.h.
42745 (GRUB_TICKS_PER_SECOND): Removed.
42746 (grub_get_rtc): Likewise.
42747
42748 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42749 Added padding. The EFI spec is buggy.
42750 (GRUB_EFI_BLACK): New macro.
42751 (GRUB_EFI_BLUE): Likewise.
42752 (GRUB_EFI_GREEN): Likewise.
42753 (GRUB_EFI_CYAN): Likewise.
42754 (GRUB_EFI_RED): Likewise.
42755 (GRUB_EFI_MAGENTA): Likewise.
42756 (GRUB_EFI_BROWN): Likewise.
42757 (GRUB_EFI_LIGHTGRAY): Likewise.
42758 (GRUB_EFI_BRIGHT): Likewise.
42759 (GRUB_EFI_DARKGRAY): Likewise.
42760 (GRUB_EFI_LIGHTBLUE): Likewise.
42761 (GRUB_EFI_LIGHTGREEN): Likewise.
42762 (GRUB_EFI_LIGHTCYAN): Likewise.
42763 (GRUB_EFI_LIGHTRED): Likewise.
42764 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42765 (GRUB_EFI_YELLOW): Likewise.
42766 (GRUB_EFI_WHITE): Likewise.
42767 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42768 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42769 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42770 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42771 (GRUB_EFI_BACKGROUND_RED): Likewise.
42772 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42773 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42774 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42775 (GRUB_EFI_TEXT_ATTR): Likewise.
42776
42777 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42778 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42779 (kernel_mod_HEADERS): Added efi/time.h.
42780
83709125 427812006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42782
42783 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42784 include/grub/efi/api.h, include/grub/efi/console_control.h,
42785 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42786 include/grub/i386/efi/time.h, kern/efi/efi.c,
42787 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42788 and util/i386/efi/grub-mkimage.c.
42789
42790 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42791
42792 * genmk.rb (PModule#rule): Do not export symbols if
42793 #{prefix}_EXPORTS is set to "no".
42794
42795 * conf/i386-efi.mk: New file.
42796 * conf/i386-efi.rmk: Likewise.
42797 * include/grub/efi/api.h: Likewise.
42798 * include/grub/efi/console_control.h: Likewise.
42799 * include/grub/efi/efi.h: Likewise.
42800 * include/grub/efi/pe32.h: Likewise.
42801 * include/grub/i386/efi/time.h: Likewise.
42802 * kern/efi/efi.c: Likewise.
42803 * kern/i386/efi/init.c: Likewise.
42804 * kern/i386/efi/startup.S: Likewise.
42805 * util/i386/efi/grub-mkimage.c: Likewise.
42806
428072006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42808
42809 * include/grub/script.h: Include <grub/parser.h> and
42810 "grub_script.tab.h".
42811 (struct grub_lexer_param): New struct.
42812 (struct grub_parser_param): Likewise.
42813 (grub_script_create_arglist): Pass the state in an argument.
42814 (grub_script_add_arglist): Likewise.
42815 (grub_script_create_cmdline): Likewise.
42816 (grub_script_create_cmdblock): Likewise.
42817 (grub_script_create_cmdif): Likewise.
42818 (grub_script_create_cmdmenu): Likewise.
42819 (grub_script_add_cmd): Likewise.
42820 (grub_script_arg_add): Likewise.
42821 (grub_script_lexer_ref): Likewise.
42822 (grub_script_lexer_deref): Likewise.
42823 (grub_script_lexer_record_start): Likewise.
42824 (grub_script_lexer_record_stop): Likewise.
42825 (grub_script_mem_record): Likewise.
42826 (grub_script_mem_record_stop): Likewise.
42827 (grub_script_malloc): Likewise.
42828 (grub_script_yylex): Likewise.
42829 (grub_script_yyparse): Likewise.
42830 (grub_script_yyerror): Likewise.
42831 (grub_script_yylex): Likewise.
42832 (grub_script_lexer_init): Return the state.
42833
42834 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42835 (grub_script_lexer_done): Likewise.
42836 (grub_script_lexer_getline): Likewise.
42837 (grub_script_lexer_refs): Likewise.
42838 (script): Likewise.
42839 (newscript): Likewise.
42840 (record): Likewise.
42841 (recording): Likewise.
42842 (recordpos): Likewise.
42843 (recordlen): Likewise.
42844 (grub_script_lexer_init): Return the state instead of setting
42845 global variables.
42846 (grub_script_lexer_ref): Use the newly added argument for state
42847 instead of globals.
42848 (grub_script_lexer_deref): Likewise.
42849 (grub_script_lexer_record_start): Likewise.
42850 (grub_script_lexer_record_stop): Likewise.
42851 (recordchar): Likewise.
42852 (nextchar): Likewise.
42853 (grub_script_yylex2): Likewise.
42854 (grub_script_yylex): Likewise.
42855 (grub_script_yyerror): Likewise.
42856
42857 * normal/parser.y (func_mem): Removed variable.
42858 (menu_entry): Likewise.
42859 (err): Likewise.
42860 (%lex-param): New parser option.
42861 (%parse-param): Likewise.
42862 (script): Always return the AST.
42863 (argument): Pass the state around.
42864 (arguments): Likewise.
42865 (grubcmd): Likewise.
42866 (commands): Likewise.
42867 (function): Likewise.
42868 (menuentry): Likewise.
42869 (if_statement): Likewise.
42870 (if): Likewise.
42871
42872 * normal/script.c (grub_script_memused): Removed variable.
42873 (grub_script_parsed): Likewise.
42874 (grub_script_malloc): Added a state argument. Use that instead of
42875 global variables.
42876 (grub_script_mem_record): Likewise.
42877 (grub_script_mem_record_stop): Likewise.
42878 (grub_script_arg_add): Likewise.
42879 (grub_script_add_arglist): Likewise.
42880 (grub_script_create_cmdline): Likewise.
42881 (grub_script_create_cmdif): Likewise.
42882 (grub_script_create_cmdmenu): Likewise.
42883 (grub_script_add_cmd): Likewise.
42884 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42885
e2a8c904 428862006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42887
42888 * normal/command.c (grub_command_init): Remove the title command.
42889
42890 * normal/lexer.c (grub_script_yylex): Renamed from this...
42891 (grub_script_yylex2): ... to this.
42892 (grub_script_yylex): New function. Temporary
42893 introduced to filter some tokens.
42894 (grub_script_yyerror): Print a newline.
42895
42896 * normal/main.c (read_config_file): Output information about the
42897 lines that contain errors. Wait for a key after all lines have
42898 been processed. Don't return an empty menu.
42899
42900 * normal/parser.y (func_mem): Don't initialize.
42901 (menu_entry): Likewise.
42902 (err): New variable.
42903 (script): Don't return anything when an error was encountered.
42904 (ws, returns): Removed rules.
42905 (argument): Disabled concatenated variable support.
42906 (arguments): Remove explicit separators.
42907 (grubcmd): Likewise.
42908 (function): Likewise.
42909 (menuentry): Likewise.
42910 (if): Likewise.
42911 (commands): Likewise. Add error handling.
42912
42913 * normal/script.c (grub_script_create_cmdline): If
42914 `grub_script_parsed' is 0, assume the parser encountered an error.
42915
c9a86192 429162006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42917
42918 * configure.ac: Add support for EFI. Fix the typo
42919 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42920
70f3b243 429212006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42922
42923 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42924 foreign multibyte characters should be shown correctly.
42925
65f201ad 429262006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42927
42928 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42929 calculation.
42930 (read_config_file): Made it to close file before returning.
42931
b4b93674 429322006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42933
42934 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42935 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42936 video/i386/pc/vbefill.c.
42937
42938 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42939 video/i386/pc/vbefill.c.
42940
42941 * include/grub/video.h (grub_video_blit_format): New enum.
42942 (grub_video_mode_info): Added new member blit_format.
42943 (grub_video_get_blit_format): New function prototype.
42944
42945 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42946 function prototype.
42947 (grub_video_vbe_map_rgb): Likewise.
42948 (grub_video_vbe_unmap_color): Likewise.
42949
42950 * include/grub/i386/pc/vbeblit.h: New file.
42951
42952 * include/grub/i386/pc/vbefill.h: New file.
42953
42954 * video/video.c (grub_video_get_blit_format): New function.
42955 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42956 (grub_video_vbe_map_rgb): Likewise.
42957 (grub_video_vbe_unmap_color): Likewise.
42958
42959 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42960 optimized fills.
42961 (grub_video_vbe_blit_render_target): Changed to use more optimized
42962 blits.
42963 (grub_video_vbe_setup): Added detection for optimized settings.
42964 (grub_video_vbe_create_render_target): Likewise.
42965
42966 * video/i386/pc/vbeblit.c: New file.
42967
42968 * video/i386/pc/vbefill.c: New file.
42969
c2379b9c 429702006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42971
42972 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42973 here...
42974
42975 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42976 parsing to support both hex and dec ranges. If filename was missing
42977 show usage information.
42978
bd0d7896 429792006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42980
42981 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42982 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42983
42984 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42985 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42986 (video_mod_SOURCES): Added.
42987 (video_mod_CFLAGS): Likewise.
42988 (video_mod_LDFLAGS): Likewise.
42989 (gfxterm_mod_SOURCES): Likewise.
42990 (gfxterm_mod_CFLAGS): Likewise.
42991 (gfxterm_mod_LDFLAGS): Likewise.
42992 (videotest_mod_SOURCES): Likewise.
42993 (videotest_mod_CFLAGS): Likewise.
42994 (videotest_mod_LDFLAGS): Likewise.
42995 (vesafb_mod_SOURCES): Removed.
42996 (vesafb_mod_CFLAGS): Likewise.
42997 (vesafb_mod_LDFLAGS): Likewise.
42998 (vga_mod_SOURCES): Likewise.
42999 (vga_mod_CFLAGS): Likewise.
43000 (vga_mod_LDFLAGS): Likewise.
43001
43002 * commands/videotest.c: New file.
43003
43004 * font/manager.c (fill_with_default_glyph): Modified to use
43005 grub_font_glyph.
43006 (grub_font_get_glyph): Likewise.
43007 (fontmanager): Renamed from this...
43008 (font_manager): ... to this.
43009
43010 * include/grub/font.h (grub_font_glyph): Added new structure.
43011 (grub_font_get_glyph): Modified to use grub_font_glyph.
43012
43013 * include/grub/misc.h (grub_abs): Added as inline function.
43014
43015 * include/grub/video.h: New file.
43016
43017 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43018 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43019 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43020 (grub_vbe_get_controller_info): Renamed from this...
43021 (grub_vbe_bios_get_controller_info): ... to this.
43022 (grub_vbe_get_mode_info): Renamed from this...
43023 (grub_vbe_bios_get_mode_info): ... to this.
43024 (grub_vbe_set_mode): Renamed from this...
43025 (grub_vbe_bios_set_mode): ... to this.
43026 (grub_vbe_get_mode): Renamed from this...
43027 (grub_vbe_bios_get_mode): ... to this.
43028 (grub_vbe_set_memory_window): Renamed from this...
43029 (grub_vbe_bios_set_memory_window): ... to this.
43030 (grub_vbe_get_memory_window): Renamed from this...
43031 (grub_vbe_bios_get_memory_window): ... to this.
43032 (grub_vbe_set_scanline_length): Renamed from this...
43033 (grub_vbe_set_scanline_length): ... to this.
43034 (grub_vbe_get_scanline_length): Renamed from this...
43035 (grub_vbe_bios_get_scanline_length): ... to this.
43036 (grub_vbe_set_display_start): Renamed from this...
43037 (grub_vbe_bios_set_display_start): ... to this.
43038 (grub_vbe_get_display_start): Renamed from this...
43039 (grub_vbe_bios_get_display_start): ... to this.
43040 (grub_vbe_set_palette_data): Renamed from this...
43041 (grub_vbe_bios_set_palette_data): ... to this.
43042 (grub_vbe_set_pixel_rgb): Removed.
43043 (grub_vbe_set_pixel_index): Likewise.
43044
43045 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43046 from this...
43047 (grub_vbe_bios_get_controller_info): ... to this.
43048 (grub_vbe_get_mode_info): Renamed from this...
43049 (grub_vbe_bios_get_mode_info): ... to this.
43050 (grub_vbe_set_mode): Renamed from this...
43051 (grub_vbe_bios_set_mode): ... to this.
43052 (grub_vbe_get_mode): Renamed from this...
43053 (grub_vbe_bios_get_mode): ... to this.
43054 (grub_vbe_set_memory_window): Renamed from this...
43055 (grub_vbe_bios_set_memory_window): ... to this.
43056 (grub_vbe_get_memory_window): Renamed from this...
43057 (grub_vbe_bios_get_memory_window): ... to this.
43058 (grub_vbe_set_scanline_length): Renamed from this...
43059 (grub_vbe_set_scanline_length): ... to this.
43060 (grub_vbe_get_scanline_length): Renamed from this...
43061 (grub_vbe_bios_get_scanline_length): ... to this.
43062 (grub_vbe_set_display_start): Renamed from this...
43063 (grub_vbe_bios_set_display_start): ... to this.
43064 (grub_vbe_get_display_start): Renamed from this...
43065 (grub_vbe_bios_get_display_start): ... to this.
43066 (grub_vbe_set_palette_data): Renamed from this...
43067 (grub_vbe_bios_set_palette_data): ... to this.
43068 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43069 getting corrupted after calling it. Added more pushes and pops.
43070 (grub_vbe_bios_set_mode): Likewise.
43071 (grub_vbe_bios_get_mode): Likewise.
43072 (grub_vbe_bios_get_memory_window): Likewise.
43073 (grub_vbe_bios_set_scanline_length): Likewise.
43074 (grub_vbe_bios_get_scanline_length): Likewise.
43075 (grub_vbe_bios_get_display_start): Likewise.
43076 (grub_vbe_bios_set_palette_data): Likewise.
43077
43078 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43079 (cl_insert): Likewise.
43080 (cl_delete): Likewise.
43081
43082 * term/gfxterm.c: New file.
43083
43084 * term/i386/pc/vesafb.c: Removed file.
43085
43086 * video/video.c: New file.
43087
43088 * video/i386/pc/vbe.c (real2pm): Added new function.
43089 (grub_video_vbe_draw_pixel): Likewise.
43090 (grub_video_vbe_get_video_ptr): Likewise.
43091 (grub_video_vbe_get_pixel): Likewise
43092 (grub_video_vbe_init): Likewise.
43093 (grub_video_vbe_fini): Likewise.
43094 (grub_video_vbe_setup): Likewise.
43095 (grub_video_vbe_get_info): Likewise.
43096 (grub_video_vbe_set_palette): Likewise.
43097 (grub_video_vbe_get_palette): Likewise.
43098 (grub_video_vbe_set_viewport): Likewise.
43099 (grub_video_vbe_get_viewport): Likewise.
43100 (grub_video_vbe_map_color): Likewise.
43101 (grub_video_vbe_map_rgb): Likewise.
43102 (grub_video_vbe_map_rgba): Likewise.
43103 (grub_video_vbe_unmap_color): Likewise.
43104 (grub_video_vbe_fill_rect): Likewise.
43105 (grub_video_vbe_blit_glyph): Likewise.
43106 (grub_video_vbe_blit_bitmap): Likewise.
43107 (grub_video_vbe_blit_render_target): Likewise.
43108 (grub_video_vbe_scroll): Likewise.
43109 (grub_video_vbe_swap_buffers): Likewise.
43110 (grub_video_vbe_create_render_target): Likewise.
43111 (grub_video_vbe_delete_render_target): Likewise.
43112 (grub_video_vbe_set_active_render_target): Likewise.
43113 (grub_vbe_set_pixel_rgb): Remove function.
43114 (grub_vbe_set_pixel_index): Likewise.
43115 (index_color_mode): Remove static variable.
43116 (active_mode): Likewise.
43117 (framebuffer): Likewise.
43118 (bytes_per_scan_line): Likewise.
43119 (grub_video_vbe_adapter): Added new static variable.
43120 (framebuffer): Likewise.
43121 (render_target): Likewise.
43122 (initial_mode): Likewise.
43123 (mode_in_use): Likewise.
43124 (mode_list): Likewise.
43125
5f97350b 431262006-03-10 Marco Gerards <marco@gnu.org>
43127
43128 * configure.ac (AC_INIT): Bumped to 1.93.
43129
43130 * DISTLIST: Added `include/grub/hfs.h'.
43131
a3c5c6f8 431322006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43133
43134 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43135 18H, which might help the BIOS falling back to next boot media.
43136
6de53d26 431372006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43138
43139 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43140 Poe Chen <poe.poechen@gmail.com>.
43141
77c4a393 431422006-01-17 Marco Gerards <marco@gnu.org>
43143
43144 * include/grub/normal.h: Include <grub/script.h>.
43145 (grub_command_list): Removed struct.
43146 (grub_command_list_t): Removed type.
43147 (grub_menu_entry): Remove members `num' and `command_list'. Add
43148 members `commands' and `sourcecode'.
43149 * include/grub/script.h: Add inclusion guards.
43150 (grub_script_cmd_menuentry): New struct.
43151 (grub_script_execute_menuentry): New prototype.
43152 (grub_script_lexer_record_start): Likewise.
43153 (grub_script_lexer_record_stop): Likewise.
43154 * normal/execute.c (grub_script_execute_menuentry): New function.
43155 * normal/lexer.c (record, recording, recordpos, recordlen): New
43156 variables.
43157 (grub_script_lexer_record_start): New function.
43158 (grub_script_lexer_record_stop): Likewise.
43159 (recordchar): Likewise.
43160 (nextchar): Likewise.
43161 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43162 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43163 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43164 (current_menu): New variable.
43165 (free_menu): Mainly rewritten.
43166 (grub_normal_menu_addentry): New function.
43167 (read_config_file): Rewritten.
43168 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 43169 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 43170 the menu entry.
43171 (run): Mainly rewritten.
43172 * normal/parser.y (menu_entry): New variable.
43173 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43174 (menuentry): New rule.
43175 (command): Add `menuentry'.
43176 (if_statement): Allow additional returns before `fi'.
43177 * normal/script.c (grub_script_create_cmdmenu): New function.
43178
144f1f98 431792006-01-03 Marco Gerards <marco@gnu.org>
43180
43181 * INSTALL: GNU Bison is required.
43182 * configure.ac: Rewritten the test to detect Bison.
43183 * Makefile.in (YACC): New variable. Reported by Xun Sun
43184 <xun.sun.cn@gmail.com>.
43185
af4b2d89 431862006-01-03 Marco Gerards <marco@gnu.org>
43187
43188 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43189 the HFS+ filesystem to filesystem blocks.
43190 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43191 GCC warning is silenced.
43192
15643b71 431932006-01-03 Marco Gerards <marco@gnu.org>
43194
43195 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43196 read from disk from big endian to host byte order.
43197
00905879 431982006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43199
43200 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43201 documentation.
43202 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43203 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43204 embedded HFS+ filesystem.
43205 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43206 (grub_hfs_sblock): Move from here...
43207 * include/grub/hfs.h: To here... New file.
43208 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43209 documentation.
43210 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43211 New macros.
43212 (grub_hfsplus_volheader): Change type of member `magic' to
43213 `grub_uint16_t'.
43214 (grub_hfsplus_data): Add new member `embedded_offset'.
43215 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43216 returned block.
43217 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43218 Calculate the offset.
43219
8899bc3e 432202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43221
43222 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43223 Removed.
43224 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43225
ae8c0277 432262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43227
43228 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43229 ENV->NAME is NULL after allocating ENV->VALUE.
43230
07084456 432312005-12-25 Marco Gerards <marco@gnu.org>
43232
43233 * kern/env.c (grub_env_set): Rewritten the error handling code.
43234
4750f5f1 432352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43236
43237 * geninit.sh: Made more robust, and more portable.
43238
50214199 432392005-12-25 Marco Gerards <marco@gnu.org>
43240
43241 Add support for Apple HFS+ filesystems.
f19dbdb7 43242
50214199 43243 * fs/hfsplus.c: New file.
43244
43245 * DISTLIST: Added `fs/hfsplus.c'.
43246
43247 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43248 (hfsplus_mod_SOURCES): New variable.
43249 (hfsplus_mod_CFLAGS): Likewise.
43250 (hfsplus_mod_LDFLAGS): Likewise.
43251 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43252 (grub_setup_SOURCES): Likewise.
43253 (grub_mkdevicemap_SOURCES): Likewise.
43254 (grub_emu_SOURCES): Likewise.
43255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43256
43257 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43258
43259 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43260
befaed6c 432612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43262
43263 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43264 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43265 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43266 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43267 normal/lexer.c, normal/parser.y, normal/script.c, and
43268 partmap/gpt.c.
43269 Removed kern/sparc64/cache.c.
43270
43271 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43272 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43273 grub_emu_init.c.
43274
43275 * configure.ac (AC_INIT): Bumped to 1.92.
43276
6a124103 432772005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43278
43279 * kern/err.c (grub_error_push): Added new function to support error
43280 stacks.
43281 (grub_error_pop): Likewise.
43282 (grub_error_stack_items): New local variable to support error stacks.
43283 (grub_error_stack_pos): Likewise.
43284 (grub_error_stack_assert): Likewise.
43285 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43286 stack depth.
43287 (grub_print_error): Added support to print errors from error stack.
43288
43289 * include/grub/err.h (grub_error_push): Added function prototype.
43290 (grub_error_pop): Likewise.
43291
be973c1b 432922005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43293
43294 * configure.ac: Accept `powerpc64' as host_cpu.
43295 (amd64): Rename to `biarch32'.
43296
43297 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43298 non-cacheline-aligned addresses.
43299
43300 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43301 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43302 if `size' is non-zero.
43303
b04216ab 433042005-12-03 Marco Gerards <mgerards@xs4all.nl>
43305
43306 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43307 and `cd' to make sure the filename is not prefixed with a
43308 directory name.
43309 (pkgdata_MODULES): Add `gpt.mod'.
43310 (gpt_mod_SOURCES): New variable.
43311 (gpt_mod_CFLAGS): Likewise.
43312 (gpt_mod_LDFLAGS): Likewise.
43313
43314 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43315
43316 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43317 New macro.
43318
43319 * partmap/gpt.c: New file.
43320
43321 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43322 GPT partition map is detected.
43323
41730ed9 433242005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43325
43326 * commands/i386/pc/play.c: New file.
43327 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43328 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43329 macros.
f19dbdb7 43330
95dc3643 433312005-11-27 Marco Gerards <mgerards@xs4all.nl>
43332
43333 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43334 ((unused))' to silence gcc warning.
43335
1569ec51 433362005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43337
43338 * configure.ac: Correct `AC_PROG_YACC' test.
43339
9abde152 433402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43341
43342 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43343 check before installing files.
43344
44b83271 433452005-11-22 Mike Small <smallm@panix.com>
43346
43347 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43348 number regex so multidigit numbers are recognized correctly.
43349
433502005-11-22 Mike Small <smallm@panix.com>
43351
43352 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43353 debugging message before attempting to claim memory.
43354 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43355 multiple addresses in case of failure.
43356
9c12956b 433572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43358
43359 * term/tparm.c (get_space): Remove empty `if' statement.
43360
43361 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43362
43363 * kern/parser.c (check_varstate): Rename `state' to 's'.
43364
aeaf81d9 433652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43366
43367 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43368 variable definitions to the beginning of each function. Sort stack
43369 variables by size.
43370 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43371 `buf' argument to `char *'.
43372
79bbb63f 433732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43374
43375 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43376 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43377 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43378 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43379 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43380 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43381 configfile.mod, search.mod, gzio.mod and test.mod.
43382 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43383 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43384 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43385 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43386 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43387 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43388 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43389 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43390 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43391 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43392 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43393 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43394 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43395 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43396 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43397 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43398 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43399 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43400 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43401 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43402 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43403 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43404 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43405
43406 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43407 `grep --include'.
43408 (pkgdata_MODULES): Add test.mod.
43409
233b1628 434102005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43411
43412 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43413 appending to variables with "+=".
43414 (PModule): Use full pathname to generate *.lst filenames.
43415
43416 * Makefile.in: Fixed list rules moved from genmk.rb.
43417 (.DELETE_ON_ERROR): New special target.
43418 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43419
43420 * conf/i386-pc.rmk: Include conf/common.mk.
43421 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43422 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43423 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43424 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43425 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43426 configfile.mod, search.mod, gzio.mod and test.mod.
43427 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43428 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43429 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43430 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43431 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43432 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43433 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43434 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43435 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43436 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43437 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43438 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43439 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43440 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43441 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43442 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43443 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43444 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43445 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43446 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43447 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43448 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43449 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43450 here...
43451 * conf/common.rmk: ... to here. New file.
43452
43453 * conf/common.mk: New file.
43454
16f820c8 434552005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43456
43457 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43458 (grub_script.tab.c): ... here.
43459
43460 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43461 (grub_script.tab.c): ... here.
43462
43463 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43464 (grub_script.tab.c): ... here.
43465
43466 * normal/command.c (grub_command_find): Fixed a memory leak of
43467 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43468
63ba1554 434692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43470
43471 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43472 "@" which marks the start of a comment on ARM.
43473 (VARIABLE): Likewise.
43474
7f67dc13 434752005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43476
79bbb63f 43477 Add support for Linux/ADFS partition tables.
7f67dc13 43478
43479 * partmap/acorn.c: New file.
43480
43481 * include/grub/acorn_filecore.h: Likewise.
43482
43483 * DISTLIST: Added `partmap/acorn.c' and
43484 `include/grub/acorn_filecore.h'.
f19dbdb7 43485
7f67dc13 43486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43487 `partmap/acorn.c'.
43488 (pkgdata_MODULES): Add `acorn.mod'.
43489 (acorn_mod_SOURCES): New variable.
43490 (acorn_mod_CFLAGS): Likewise.
43491
43492 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43493 `partmap/acorn.c'.
43494 (pkgdata_MODULES): Add `acorn.mod'.
43495 (acorn_mod_SOURCES): New variable.
43496 (acorn_mod_CFLAGS): Likewise.
43497
43498 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43499 (pkgdata_MODULES): Add `acorn.mod'.
43500 (acorn_mod_SOURCES): New variable.
43501 (acorn_mod_CFLAGS): Likewise.
43502 (acorn_mod_LDFLAGS): Likewise.
43503
43504 * include/types.h (grub_disk_addr_t): New typedef.
43505
6d099807 435062005-11-13 Marco Gerards <mgerards@xs4all.nl>
43507
43508 * geninit.sh: New file.
43509
43510 * geninitheader.sh: Likewise.
43511
43512 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43513 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43514 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43515 * commands/configfile.c (grub_configfile_init)
43516 (grub_configfile_fini): Likewise.
43517 * commands/default.c (grub_default_init, grub_default_fini):
43518 Likewise.
43519 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43520 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43521 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43522 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43523 Likewise.
43524 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43525 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43526 Likewise.
43527 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43528 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43529 Likewise.
43530 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43531 Likewise.
fe6b695a 43532 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43533 Likewise.
43534 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43535 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43536 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43537 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43538 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43539 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43540 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43541 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43542 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43543 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43544 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43545 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43546 * partmap/amiga.c (grub_amiga_partition_map_init)
43547 (grub_amiga_partition_map_fini): Likewise.
43548 * partmap/apple.c (grub_apple_partition_map_init)
43549 (grub_apple_partition_map_fini): Likewise.
43550 * partmap/pc.c (grub_pc_partition_map_init)
43551 (grub_pc_partition_map_fini): Likewise.
43552 * partmap/sun.c (grub_sun_partition_map_init,
43553 grub_sun_partition_map_fini): Likewise.
43554 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43555 Likewise.
43556
43557 * util/grub-emu.c: Include <grub_modules_init.h>.
43558 (main): Don't initialize and de-initialize any modules directly,
43559 use `grub_init_all' and `grub_fini_all' instead.
43560
43561 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43562 `grub_vesafb_mod_init'.
43563 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43564 all users.
43565 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43566 `grub_vga_mod_init'. Updated all users.
43567 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43568
6d099807 43569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43570 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43571 rules.
43572
43573 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43574 Generate a function to initialize the module in utilities.
43575 Updated all callers.
43576 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43577 initialize the module in utilities. Updated all callers.
43578
9046bcf0 435792005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43580
43581 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43582 escape sequence and a literal ^L to clear the screen.
43583
43584 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43585 when returning from Open Firmware.
43586
d13ea639 435872005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43588
43589 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43590 (grub_ofconsole_height): Likewise.
43591 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43592 manually insert a '\n'.
43593 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43594 `grub_ofconsole_height'. Return early if these are already set.
43595
a8fcf206 435962005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43597
43598 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43599 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43600 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43601 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43602 and `normal/script.c'.
43603 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43604 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43605 (test_mod_SOURCES): New variable.
43606 (test_mod_CFLAGS): Likewise.
43607 (test_mod_LDFLAGS): Likewise.
43608 (pkgdata_MODULES): Add `test.mod'.
43609 (grub_script.tab.c): New rule.
43610 (grub_script.tab.h): Likewise.
43611
b6b32745 436122005-11-07 Marco Gerards <mgerards@xs4all.nl>
43613
43614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43615 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43616 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43617 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43618 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43619 (test_mod_SOURCES): New variable.
43620 (test_mod_CFLAGS): Likewise.
43621 (pkgdata_MODULES): Add `test.mod'.
43622 (grub_script.tab.c): New rule.
43623 (grub_script.tab.h): Likewise.
43624
daac212a 436252005-11-06 Marco Gerards <mgerards@xs4all.nl>
43626
43627 Add initial scripting support.
43628
43629 * commands/test.c: New file.
43630 * include/grub/script.h: Likewise.
43631 * normal/execute.c: Likewise.
43632 * normal/function.c: Likewise.
43633 * normal/lexer.c: Likewise.
43634 * normal/parser.y: Likewise.
43635 * normal/script.c: Likewise.
43636
43637 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43638
daac212a 43639 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43640 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43641 `normal/function.c' and `normal/script.c'.
43642 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43643 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43644 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43645 variables.
daac212a 43646 (pkgdata_MODULES): Add `test.mod'.
43647 (grub_script.tab.c): New rule.
43648 (grub_script.tab.h): Likewise.
43649
43650 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43651
43652 * include/grub/normal.h (grub_test_init): New prototype.
43653 (grub_test_fini): Likewise.
f19dbdb7 43654
daac212a 43655 * normal/command.c: Include <grub/script.h>.
43656 (grub_command_execute): Rewritten.
f19dbdb7 43657
daac212a 43658 * util/grub-emu.c (main): Call `grub_test_init' and
43659 `grub_test_fini'.
43660
77500b2b 436612005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43662
43663 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43664 to 0.
43665 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43666 there are no pending characters.
43667
e45deb9e 436682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43669
43670 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43671 `grub_strndup' to drop device arguments. Replace unnecessary
43672 `grub_strndup' with `grub_strdup'.
43673
4ce32619 436742005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43675
43676 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43677 `debug' environment variable has been set.
43678
436792005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43680
4ce32619 43681 * Makefile.in (install-local): Use $(DATA).
43682 (uninstall): Likewise.
43683 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43684 (sbin_UTILITIES): ... to here.
43685 (sbin_SCRIPTS): New variable.
43686 (grub_install_SOURCES): New variable.
43687 * util/powerpc/ieee1275/grub-install.in: New file.
43688 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43689 variable.
43690 (add_segments): Call `grub_util_get_path'.
43691
25fe6f03 436922005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43693
43694 From Timothy Baldwin:
43695 * commands/ls.c (grub_ls_list_files): Close FILE with
43696 grub_file_close.
43697 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43698
04ccf3ec 436992005-10-24 Marco Gerards <mgerards@xs4all.nl>
43700
43701 * include/grub/parser.h: New file.
43702
43703 * kern/parser.c: Likewise.
43704
43705 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43706 (grub_setup_SOURCES): Likewise.
43707 (grub_probefs_SOURCES): Likewise.
43708 (grub_emu_SOURCES): Likewise.
43709 (kernel_img_HEADERS): Add `parser.h'.
43710
43711 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43712 (grub_emu_SOURCES): Add `kern/parser.c'.
43713 (grubof_SOURCES): Likewise.
43714
43715 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43716 (grubof_SOURCES): Add `kern/parser.c'.
43717
43718 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43719
43720 * kern/misc.c (grub_split_cmdline): Removed function.
43721
43722 * kern/rescue.c: Include <grub/parser.h>.
43723 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43724 of `grub_split_cmdline'.
43725
43726 * normal/command.c: Include <grub/parser.h>.
43727 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43728 of `grub_split_cmdline'.
43729
43730 * normal/completion.c: Include <grub/parser.h>.
43731 (cmdline_state): New variable.
43732 (iterate_dir): End the filename with a quote depending on the
43733 command line state.
43734 (get_state): new function.
43735 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43736 split the arguments and determine the current argument. When the
43737 argument string is not quoted, escape all spaces.
43738
6d8f4b0e 437392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43740
43741 * normal/sparc64/setjmp.S: New file.
43742
15cf03ed 437432005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43744
43745 * include/grub/sparc64/libgcc.h: New file.
43746 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43747 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43748 normal/sparc64/setjmp.c.
43749
03e8661a 437502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43751
43752 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43753 * kern/sparc64/cache.S: New file.
43754 * kern/sparc64/cache.c: Removed.
43755 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43756 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43757 -mtune=ultrasparc.
43758 (COMMON_LDFLAGS): Add -melf64_sparc.
43759 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43760 (grubof_SOURCES): Use cache.S instead of cache.c.
43761 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43762 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43763 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43764 commented though.
43765 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43766 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43767 (linux_mod_CFLAGS): Commented out.
43768 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43769 out because module isn't built.
43770 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43771 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43772 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43773 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43774 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43775 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43776 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43777 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43778 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43779 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43780 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43781 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43782 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43783 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43784
34eeec8a 437852005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43786
43787 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43788 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43789 longer, because HFS should not be used on PC.
43790
708367a3 437912005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43792
43793 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43794 consistently within the loop.
43795
6fa1251a 437962005-10-15 Marco Gerards <mgerards@xs4all.nl>
43797
43798 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43799 directory can not be read.
43800
4801580b 438012005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43802
43803 * configure.ac (AC_INIT): Increase the version number to 1.91.
43804
43805 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43806 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43807 term/i386/pc/serial.c.
43808
219ad426 438092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43810
43811 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43812 file size must be permitted.
43813
43814 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43815 between %ah and %al.
43816
688e5699 438172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43818
43819 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43820 grub_uint64_t.
43821 Call the hook with a NUL-terminated filename.
43822 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43823 grub_cpu_to_be32.
43824
43825 * kern/term.c (cursor_state): New variable.
43826 (grub_term_set_current): Reset the cursor state on a new
43827 terminal.
43828 (grub_setcursor): Rewritten to use CURSOR_STATE.
43829 (grub_getcursor): New function.
43830
43831 * include/grub/term.h (grub_getcursor): New prototype.
43832
43833 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43834 integers on ARM. Reported by Timothy Baldwin
43835 <T.E.Baldwin99@members.leeds.ac.uk>.
43836
bb34586c 438372005-10-11 Marco Gerards <mgerards@xs4all.nl>
43838
43839 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43840 allocated.
43841 (grub_sfs_dir): Likewise.
43842
9a909877 438432005-10-09 Marco Gerards <mgerards@xs4all.nl>
43844
43845 Add support for the SFS filesystem.
43846
43847 * fs/sfs.c: New file.
43848
43849 * DISTLIST: Added `fs/sfs.c'.
43850
43851 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43852 (grub_probefs_SOURCES): Likewise.
43853 (grub_emu_SOURCES): Likewise.
43854 (pkgdata_MODULES): Add `sfs.mod'.
43855 (sfs_mod_SOURCES): New variable.
43856 (sfs_mod_CFLAGS): Likewise.
43857 (sfs_mod_LDFLAGS): Likewise.
43858
43859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43860 (pkgdata_MODULES): Add `sfs.mod'.
43861 (sfs_mod_SOURCES): New variable.
43862 (sfs_mod_CFLAGS): Likewise.
43863
43864 * util/grub-emu.c (main): Call `grub_sfs_init' and
43865 `grub_sfs_fini'.
43866
43867 * include/grub/fs.h (grub_sfs_init): New prototype.
43868 (grub_sfs_fini): Likewise.
43869
57bdbde3 438702005-10-07 Marco Gerards <mgerards@xs4all.nl>
43871
43872 Add support for the AFFS filesystem.
43873
43874 * fs/affs.c: New file.
43875
43876 * DISTLIST: Added `fs/affs.c'.
43877
43878 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43879 (grub_probefs_SOURCES): Likewise.
43880 (grub_emu_SOURCES): Likewise.
43881 (pkgdata_MODULES): Add `affs.mod'.
43882 (affs_mod_SOURCES): New variable.
43883 (affs_mod_CFLAGS): Likewise.
43884 (affs_mod_LDFLAGS): Likewise.
43885
43886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43887 (pkgdata_MODULES): Add `affs.mod'.
43888 (affs_mod_SOURCES): New variable.
43889 (affs_mod_CFLAGS): Likewise.
43890
43891 * util/grub-emu.c (main): Call `grub_affs_init' and
43892 `grub_affs_fini'.
43893
43894 * include/grub/fs.h (grub_affs_init): New prototype.
43895 (grub_affs_fini): Likewise.
43896
047b67e0 438972005-10-01 Marco Gerards <mgerards@xs4all.nl>
43898
43899 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43900
59b8208a 439012005-10-01 Marco Gerards <mgerards@xs4all.nl>
43902
43903 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43904 `-m32' to CFLAGS.
43905
43906 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43907 linking.
f19dbdb7 43908
59b8208a 43909 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43910 (COMMON_LDFLAGS): New variable.
43911 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43912 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43913 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43914 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43915 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43916 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43917 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43918 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43919 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43920 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43921 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43922 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43923 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43924 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43925 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43926 variables.
43927 (normal_mod_ASFLAGS): Add `-m32'.
43928
43929 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43930 (grub_host_size_t, grub_host_ssize_t): New types.
43931 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43932 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43933 `GRUB_HOST_SIZEOF_VOID_P'.
43934
43935 * include/grub/kernel.h (struct grub_module_header): Type of
43936 member offset changed to `grub_host_off_t'. Type of member size
43937 changed to `grub_host_size_t'.
43938 (struct grub_module_info): Type of member offset changed to
43939 `grub_host_off_t'. Type of member size changed to
43940 `grub_host_size_t'.
43941
b4093103 439422005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43943
43944 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43945
b4093103 43946 * kern/i386/pc/startup.S (multiboot_header): New label.
43947 (multiboot_entry): Likewise.
43948 (multiboot_trampoline): Likewise.
43949
43950 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43951 Increased to 0x4A0.
43952
43953 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43954 put parentheses after a question mark.
43955 [!GRUB_UTIL] (my_mod): New variable.
43956
43957 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43958
b2499b29 439592005-09-28 Marco Gerards <mgerards@xs4all.nl>
43960
43961 Adds support for the XFS filesystem. Btrees are not supported
43962 yet.
43963
43964 * fs/xfs.c: New file.
43965
43966 * DISTLIST: Added `fs/xfs.c'.
43967
43968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43969 (grub_probefs_SOURCES): Likewise.
43970 (grub_emu_SOURCES): Likewise.
43971 (pkgdata_MODULES): Add `xfs.mod'.
43972 (xfs_mod_SOURCES): New variable.
43973 (xfs_mod_CFLAGS): Likewise.
43974
43975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43976 (pkgdata_MODULES): Add `xfs.mod'.
43977 (xfs_mod_SOURCES): New variable.
43978 (xfs_mod_CFLAGS): Likewise.
43979
43980 * util/grub-emu.c (main): Call `grub_xfs_init' and
43981 `grub_xfs_fini'.
43982
43983 * include/grub/fs.h (grub_xfs_init): New prototype.
43984 (grub_xfs_fini): Likewise.
43985
f19dbdb7 43986
83d37a62 439872005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43988
43989 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43990 color modes, allow greater than 16 colors to be configured as
43991 a default palette.
43992
47d2d65e 439932005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43994
43995 * normal/completion.c (complete_arguments): Add the qualifier
43996 const into OPTIONS.
43997
43998 From Omniflux <omniflux+lists@omniflux.com>:
43999 * include/grub/terminfo.h: New file.
44000 * include/grub/tparm.h: Likewise.
44001 * include/grub/i386/pc/serial.h: Likewise.
44002 * term/terminfo.c: Likewise.
44003 * term/tparm.c: Likewise.
44004 * term/i386/pc/serial.c: Likewise.
44005 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44006 serial.mod.
44007 (terminfo_mod_SOURCES): New variable.
44008 (terminfo_mod_CFLAGS): Likewise.
44009 (serial_mod_SOURCES): Likewise.
44010 (serial_mod_CFLAGS): Likewise.
44011
48b671ff 440122005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44013
44014 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44015 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44016 and kern/powerpc/ieee1275/cmain.c, respectively.
44017
44018 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44019 * kern/powerpc/ieee1275/crt0.S: ... here.
44020
44021 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44022 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 44023
48b671ff 44024 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44025 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44026 instead of boot/powerpc/ieee1275/crt0.S and
44027 boot/powerpc/ieee1275/cmain.c, respectively.
44028
44029 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44030 sectors. It was not used anyway.
44031
09fc77a7 440322005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44033
44034 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44035 `unused parameter' warning.
44036
003789c7 440372005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44038
44039 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44040 function.
44041 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44042 getcharwidth.
44043
67f44c86 440442005-08-28 Marco Gerards <metgerards@student.han.nl>
44045
44046 * include/grub/normal.h (enum grub_completion_type): Added
44047 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44048
44049 * normal/cmdline.c (print_completion): Handle
44050 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44051 * normal/menu_entry.c (store_completion): Likewise.
44052
44053 * normal/completion.c (complete_arguments): New function.
44054 (grub_normal_do_completion): Call `complete_arguments' when the
44055 current words start with a dash.
44056
0b5abe02 440572005-08-27 Marco Gerards <metgerards@student.han.nl>
44058
44059 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44060 `gzio.mod' instead of `io.mod').
44061
d9864ee1 440622005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44063
44064 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44065 (DISTDIRS): Added io and video.
44066 Rewrite the search routine to make an output consistently.
44067
44068 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44069 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44070 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44071 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44072 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44073 util/powerpc/ieee1275/misc.c.
f19dbdb7 44074
d9864ee1 44075 * include/grub/gzio.h: New file.
44076 * io/gzio.c: Likewise.
f19dbdb7 44077
d9864ee1 44078 * kern/file.c (grub_file_close): Call grub_device_close only if
44079 FILE->DEVICE is not NULL.
44080
44081 * include/grub/mm.h [!NULL] (NULL): New macro.
44082
44083 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44084
44085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44086 (pkgdata_MODULES): Added gzio.mod.
44087 (gzio_mod_SOURCES): New variable.
44088 (gzio_mod_CFLAGS): Likewise.
44089
44090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44091 (pkgdata_MODULES): Added gzio.mod.
44092 (gzio_mod_SOURCES): New variable.
44093 (gzio_mod_CFLAGS): Likewise.
44094
44095 * commands/cat.c: Include grub/gzio.h.
44096 (grub_cmd_cat): Use grub_gzfile_open instead of
44097 grub_file_open.
f19dbdb7 44098
d9864ee1 44099 * commands/cmp.c: Include grub/gzio.h.
44100 (grub_cmd_cmp): Use grub_gzfile_open instead of
44101 grub_file_open.
44102
44103 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44104 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44105 grub_file_open.
44106 (grub_rescue_cmd_module): Likewise.
44107
fa46f4b5 441082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44109
44110 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44111 kern/sparc64/ieee1275/init.c because it contains _start.
44112 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44113
e9211b5d 441142005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44115
44116 * configure.ac: Add support for sparc64 host with ieee1275
44117 firmware.
44118 * configure: Generated from configure.ac.
44119 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44120 instead of int.
44121 (grub_ofdisk_read): Likewise.
44122 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44123 pointers as (void *) to remove a warning.
44124 (grub_ofdisk_close): Likewise.
44125 (grub_ofdisk_read): Likewise.
44126 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44127 returns, so make it return void to remove a warning.
44128 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44129 Corresponding prototype change.
44130 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44131 values, and cast the pointers as (void *) to remove a warning.
44132 (grub_mm_dump): Likewise.
44133 * conf/sparc64-ieee1275.mk: New file.
44134 * conf/sparc64-ieee1275.rmk: Likewise.
44135 * include/grub/sparc64/setjmp.h: Likewise.
44136 * include/grub/sparc64/types.h: Likewise.
44137 * include/grub/sparc64/ieee1275/console.h: Likewise.
44138 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44139 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44140 * include/grub/sparc64/ieee1275/time.h: Likewise.
44141 * kern/sparc64/cache.c: Likewise.
44142 * kern/sparc64/dl.c: Likewise.
44143 * kern/sparc64/ieee1275/init.c: Likewise.
44144 * kern/sparc64/ieee1275/openfw.c: Likewise.
44145
385c6a92 441462005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44147
44148 * util/console.c (grub_ncurses_putchar): If C is greater than
44149 0x7f, set C to a question mark.
44150 (grub_ncurses_getcharwidth): New function.
44151 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44152 getcharwidth.
44153
44154 * normal/menu.c (print_entry): Made aware of Unicode. First,
44155 convert TITLE to UCS-4, and predict the cursor position by
44156 grub_getcharwidth.
44157
44158 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44159 const to SRC.
44160 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44161
16ccb8b1 441622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44163
44164 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44165 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44166 grub_strcat.
44167
44168 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44169 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44170 grub_strcpy and grub_strlen. Take it into account that a space
44171 character is inserted as a delimiter.
44172
6a85ce79 441732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44174
44175 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 44176 invalid magic in the error.
6a85ce79 44177
44178 * commands/search.c: New file.
f19dbdb7 44179
6a85ce79 44180 * util/grub-emu.c (main): Call grub_search_init and
44181 grub_search_fini.
44182
44183 * kern/rescue.c (grub_rescue_print_disks): Removed.
44184 (grub_rescue_print_devices): New function.
44185 (grub_rescue_cmd_ls): Use grub_device_iterate with
44186 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44187 grub_rescue_print_disks.
44188
44189 * kern/partition.c (grub_partition_iterate): Return the result of
44190 PARTMAP->ITERATE instead of GRUB_ERRNO.
44191
44192 * kern/device.c: Include grub/partition.h.
44193 (grub_device_iterate): New function.
44194
44195 * include/grub/partition.h (grub_partition_iterate): Return int
44196 instead of grub_err_t.
44197
44198 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44199 prototype.
44200 [GRUB_UTIL] (grub_search_fini): Likewise.
44201
44202 * include/grub/device.h (grub_device_iterate): New prototype.
44203
44204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44205 commands/search.c.
44206 (pkgdata_MODULES): Added search.mod.
44207 (search_mod_SOURCES): New variable.
44208 (search_mod_CFLAGS): Likewise.
44209
44210 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44211 (pkgdata_MODULES): Added search.mod.
44212 (search_mod_SOURCES): New variable.
44213 (search_mod_CFLAGS): Likewise.
44214
44215 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44216 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44217 All callers changed.
44218
44219 * DISTLIST: Added commands/search.c.
44220
ef095434 442212005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44222
44223 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44224 conversion.
44225 (grub_getcharwidth): New function.
44226
44227 * kern/misc.c (grub_utf8_to_ucs4): New function.
44228
44229 * include/grub/term.h (struct grub_term): Added a new member
44230 "getcharwidth".
44231 (grub_getcharwidth): New prototype.
44232
44233 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44234
44235 * term/i386/pc/console.c (map_char): New function. Segregated from
44236 grub_console_putchar.
44237 (grub_console_putchar): Use map_char.
44238 (grub_console_getcharwidth): New function.
44239 (grub_console_term): Specified grub_console_getcharwidth as
44240 getcharwidth.
44241
44242 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44243 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44244
44245 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44246 GRUB_ERRNO.
44247 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44248 on grub_strtoul completely.
44249 (write_char): Declare local variables in the beginning of the
44250 function.
44251 (grub_vesafb_getcharwidth): New function.
44252 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44253 getcharwidth.
44254
1f0a95e4 442552005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44256
44257 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44258 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44259 commands/i386/pc/vbetest.c.
44260
44261 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44262 call grub_vbe_get_controller_info again, because the returned
44263 information is volatile.
44264 (grub_vbe_set_video_mode): Mostly rewritten.
44265 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44266 grub_vbe_status_t correctly.
44267 (grub_vbe_get_video_mode_info): Likewise.
44268 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44269 several if statements.
44270
44271 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44272 * commands/i386/pc/vbeinfo.c: ... this.
44273
44274 * commands/i386/pc/vbe_test.c: Renamed to ...
44275 * commands/i386/pc/vbetest.c: ... this.
44276
44277 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44278 ...
44279 (grub_cmd_vbeinfo): ... this. Save video modes before
44280 iterating. Skip a video mode, if it is not available, not enough
44281 information is given or it is monochrome. Show the memory
44282 model. Leave the interpretation of MODEVAR to grub_strtoul
44283 completely.
44284 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44285 (GRUB_MOD_FINI): Likewise.
44286
44287 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44288 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44289 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44290 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44291 grub_strtoul completely.
44292 (real2pm): Removed.
44293 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44294 (GRUB_MOD_FINI): Likewise.
44295
44296 * normal/misc.c: Include grub/mm.h.
44297
44298 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44299 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44300 (vbe_list_modes_mod_SOURCES): Removed.
44301 (vbe_list_modes_mod_CFLAGS): Likewise.
44302 (vbe_test_mod_SOURCES): Likewise.
44303 (vbe_test_mod_CFLAGS): Likewise.
44304 (vbeinfo_mod_SOURCES): New variable.
44305 (vbeinfo_mod_CFLAGS): Likewise.
44306 (vbetest_mod_SOURCES): Likewise.
44307 (vbetest_mod_CFLAGS): Likewise.
44308
992ffbbe 443092005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44310
44311 * normal/misc.c: New file.
44312
44313 * DISTLIST: Added normal/misc.c.
f19dbdb7 44314
992ffbbe 44315 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44316 DISK to HOOK. Call HOOK with DISK.
44317 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44318 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44319 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44320
44321 * normal/menu_entry.c (struct screen): Added a new member
44322 "completion_shown".
44323 (completion_buffer): New global variable.
44324 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44325 (store_completion): New function.
44326 (complete): Likewise.
44327 (clear_completions): Likewise.
44328 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44329 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44330 a tab, call complete.
44331
44332 * normal/completion.c (disk_dev): Removed.
44333 (print_simple_completion): Likewise.
44334 (print_partition_completion): Likewise.
44335 (print_func): New global variable.
44336 (add_completion): Do not take the arguments WHAT or PRINT any
44337 longer. Added a new argument TYPE. Instead of printing directly,
44338 call PRINT_FUNC if not NULL.
44339 All callers changed.
44340 (complete_device): Use a local variable DEV instead of
44341 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44342 (grub_normal_do_completion): Take a new argument HOOK. Do not
44343 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44344 empty string, return NULL instead.
44345 All callers changed.
44346
44347 * normal/cmdline.c (print_completion): New function.
44348
44349 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44350 to HOOK.
44351 All callers changed.
44352
44353 * kern/disk.c (grub_print_partinfo): Removed.
44354
44355 * include/grub/partition.h (struct grub_partition_map): Add a new
44356 argument DISK into HOOK of ITERATE.
44357 (grub_partition_iterate): Add a new argument DISK to HOOK.
44358
44359 * include/grub/normal.h (enum grub_completion_type): New enum.
44360 (grub_completion_type_t): New type.
44361 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44362 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44363 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44364 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44365 (grub_normal_do_completion): Added a new argument HOOK.
44366 (grub_normal_print_device_info): New prototype.
44367
44368 * include/grub/disk.h (grub_print_partinfo): Removed.
44369
44370 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44371 (normal_mod_SOURCES): Likewise.
44372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44373 (normal_mod_SOURCES): Likewise.
44374
44375 * commands/ls.c (grub_ls_list_disks): Use
44376 grub_normal_print_device_info instead of grub_print_partinfo. Free
44377 PNAME.
44378 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44379 duplicating the code.
44380
0bd41162 443812005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44382
44383 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44384 follow GCS more precisely.
44385 * commands/i386/pc/vbe_test.c: Likewise.
44386 * include/grub/i386/pc/vbe.h: Likewise.
44387 * term/i386/pc/vesafb.c: Likewise.
44388 * video/i386/pc/vbe.c: Likewise.
0bd41162 44389
6323696a 443902005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44391
44392 * DISTLIST: Added term/i386/pc/vesafb.c
44393 DISTLIST: Added video/i386/pc/vbe.c
44394 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44395 DISTLIST: Added commands/i386/pc/vbe_test.c.
44396 * commands/i386/pc/vbe_list_modes.c: New file.
44397 * commands/i386/pc/vbe_test.c: Likewise.
44398 * term/i386/pc/vesafb.c: Likewise.
44399 * video/i386/pc/vbe.c: Likewise.
44400 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44401 (grub_vbe_probe) Added prototype.
44402 (grub_vbe_set_video_mode) Likewise.
44403 (grub_vbe_get_video_mode) Likewise.
44404 (grub_vbe_get_video_mode_info) Likewise.
44405 (grub_vbe_set_pixel_rgb) Likewise.
44406 (grub_vbe_set_pixel_index) Likewise.
44407 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44408 (pkgdata_MODULES): Added vesafb.mod.
44409 (pkgdata_MODULES): Added vbe_list_modes.mod.
44410 (pkgdata_MODULES): Added vbe_test.mod.
44411 (vbe_mod_SOURCES): Added.
44412 (vbe_mod_CFLAGS): Likewise.
44413 (vesafb_mod_SOURCES): Likewise.
44414 (vesafb_mod_CFLAGS): Likewise.
44415 (vbe_list_modes_mod_SOURCES): Likewise.
44416 (vbe_list_modes_mod_CFLAGS): Likewise.
44417 (vbe_test_mod_SOURCES): Likewise.
44418 (vbe_test_mod_CFLAGS): Likewise.
44419
0a74e62f 444202005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44421
0a74e62f 44422 * normal/command.c (grub_command_execute): If INTERACTIVE is
44423 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44424 CMDLINE. Disable the pager if INTERACTIVE is true.
44425 All callers are changed.
44426
44427 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44428 before reading a config file.
44429 * normal/main.c (read_config_file): Even if a command is not
44430 found, register it if it is within an entry.
44431
44432 * util/grub-emu.c: Include sys/types.h and unistd.h.
44433 (options): Added --hold.
44434 (struct arguments): Added a new member "hold".
44435 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44436 missing.
44437 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44438 cleared by a debugger, if it is not zero.
44439
44440 * include/grub/normal.h (grub_command_execute): Add an argument
44441 INTERACTIVE.
44442
e51f85ae 444432005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44444
44445 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44446
e9c6f39b 444472005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44448
44449 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44450 program with another one, because the old one didn't detect a bug
44451 in gcc-3.4. Always use regparm 2, because the new test is still
44452 not enough for gcc-4.0. Someone must investigate a simple test
44453 case which detects a bug in gcc-4.0.
44454
8de3495c 444552005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44456
44457 * DISTLIST: Added normal/completion.c.
44458
44459 * normal/completion.c: New file.
f19dbdb7 44460
8de3495c 44461 * term/i386/pc/console.c (grub_console_getwh): New function.
44462 (grub_console_term): Assign grub_console_getwh to getwh.
44463
44464 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44465 function is defined in normal/completion.c as
44466 grub_normal_do_completion.
44467 (grub_cmdline_get): Use grub_normal_do_completion instead of
44468 grub_tab_complete.
44469
44470 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44471 returns non-zero, otherwise return 0.
44472 (grub_partition_iterate): First, probe the partition map. Then,
44473 call ITERATE only for this partition map.
44474
44475 * kern/misc.c (grub_strncmp): Rewritten.
44476
44477 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44478 returns non-zero. Otherwise return 0.
44479
44480 * include/grub/partition.h (grub_partition_map_iterate): Return
44481 int instead of void.
44482
44483 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44484
44485 * include/grub/misc.h (grub_strncmp): Change the type of N to
44486 grub_size_t.
44487
44488 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44489 of void.
44490
44491 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44492 unsigned explicitly before comparing it with I.
8de3495c 44493
44494 * kern/main.c (grub_env_write_root): Add the attribute unused into
44495 VAR.
44496
44497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44498 normal/completion.c.
44499 (normal_mod_SOURCES): Likewise.
44500 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44501 (normal_mod_SOURCES): Likewise.
44502
44503 * normal/command.c (grub_iterate_commands): If ITERATE returns
44504 non-zero, return one immediately.
44505
e85e144b 445062005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44507
44508 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44509 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44510 descriptions.
44511 (grub_vbe_get_controller_info): New function.
44512 (grub_vbe_get_mode_info): Likewise.
44513 (grub_vbe_set_mode): Likewise.
44514 (grub_vbe_get_mode): Likewise.
44515 (grub_vbe_set_memory_window): Likewise.
44516 (grub_vbe_get_memory_window): Likewise.
44517 (grub_vbe_set_scanline_length): Likewise.
44518 (grub_vbe_get_scanline_length): Likewise.
44519 (grub_vbe_set_display_start): Likewise.
44520 (grub_vbe_get_display_start): Likewise.
44521 (grub_vbe_set_palette_data): Likewise.
44522 * include/grub/i386/pc/vbe.h: New file.
44523
c46153d2 445242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44525
44526 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44527 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44528 * DISTLIST: Likewise.
44529 * kern/ieee1275/of.c: Moved to ...
44530 * kern/ieee1275/ieee1275.c: ... here.
44531
0cb90c45 445322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44533
44534 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44535 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44536 Pass 0 as `end' parameter to grub_strtoul().
44537
a19fb360 445382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44539
44540 * include/grub/powerpc/ieee1275/console.h: Do not include
44541 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44542 ifdef.
44543 (grub_console_cur_color): Remove i386-specific prototype.
44544 (grub_console_real_putchar): Likewise.
44545 (grub_console_checkkey): Likewise.
44546 (grub_console_getkey): Likewise.
44547 (grub_console_getxy): Likewise.
44548 (grub_console_gotoxy): Likewise.
44549 (grub_console_cls): Likewise.
44550 (grub_console_setcursor): Likewise.
44551 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44552 Include <grub/machine/console.h>.
44553 * term/ieee1275/ofconsole.c: Likewise.
44554
4ac9bd04 445552005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44556
44557 * Makefile.in (LIBLZO): New variable.
44558
44559 * configure.ac: Check for LZO version 2.
44560
44561 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44562 lzo/lzo1x.h instead of lzo1x.h.
44563
44564 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44565 of -llzo.
44566
44567 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44568 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44569
44570 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44571 copying the data from PARTITION to P.
44572
f4917dfd 445732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44574
44575 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44576 negative, unload the module.
44577
44578 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44579 map is "pc_partition_map" but not "pc".
44580 (usage): Fix the description. The options are --boot-image and
44581 --core-image but not --boot-file or --core-file.
44582 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44583 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44584 DEFAULT_DIRECTORY.
44585
44586 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44587 --core-file. Specify INSTALL_DEVICE as an argument.
44588
44589 * util/console.c: Include config.h.
44590 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44591 [HAVE_NCURSES_H]: Include ncurses.h.
44592 [HAVE_CURSES_H]: Include curses.h.
44593 [!A_NORMAL] (A_NORMAL): Defined as zero.
44594 [!A_STANDOUT] (A_STANDOUT): Likewise.
44595
44596 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44597 -lncurses.
44598 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44599
44600 * configure.ac: Check for curses libraries and headers.
44601
44602 * Makefile.in (LIBCURSES): New variable.
44603
44604 * genmk.rb (Script::rule): Set the executable bits.
44605
44606 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44607 name of the PC partition map is "pc_partition_map" but not "pc".
44608
0e143073 446092005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44610
44611 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44612 (modules): Likewise.
44613 (usage): Added descriptions for --modules and --grub-probefs.
44614 Handle --modules and --grub-probefs. Save the arguments in MODULES
44615 and GRUB_PROBEFS, respectively.
44616 Auto-detect a filesystem module against GRUBDIR. If the result is
44617 empty and modules are not specified explicitly, abort the
44618 installation. Add the result to MODULES.
44619
44620 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44621 disk/powerpc/ieee1275/ofdisk.c,
44622 include/grub/powerpc/ieee1275/init.h and
44623 term/powerpc/ieee1275/ofconsole.c.
44624 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44625 term/ieee1275/ofconsole.c.
44626
44627 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44628
44629 * COPYING: Upgraded to the latest version. Only the address of the
44630 FSF office has changed.
f19dbdb7 44631
efd6e6d5 446322005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44633
44634 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44635 kern/ieee1275.c with kern/ieee1275/of.c.
44636
44637 * kern/ieee1275.c: Moved to ...
44638 * kern/ieee1275/of.c: ... here.
44639
8ceafda2 446402005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44641
44642 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44643 readability.
8ceafda2 44644
44645 * config.guess: Updated to the latest version from gnulib.
44646 * config.sub: Likewise.
44647 * install.sh: Likewise.
44648 * mkinstalldirs: Likewise.
44649
44650 * include/grub/console.h: Removed. This file is arch-specific. Do
44651 not put this in include/grub.
44652
44653 * include/grub/i386/pc/console.h: Resurrected.
44654
44655 * util/console.c: Include grub/machine/console.h instead of
44656 grub/console.h.
44657 * util/grub-emu.c: Likewise.
44658
267f6cd9 446592005-08-04 Marco Gerards <metgerards@student.han.nl>
44660
44661 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44662 hardcoded value.
f19dbdb7 44663
267f6cd9 44664 From Vincent Pelletier <subdino2004@yahoo.fr>
44665 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44666 Redefined to use grub_getwh.
44667 (grub_term): New member named getwh.
44668 (grub_getwh): New prototype.
44669 * kern/term.c (grub_getwh): New function.
44670 * term/i386/pc/console.c (grub_console_getwh): New function.
44671 (grub_console_term): New member `getwh'.
44672 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44673 (grub_vga_term): New member `getwh'.
0b5abe02 44674 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44675 grub_ssize_t.
44676 (grub_ofconsole_getw): New function.
44677 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44678 (grub_ofconsole_term): New field named getwh and new initial
44679 value.
44680
3be7266d 446812005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44682
44683 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44684 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44685 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44686 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44687 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44688 of <grub/machine/ieee1275.h>.
44689 * commands/ieee1275/reboot.c: Likewise.
44690 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44691 * kern/ieee1275.c: ... to here. All users updated. Change all
44692 parameter structs to use new type `grub_ieee1275_cell_t'.
44693 * term/powerpc/ieee1275/ofconsole.c: Move ...
44694 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44695 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44696 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44697 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44698 to return int.
44699 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44700 Remove unused prototypes. All users updated.
44701 * include/grub/powerpc/ieee1275/console.h: Removed.
44702 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44703 `grub_ieee1275_cell_t'.
44704 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44705 Cast comparisons with -1 to the correct type.
44706 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44707 type to match `grub_ieee1275_entry_fn'.
44708
8b5f3938 447092005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44710
44711 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44712
44713 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44714 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44715 partmap/sun.c.
44716 (grub_probefs_SOURCES): New variable.
44717
44718 * util/i386/pc/grub-probefs.c: New file.
44719
44720 * util/i386/pc/grub-setup.c (main): Call
44721 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44722 grub_hfs_init and grub_jfs_init to initialize the system. Call
44723 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44724 grub_pc_partition_map_fini to finish the system.
44725
ea409713 447262005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44727
44728 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44729 function.
44730 (grub_multiboot_load_elf32): Likewise.
44731 (grub_multiboot_is_elf64): Likewise.
44732 (grub_multiboot_load_elf64): Likewise.
44733 (grub_multiboot_load_elf): Likewise.
44734 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44735 an ELF32 or ELF64 file.
44736 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44737
44738 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44739 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44740 NULL before calling FS->LABEL.
44741 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44742 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44743 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44744 before calling FS->LABEL.
44745
141a288b 447462005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44747
44748 * util/i386/pc/grub-install.in (datadir): New variable.
44749 (libdir): Removed.
44750 (pkgdatadir): New variable.
44751 (pkglibdir): Removed.
44752
0d5f8a54 447532005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44754
44755 * DISTLIST: Added util/i386/pc/grub-install.in.
44756
44757 * util/i386/pc/grub-install.in: New file.
44758
44759 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44760 (grub_install_SOURCES): Likewise.
44761
44762 * genmk.rb: Added support for scripts.
44763 (Script): New class.
44764 (scripts): New variable.
44765
44766 * Makefile.in (install-local): Install sbin_SCRIPTS by
44767 INSTALL_SCRIPT.
44768 (uninstall): Remove sbin_SCRIPTS.
44769
44770 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44771 device, try to get a GRUB device by
44772 grub_util_biosdisk_get_grub_dev.
44773 Free DEST_DEV.
44774
44775 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44776 description for --device-map.
44777
5f968e1e 447782005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44779
44780 Change the semantics of variable hooks. They now return strings
44781 instead of error values.
f19dbdb7 44782
5f968e1e 44783 * util/i386/pc/grub-setup.c: Include grub/env.h.
44784 (setup): Use grub_device_set_root instead of grub_env_set.
44785
44786 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44787 grub_env_get instead of grub_device_set_root and
44788 grub_device_get_root, respectively.
44789
44790 * kern/main.c (grub_env_write_root): New function.
44791 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44792 grub_env_set instead of grub_device_set_root.
44793
44794 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44795 many variables.
44796 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44797 rather than calling ENV->WRITE_HOOK afterwards.
44798 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44799 passing a pointer of a pointer.
44800 (grub_register_variable_hook): Change the types of "read_hook" and
44801 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44802 respectively.
44803 Allocate the default empty string on the heap, because this string
44804 may be freed later.
44805
44806 * kern/device.c: Include grub/env.h.
44807 (grub_device_set_root): Removed.
44808 (grub_device_get_root): Likewise.
44809 (grub_device_open): Use grub_env_get instead of
44810 grub_device_get_root.
44811
44812 * include/grub/env.h (grub_env_read_hook_t): New type.
44813 (grub_env_write_hook_t): Likewise.
44814 (grub_env_var): Change the types of "read_hook" and "write_hook"
44815 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44816 (grub_register_variable_hook): Likewise.
44817
44818 * include/grub/device.h (grub_device_set_root): Removed.
44819 (grub_device_set_root): Likewise.
44820
44821 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44822 make sure that DIRNAME terminates with '/', so that
44823 grub_fat_find_dir will fail if PATH is not a directory.
44824
44825 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44826 from DIRNAME.
44827 Use the qualifier auto for print_files and print_files_long.
44828 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44829 as a regular file.
44830 Put a newline only if there is no error.
44831 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44832 used.
44833
896f0afd 448342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44835
44836 * kern/partition.c (grub_partition_probe): Initialize PART to
44837 NULL. Otherwise, when no partition map is registered, this returns
44838 a garbage.
44839
b28b81b2 448402005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44841
44842 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44843 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44844 valid.
44845
5f3607e0 448462005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44847
44848 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44849 information on each device, if it does not have partitions. Print
44850 "Device" instead of "Disk", because this function is not specific
44851 to disk devices.
44852
44853 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44854 static to ensure that it is put on the memory rather than a
44855 register.
44856
502c87e8 448572005-07-17 Yoshinori Okuji <okuji@enbug.org>
44858
44859 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44860 (grub_cat_init): Likewise.
44861 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44862 (options): Likewise.
44863 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44864 (grub_configfile_init): Likewise.
44865 * font/manager.c (GRUB_MOD_INIT): Likewise.
44866 * commands/help.c (GRUB_MOD_INIT): Likewise.
44867 (grub_help_init): Likewise.
44868 * normal/command.c (grub_command_init): Likewise.
44869 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44870 * disk/loopback.c (grub_loop_init): Likewise.
44871 (GRUB_MOD_INIT): Likewise.
44872 * commands/ls.c (grub_ls_init): Likewise.
44873 (GRUB_MOD_INIT): Likewise.
44874 (options): Likewise.
44875 * commands/boot.c (grub_boot_init): Likewise.
44876 (GRUB_MOD_INIT): Likewise.
44877 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44878 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44879 (GRUB_MOD_INIT): Likewise.
44880 * commands/cmp.c (grub_cmp_init): Likewise.
44881 (GRUB_MOD_INIT): Likewise.
44882
44883 * normal/arg.c: Use <> instead of "" to include header files.
44884 (SHORT_ARG_HELP): New macro.
44885 (SHORT_ARG_USAGE): Likewise.
44886 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44887 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44888 descriptions.
44889 (find_short): Check if C is 'h' or 'u' explicitly.
44890 (grub_arg_show_help): Use space characters instead of tabs. Treat
44891 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44892 are shown with --help and --usage only if they are not used for
44893 the command itself.
44894 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44895 'h' and 'u'.
44896
44897 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44898 const into "longarg". Change the type of "shortarg" to int.
44899
f806d18e 449002005-07-17 Yoshinori Okuji <okuji@enbug.org>
44901
44902 * boot/i386/pc/boot.S (boot_drive_check): New label.
44903
44904 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44905 macro.
44906
44907 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44908 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44909
e293232b 449102005-07-17 Yoshinori Okuji <okuji@enbug.org>
44911
44912 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44913 When turning off Gate A20, skip the check and return immediately,
44914 because this is not fatal usually.
44915
ebedfd00 449162005-07-17 Yoshinori Okuji <okuji@enbug.org>
44917
44918 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44919 be 0x7C00 instead of 0x8000.
44920
44921 * boot/i386/pc/pxeboot.S: Rewritten.
44922
44923 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44924 EXT_C.
44925 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44926 result.
44927
654fc59f 449282005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44929
44930 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44931 robustness. This routine now supports a BIOS call and System
44932 Control Port A to modify the gate A20.
44933
44934 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44935 Increased to 0x440.
44936
09f9923f 449372005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44938
44939 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44940 device path and resulting ihandle.
44941 (grub_ofdisk_close): dprintf the ihandle being closed.
44942 (grub_ofdisk_read): dprintf function parameters.
44943 * kern/mm.c (grub_mm_init_region): Likewise.
44944 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44945 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44946 size, and boot arguments.
44947 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44948 before loading into memory.
44949 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44950 before loading into memory.
44951
7ef504d8 449522005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44953
44954 * kern/mm.c: Added much documentation.
44955 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44956 8, set to 5 instead of 8.
44957
e0f050c2 449582005-07-10 Yoshinori Okuji <okuji@enbug.org>
44959
44960 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44961
44962 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44963 (grub_mkdevicemap_SOURCES): New variable.
44964
44965 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44966 lib/device.c of GRUB Legacy.
44967
7224189a 449682005-07-10 Yoshinori Okuji <okuji@enbug.org>
44969
44970 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44971 instead of PATH is NULL.
44972
68c864eb 449732005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44974
44975 * commands/cmp.c (BUFFER_SIZE): New macro.
44976 (grub_cmd_cmp): Close the right file at the right time. Compare
44977 only data just read. Don't report files of different size as
44978 identical. Dynamically allocate buffers. Move variable
44979 declarations at the beginning of function.
44980
e6f3e614 449812005-07-09 Yoshinori Okuji <okuji@enbug.org>
44982
44983 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44984 reverse.
44985
f8f1559a 449862004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44987
44988 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44989 when backspace is pressed at beginning of line.
44990
39c9d41d 449912005-07-03 Yoshinori Okuji <okuji@enbug.org>
44992
44993 * DISTLIST: Added genfslist.sh.
44994
44995 * normal/main.c (fs_module_list): New variable.
44996 (autoload_fs_module): New function.
44997 (read_fs_list): Likewise.
44998 (grub_normal_execute): Call read_fs_list.
44999
45000 * kern/fs.c (grub_fs_autoload_hook): New variable.
45001 (grub_fs_probe): Added support for auto-loading.
45002
45003 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45004 (grub_fs_module_list_t): New type.
45005
45006 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45007 (grub_fs_autoload_hook): New prototype.
45008
45009 * genfslist.sh: New file.
f19dbdb7 45010
39c9d41d 45011 * genmk.rb: Added a rule to generate a filesystem list.
45012
121c1d83 450132005-06-30 Marco Gerards <metgerards@student.han.nl>
45014
45015 * configure.ac: Fix the test for cross-compiling.
45016
45017 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45018 define GRUB_UTIL anymore.
45019
45020 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45021 so this function works on other systems than just big endian.
45022 (load_modules): Likewise.
45023 (add_segments): Likewise.
45024
e75d76e1 450252005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45026
45027 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45028 contains `l' modifier, get a long from va_arg().
45029
50b5a0a7 450302005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45031
45032 * kern/mm.c (grub_free): If the next free block which is being
45033 merged is the first free block, set the first block to the block
45034 being freed.
45035 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45036
89371b20 450372005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45038
45039 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45040 `grub_ieee1275_chosen'.
45041
168d6e58 450422005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45043
45044 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45045 (grub_ieee1275_chosen): New variable.
45046 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45047 `chosen'.
45048 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45050 Rename first argument to `phandle' for consistency.
45051 (grub_ieee1275_get_property_length): Likewise.
45052 (grub_ieee1275_next_property): Likewise. Change type of first argument
45053 to grub_ieee1275_phandle_t.
45054 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45055 Move export next to declaration.
45056 (grub_ieee1275_chosen): New variable.
45057 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45058 Correct cosmetic typo.
45059 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45060 `grub_ieee1275_chosen'.
45061 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45062 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45063 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45064 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45065 `grub_ieee1275_chosen'.
45066
ca5baa3f 450672005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45068
45069 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45070 /chosen/bootargs.
45071 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45072 /chosen/bootargs as "variable=value" pairs.
45073
708b345f 450742005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45075
45076 * include/grub/misc.h (grub_dprintf): New macro.
45077 (grub_real_dprintf): New prototype.
45078 (grub_strword): Likewise.
45079 (grub_iswordseparator): Likewise.
45080 * kern/misc.c (grub_real_dprintf): New function.
45081 (grub_strword): Likewise.
45082 (grub_iswordseparator): Likewise.
45083
f4c5e67c 450842005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45085
45086 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45087 (roundup): Remove macro.
45088 (grub_ieee1275_flags): Make static.
45089 (grub_ieee1275_realmode): Remove.
45090 (grub_ieee1275_test_flag): New function.
45091 (grub_ieee1275_set_flag): Likewise.
45092 (find_options): Rename to `grub_ieee1275_find_options'; update
45093 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45094 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45095 (cmain): New prototype.
45096 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45097 `grub_ieee1275_flags' directly.
45098 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45099 machine/biosdisk.h.
45100 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45101 Don't include grub/machine/init.h.
45102 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45103 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45104 Remove prototype.
45105 (grub_ieee1275_realmode): Likewise.
45106 (grub_ieee1275_flag): New enum.
45107 (grub_ieee1275_test_flag): New prototype.
45108 (grub_ieee1275_set_flag): New prototype.
45109 * include/grub/powerpc/ieee1275/init.h: Remove file.
45110 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45111 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45112 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45113 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45114 comment.
45115 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45116 `grub_ieee1275_test_flag'.
45117 (grub_ieee1275_encode_devname): Likewise.
45118
ed16607e 451192005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45120
45121 * include/grub/powerpc/ieee1275/ieee1275.h
45122 (grub_ieee1275_encode_devname): New prototype.
45123 (grub_ieee1275_get_filename): Likewise.
45124 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45125 function.
45126 (grub_set_prefix): Likewise.
45127 (grub_machine_init): Call grub_set_prefix.
45128 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45129 (grub_parse_type): New enum.
45130 (grub_ieee1275_get_devargs): New function.
45131 (grub_ieee1275_get_devname): Likewise.
45132 (grub_ieee1275_parse_args): Likewise.
45133 (grub_ieee1275_get_filename): Likewise.
45134 (grub_ieee1275_encode_devname): Likewise.
45135
be369920 451362005-03-30 Marco Gerards <metgerards@student.han.nl>
45137
45138 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45139 `grub_loader_unset'.
45140
a5ce3a4a 451412005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45142
45143 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45144 instead of grub_ieee1275_interpret.
45145 (grub_halt_init): New function.
45146 (grub_halt_fini): Likewise.
45147 (GRUB_MOD_INIT): Correct message grammar.
45148 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45149 instead of grub_ieee1275_interpret.
45150 (grub_reboot_init): New function.
45151 (grub_reboot_fini): Likewise.
45152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45153 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45154 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45155 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45156 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45157 function.
45158 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45159 Add prototype.
45160 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45161 prototype.
45162 (grub_halt): Likewise.
45163 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45164 (cmain): Remove __attribute__((unused)).
45165 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45166 (grub_heap_len): Likewise.
45167 (grub_machine_fini): New function.
45168 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45169 (grub_halt): Likewise.
45170 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45171 function.
45172 * util/powerpc/ieee1275/misc.c: New file.
45173
0058f771 451742005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45175
45176 * DISTLIST: New file.
45177 * gendistlist.sh: Likewise.
f19dbdb7 45178
0058f771 45179 * Makefile.in (COMMON_DISTFILES): Removed.
45180 (BOOT_DISTFILES): Likewise.
45181 (CONF_DISTFILES): Likewise.
45182 (DISK_DISTFILES): Likewise.
45183 (FS_DISTFILES): Likewise.
45184 (INCLUDE_DISTFILES): Likewise.
45185 (KERN_DISTFILES): Likewise.
45186 (LOADER_DISTFILES): Likewise.
45187 (TERM_DISTFILES): Likewise.
45188 (UTIL_DISTFILES): Likewise.
45189 (DISTFILES): Likewise.
45190 (uninstall): Uninstall files in $(pkgdata_DATA).
45191 (DISTLIST): New target.
45192 (distdir): Use the contents of the file DISTLIST to get a list of
45193 distributed files.
45194
46b3b8a5 451952005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45196
45197 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45198 descriptor. This is ported from GRUB Legacy.
45199
45200 * gencmdlist.sh: Added an extra semicolon to make it work with
45201 old sed versions. Reported by Robert Bihlmeyer
45202 <robbe@orcus.priv.at>.
45203
5822ff87 452042005-03-08 Yoshinori Okuji <okuji@enbug.org>
45205
45206 Automatic loading of commands is supported.
f19dbdb7 45207
5822ff87 45208 * normal/main.c (read_command_list): New function.
45209 (grub_normal_execute): Call read_command_list.
45210
45211 * normal/command.c (grub_register_command): Return zero or CMD.
45212 Allocate CMD->NAME from the heap.
45213 Initialize CMD->MODULE_NAME to zero.
45214 Find the same name as well. If the same command is found and it is
45215 a dummy command, overwrite members. If it is not a dummy command,
45216 return zero.
45217 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45218 (grub_command_find): If a dummy command is found, load a module
45219 and retry to find a command only once.
45220
45221 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45222 make sure that each command is loaded.
45223
45224 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45225 macro.
45226 (struct grub_command): Remove const from the member `name'.
45227 Add a new member `module_name'.
45228 (grub_register_command): Return grub_command_t.
45229
45230 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45231 sure that each command is loaded.
45232
45233 * genmk.rb (PModule::rule): Specify a module name without the
45234 suffix ".mod" to gencmdlist.sh.
45235
7b1f4b57 452362005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45237
45238 * gencmdlist.sh: New file.
f19dbdb7 45239
7b1f4b57 45240 * genmk.rb (PModule::rule): Generate a rule for a command list.
45241 Clean command.lst.
45242 Generate command.lst from $(COMMANDFILES).
45243
45244 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45245 (DATA): Added $(pkgdata_DATA).
45246 (install-local): Install files in $(pkgdata_DATA).
45247
062aaf39 452482005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45249
45250 * term/i386/pc/vga.c (debug_command): Removed.
45251 (GRUB_MOD_INIT): Do not register the command "debug".
45252
45253 From Hollis Blanchard:
45254 * commands/configfile.c: New file.
45255 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45256 commands/configfile.c.
45257 (pkgdata_MODULES): Added configfile.mod.
45258 (configfile_mod_SOURCES): New variable.
45259 (configfile_mod_CFLAGS): Likewise.
45260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45261 commands/configfile.c.
45262 (pkgdata_MODULES): Added configfile.mod.
45263 (configfile_mod_SOURCES): New variable.
45264 (configfile_mod_CFLAGS): Likewise.
45265 * util/grub-emu.c (main): Call grub_configfile_init and
45266 grub_configfile_fini.
45267 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45268 prototype.
45269 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 45270
cee01aa6 452712005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45272
45273 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45274 address.
45275
45276 * commands/help.c (grub_cmd_help): Do not print newlines after
45277 the last command in print_command_help.
45278
93f3a1d8 452792005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45280
45281 * commands/default.h: New file.
45282 * commands/timeout.h: Likewise.
45283 * normal/context.c: Likewise.
f19dbdb7 45284
93f3a1d8 45285 * util/misc.c: Do not include sys/times.h.
45286 Include sys/time.h and grub/machine/time.h.
45287 (grub_get_rtc): Rewritten with gettimeofday.
45288
45289 * util/grub-emu.c (main): Call grub_default_init and
45290 grub_timeout_init before grub_normal_init, and call
45291 grub_timeout_fini and grub_default_fini after grub_main.
45292
45293 * util/console.c (grub_ncurses_checkkey): Return the read
45294 character or -1.
45295
45296 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45297 timeouts.
45298
45299 * normal/main.c (read_config_file): Push MENU. If this fails,
45300 print an error and wait for a user input.
45301 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45302 If a menu is empty or an error occurs, pop MENU.
45303 (grub_normal_execute): Pop and free MENU after grub_menu_run
45304 returns.
45305
45306 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45307
45308 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45309 include time.h.
45310 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45311 without GRUB_UTIL.
45312 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45313 time.h.
45314 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45315 without GRUB_UTIL.
45316
45317 * include/grub/normal.h (struct grub_menu_list): New struct.
45318 (grub_menu_list_t): New type.
45319 (struct grub_context): New struct.
45320 (grub_context_t): New type.
45321 (grub_register_command): Got rid of EXPORT_FUNC.
45322 (grub_unregister_command): Likewise.
45323 (grub_context_get): New prototype.
45324 (grub_context_get_current_menu): Likewise.
45325 (grub_context_push_menu): Likewise.
45326 (grub_context_pop_menu): Likewise.
45327 [GRUB_UTIL] (grub_default_init): Likewise.
45328 [GRUB_UTIL] (grub_default_fini): Likewise.
45329 [GRUB_UTIL] (grub_timeout_init): Likewise.
45330 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45331
45332 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45333 commands/timeout.c and normal/context.c.
45334 (pkgdata_MODULES): Added default.mod and timeout.mod.
45335 (normal_mod_SOURCES): Added normal/context.c.
45336 (default_mod_SOURCES): New variable.
45337 (default_mod_CFLAGS): Likewise.
45338 (timeout_mod_SOURCES): Likewise.
45339 (timeout_mod_CFLAGS): Likewise.
45340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45341 conf/i386-pc.rmk.
45342 (pkgdata_MODULES): Added default.mod and timeout.mod.
45343 (normal_mod_SOURCES): Added normal/context.c.
45344 (default_mod_SOURCES): New variable.
45345 (default_mod_CFLAGS): Likewise.
45346 (timeout_mod_SOURCES): Likewise.
45347 (timeout_mod_CFLAGS): Likewise.
45348
45349 * Makefile.in (all-local): Added $(MKFILES).
45350
4ed2e1dd 453512005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45352
45353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45354 (grub_emu_SOURCES): Likewise.
45355 (pkgdata_MODULES): Add `sun.mod'.
45356 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45358 `partmap/sun.c'.
45359 (pkgdata_MODULES): Add `sun.mod'.
45360 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45361 * include/grub/partition.h (grub_sun_partition_map_init): New
45362 prototype.
45363 (grub_sun_partition_map_fini): Likewise.
45364 * partmap/sun.c: New file.
45365 * util/grub-emu.c (main): Initialize and de-initialize the sun
45366 partitionmap support.
45367
4d4e372e 453682005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45369
45370 This implements an Emacs-like menu entry editor.
f19dbdb7 45371
4d4e372e 45372 * normal/menu_entry.c: New file.
f19dbdb7 45373
4d4e372e 45374 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45375 characters to ASCII.
45376 (saved_char): New variable.
45377 (grub_ncurses_checkkey): Rewritten completely.
45378 (grub_ncurses_getkey): Likewise.
45379 (grub_ncurses_init): Call raw instead of cbreak.
45380
45381 * normal/menu.c (print_entry): Do not put a space.
45382 (init_page): Renamed to ...
45383 (grub_menu_init_page): ... this. All callers changed.
45384 (edit_menu_entry): Removed.
45385 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45386
45387 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45388
45389 * kern/misc.c (grub_vprintf): Call grub_refresh.
45390
45391 * normal/menu.c (DISP_LEFT): Renamed to ...
45392 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45393 * normal/menu.c (DISP_UP): Renamed to ...
45394 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45395 * normal/menu.c (DISP_RIGHT): Renamed to ...
45396 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45397 * normal/menu.c (DISP_DOWN): Renamed to ...
45398 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45399 * normal/menu.c (DISP_HLINE): Renamed to ...
45400 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45401 * normal/menu.c (DISP_VLINE): Renamed to ...
45402 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45403 * normal/menu.c (DISP_UL): Renamed to ...
45404 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45405 * normal/menu.c (DISP_UR): Renamed to ...
45406 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45407 * normal/menu.c (DISP_LL): Renamed to ...
45408 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45409 * normal/menu.c (DISP_LR): Renamed to ...
45410 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45411 * normal/menu.c (TERM_WIDTH): Renamed to ...
45412 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45413 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45414 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45415 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45416 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45417 * normal/menu.c (TERM_MARGIN): Renamed to ...
45418 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45419 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45420 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45421 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45422 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45423 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45424 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45425 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45426 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45427 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45428 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45429 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45430 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45431 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45432 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45433 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45434 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45435 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45436 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45437 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45438 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45439 All callers changed.
45440
45441 * include/grub/normal.h: New prototype.
45442
45443 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45444 normal/menu_entry.c.
45445 (normal_mod_SOURCES): Likewise.
45446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45447 (normal_mod_SOURCES): Likewise.
45448
e6b92c8a 454492005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45450
45451 * include/grub/normal.h (grub_halt_init): New prototype.
45452 (grub_halt_fini): Likewise.
45453 (grub_reboot_init): Likewise.
45454 (grub_reboot_fini): Likewise.
45455
45456 * util/grub-emu.c: Include signal.h.
45457 (main_env): New global variable.
45458 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45459 catch C-c.
45460 (grub_machine_fini): New function.
45461 (main): Call grub_halt_init and grub_reboot_init before
45462 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45463 Call setjmp with MAIN_ENV to go back afterwards.
45464 Call grub_machine_fini right before return.
45465
45466 * include/grub/util/misc.h: Include setjmp.h.
45467 (main_env): New prototype.
45468
45469 * include/grub/kernel.h (grub_machine_fini): New prototype.
45470 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45471 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45472
45473 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45474 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45475 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45476
e6b92c8a 45477 * util/i386/pc/misc.c: New file.
f19dbdb7 45478
e6b92c8a 45479 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45480 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45481 commands/i386/pc/reboot.c.
45482
c642636f 454832005-02-14 Guillem Jover <guillem@hadrons.org>
45484
45485 * include/grub/dl.h (grub_dl_check_header): New prototype.
45486 (grub_arch_dl_check_header): Change return type to grub_err_t,
45487 remove size parameter and export function. Update all callers.
45488 * kern/dl.c (grub_dl_check_header): New function.
45489 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45490 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45491 are inside the core.
45492 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45493 independent ELF header checks.
45494 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45495 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45496 `grub_dl_check_header' instead of explicit checks. Check for the
45497 ELF type.
45498 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45499 `grub_dl_check_header' instead of explicit checks. Remove arch
45500 specific ELF header checks.
45501
e6b92c8a 45502 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45503 argument SIZE.
45504
5eabe94b 455052005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45506
45507 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45508 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45509
1b14a681 455102005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45511
45512 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45513 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45514 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45515 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45516 * partmap/amiga.c (amiga_partition_map_iterate): Return
45517 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45518 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45519
aca108aa 455202005-02-01 Guillem Jover <guillem@hadrons.org>
45521
45522 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45523 help info.
45524
c9f9c556 455252005-01-31 Marco Gerards <metgerards@student.han.nl>
45526
45527 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45528 Removed prototype.
45529 (grub_rescue_cmd_linux): New prototype.
45530 (grub_rescue_cmd_initrd): Likewise.
45531 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45532 `bi_rec'.
45533 (grub_linux_release_mem): Release the memory for the initrd.
45534 (grub_load_linux): Renamed from this...
45535 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45536 Changed `entry' not to be static. Loop over memory regions to
45537 find another one when the default fails.
45538 (grub_rescue_cmd_initrd): New function.
45539 (grub_linux_init): Remove function.
45540 (grub_linux_fini): Likewise.
45541 (GRUB_MOD_INIT): Register `initrd'.
45542 (GRUB_MOD_FINI): Unregister `initrd'.
45543 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45544 Function removed.
45545 (grub_linux_normal_fini): Likewise.
45546 (GRUB_MOD_INIT): Register `initrd'.
45547 (GRUB_MOD_FINI): Unregister `initrd'.
45548
990cf3aa 455492005-01-31 Marco Gerards <metgerards@student.han.nl>
45550
45551 * commands/help.c: New file.
45552 * normal/arg.c (show_help): Renamed to...
45553 (grub_arg_show_help): ... this.
45554 * commands/i386/pc/halt.c: New file.
45555 * commands/i386/pc/reboot.c: Likewise.
45556 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45557 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45558 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45559 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45560 variables.
45561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45562 `commands/help.c'.
45563 (pkgdata_MODULES): Add `help.mod'.
45564 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45565 * grub/i386/pc/init.h (grub_reboot): New prototype.
45566 (grub_halt): Likewise.
45567 * include/grub/normal.h (grub_arg_show_help): New prototype.
45568 (grub_help_init): Likewise.
45569 (grub_help_fini): Likewise.
45570 * util/grub-emu.c (main): Initialize and deinitialize the help
45571 command.
45572
45573 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45574
45575 * normal/command.c (grub_command_init): Fixed the description of
45576 the `set' and `unset' commands.
45577
455782005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45579
45580 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45581 function.
45582 * commands/ieee1275/halt.c: New file.
45583 * commands/ieee1275/reboot.c: Likewise.
45584 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45585 `__attribute__ ((unused))'. Some GCS related fixed.
45586 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45587 (grub_suspend_fini): Likewise.
45588 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45589 and `halt.mod'.
45590 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45591 (halt_mod_CFLAGS): New variables.
45592 * include/grub/powerpc/ieee1275/ieee1275.h
45593 (grub_ieee1275_interpret): New prototype.
45594
1ab09cc7 455952005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45596
45597 * include/grub/misc.h (memmove): New prototype.
45598 (memcpy): Likewise.
45599
8b8cbdb2 456002005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45601
45602 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45603 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45604
e3741a27 456052005-01-22 Marco Gerards <metgerards@student.han.nl>
45606
45607 * kern/misc.c (grub_strndup): Function rewritten.
45608
776bd780 456092005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45610
45611 * normal/menu.c (TERM_WIDTH): Macro redefined.
45612 (TERM_TOP_BORDER_Y): Likewise.
45613 (draw_border): Replaced while-loop by a for-loop. Make the number
45614 of lines consistent with the number of lines displayed in
45615 print_entries. Added a margin below the rectangle.
45616 (print_entry): Make the entry fit in the rectangle.
45617 (print_entries): Display the scroll arrows next to the right
45618 border.
45619
78026bce 456202005-01-21 Marco Gerards <metgerards@student.han.nl>
45621
45622 * fs/minix.c (grub_minix_find_file): Reserve more space for
45623 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45624 `grub_strncpy' to copy `path' into it.
45625
67bbaf0f 456262005-01-21 Marco Gerards <metgerards@student.han.nl>
45627
45628 Add the loopback device, a device via which files can be accessed
45629 as devices.
f19dbdb7 45630
67bbaf0f 45631 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45632 (pkgdata_MODULES): Add loopback.mod.
45633 (loopback_mod_SOURCES): New variable.
45634 (loopback_mod_CFLAGS): Likewise.
45635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45636 `disk/loopback.c'.
45637 (pkgdata_MODULES): Add loopback.mod.
45638 (loopback_mod_SOURCES): New variable.
45639 (loopback_mod_CFLAGS): Likewise.
45640 * disk/loopback.c: new file.
45641 * include/grub/normal.h (grub_loop_init): New prototype.
45642 (grub_loop_fini): New prototype.
45643 * util/grub-emu.c (main): Initialize and de-initialize loopback
45644 support.
45645 * include/grub/disk.h (grub_disk_dev_id): Add
45646 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45647
6f1c18bd 456482005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45649
45650 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45651 function.
45652 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45653 (suspend_mod_SOURCES): New variable.
45654 (suspend_mod_CFLAGS): Likewise.
45655 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45656 New prototype.
45657 * commands/ieee1275/suspend.c: New file.
45658
b38551da 456592005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45660
45661 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45662 ((unused))' to `__attribute__ ((used))'.
b38551da 45663 (GRUB_MOD_FINI): Likewise.
45664 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45665 * genmk.rb (PModule): Assign space to common symbols when linking
45666 modules.
45667
777aff39 456682005-01-20 Marco Gerards <metgerards@student.han.nl>
45669
45670 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45671 `unsigned' arguments to `grub_size_t'.
45672 (grub_malloc): Likewise.
45673 (grub_realloc): Likewise.
45674 (grub_memalign): Likewise.
45675 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45676 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45677 * util/misc.c (grub_malloc): Likewise.
45678 (grub_realloc): Likewise.
45679 * kern/mm.c (get_header_from_pointer): Change the casts to
45680 `unsigned' into a cast to `grub_size_t'.
45681
45682 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45683 point to `currnode' when `currnode' is changed.
45684
45685 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45686 Schottelius <nico-linux@schottelius.org>.
45687
d0ff18e1 456882005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45689
45690 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45691 (note_path): Remove variable.
45692 (GRUB_IEEE1275_NOTE_NAME): New macro.
45693 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45694 (grub_ieee1275_note_hdr): New structure.
45695 (grub_ieee1275_note_desc): Likewise.
45696 (grub_ieee1275_note): Likewise.
45697 (load_note): Remove `dir' argument. All callers updated. Remove
45698 `note_img' and `path'. Do not load a file from `note_path'.
45699 Initialize a struct grub_ieee1275_note and write that to `out'.
45700 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45701
4ca7004c 457022005-01-05 Marco Gerards <metgerards@student.han.nl>
45703
45704 * util/misc.c (grub_util_read_image): Revert last change. It
45705 called `grub_util_read_at', which seeks from the beginning of the
45706 file.
45707
0b412211 457082005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45709
45710 * TODO: Add note about endianness in grub-mkimage.
45711 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45712 section.
45713 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45714 (grub_mkimage_SOURCES): New target.
45715 * include/grub/kernel.h (grub_start_addr): Remove variable.
45716 (grub_end_addr): Likewise.
45717 (grub_total_module_size): Likewise.
45718 (grub_kernel_image_size): Likewise.
45719 (GRUB_MODULE_MAGIC): New constant.
45720 (grub_module_info): New structure.
45721 (grub_arch_modules_addr): New prototype.
45722 (grub_get_end_addr): Remove prototype.
45723 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45724 * include/grub/powerpc/ieee1275/kernel.h: New file.
45725 * include/grub/util/misc.h (grub_util_get_fp_size): New
45726 prototype.
45727 (grub_util_read_at): Likewise.
45728 (grub_util_write_image_at): Likewise.
45729 * kern/main.c (grub_get_end_addr): Remove function.
45730 (grub_load_modules): Call grub_arch_modules_addr instead of using
45731 grub_end_addr. Look for a grub_module_info struct in memory. Use
45732 the grub_module_info fields instead of calling grub_get_end_addr
45733 as loop conditions. Move grub_add_unused_region code here.
45734 (grub_add_unused_region): Remove function.
45735 * kern/i386/pc/init.c: Include grub/cache.h.
45736 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45737 one call to add_mem_region.
45738 (grub_arch_modules_addr): New function.
45739 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45740 (grub_total_module_size): Likewise.
45741 Include grub/machine/kernel.h.
45742 (grub_arch_modules_addr): New function.
45743 * util/grub-emu.c (grub_end_addr): Remove variable.
45744 (grub_total_module_size): Likewise.
45745 (grub_arch_modules_addr): New function.
45746 * util/misc.c: Include unistd.h.
45747 (grub_util_get_fp_size): New function.
45748 (grub_util_read_at): Likewise.
45749 (grub_util_write_image_at): Likewise.
45750 (grub_util_read_image): Call grub_util_read_at.
45751 (grub_util_write_image): Call grub_util_write_image_at.
45752 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45753 additional memory in kernel_img for a struct grub_module_info.
45754 Fill in that grub_module_info.
45755 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45756
458786f8 457572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45758
45759 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45760 New function.
45761 * include/grub/powerpc/ieee1275/ieee1275.h
45762 (grub_ieee1275_milliseconds): New prototype.
45763 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45764 Change to 1000.
45765 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45766 grub_ieee1275_milliseconds.
45767
ac507d1b 457682005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45769
45770 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45771 variable.
45772 (find_options): New function.
45773 (cmain): Call find_options.
45774 * include/grub/powerpc/ieee1275/ieee1275.h
45775 (grub_ieee1275_realmode): New extern variable.
45776 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45777 grub_map if grub_ieee1275_realmode is false.
45778
6b8fd1c4 457792004-12-29 Marco Gerards <metgerards@student.han.nl>
45780
45781 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45782 lines are inserted and make it work like readline. Reported by
45783 Vincent Pelletier <subdino2004@yahoo.fr>.
45784
8514a1e0 457852004-12-28 Marco Gerards <metgerards@student.han.nl>
45786
45787 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45788
45789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45790 `kern/powerpc/cache.S'.
45791
924b6140 457922004-12-27 Marco Gerards <metgerards@student.han.nl>
45793
45794 * genmk.rb: Handle the `Program' class in the main loop. Written
45795 by Johan Rydberg <jrydberg@gnu.org>.
45796 (Program): New class.
45797 (programs): New variable.
45798 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45799 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45800 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45801 (help_arch): Function removed.
45802 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45803 `powerpc/libgcc.h' and `loader.h'.
45804 (pkgdata_PROGRAMS): New variable.
45805 (sbin_UTILITIES): Variable removed.
45806 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45807 (grubof_SOURCES): Variable re-defined so it only includes the
45808 core functionality.
45809 (grubof_CFLAGS): Remove `-DGRUBOF'.
45810 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45811 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45812 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45813 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45814 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45815 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45816 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45817 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45818 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45819 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45820 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45821 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45822 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45823 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45824 (pc_mod_CFLAGS): New variables.
45825 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45826 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45827 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45828 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45829 Moved from here...
45830 * include/grub/i386/pc/init.h (grub_os_area_addr)
45831 (rub_os_area_size): ... to here.
45832 * include/grub/powerpc/ieee1275/ieee1275.h
45833 (grub_ieee1275_entry_fn): Export symbol.
45834 * include/grub/powerpc/ieee1275/init.h: New file.
45835 * include/grub/powerpc/libgcc.h: Likewise.
45836 * include/grub/cache.h: Likewise.
45837 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45838 <hollis@penguinppc.org>.
45839 * kern/dl.c: Include <grub/cache.h>.
45840 (grub_dl_flush_cache): New function.
45841 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45842 for this module.
45843 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45844 (grub_console_init): Removed prototypes.
45845 (grub_machine_init): Don't initialize the modules anymore.
45846 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45847 static.
45848 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45849 Macro undef removed.
45850 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45851 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45852 relocation `R_PPC_REL32'. Return an error when the relocation is
45853 unknown.
45854 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45855 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45856 * util/misc.c (grub_arch_sync_caches): Likewise.
45857
e4b47e0c 458582004-12-19 Marco Gerards <metgerards@student.han.nl>
45859
45860 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45861 `symlist.c', add `grubof_symlist.c'.
45862 (symlist.c): Variable removed.
45863 (grubof_HEADERS): Variable added.
45864 (grubof_symlist.c): New target.
45865 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45866 `kernel_img_HEADERS'.
45867 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45868 * kern/powerpc/dl.c: New file.
45869 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45870 Function removed.
45871 (grub_arch_dl_relocate_symbols): Likewise.
45872 (grub_register_exported_symbols): Likewise.
45873
4ceb3636 458742004-12-13 Marco Gerards <metgerards@student.han.nl>
45875
45876 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45877 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45878 to fail instead. Reported by Vincent Pelletier
45879 <subdino2004@yahoo.fr>.
45880
45881 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45882 it is not allocated. Reported by Vincent Pelletier
45883 <subdino2004@yahoo.fr>.
45884
45885 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45886 output so the output looks better.
f19dbdb7 45887
3f1578fe 458882004-12-04 Marco Gerards <metgerards@student.han.nl>
45889
45890 Modulize the partition map support and add support for the amiga
45891 partition map.
f19dbdb7 45892
3f1578fe 45893 * commands/ls.c: Include <grub/partition.h> instead of
45894 <grub/machine/partition.h>.
45895 * kern/disk.c: Likewise.
45896 * kern/rescue.c: Likewise.
45897 * loader/i386/pc/chainloader.c: Likewise.
45898 * normal/cmdline.c: Likewise.
45899 * kern/powerpc/ieee1275/init.c: Likewise.
45900 (grub_machine_init): Call `grub_pc_partition_map_init',
45901 `grub_amiga_partition_map_init' and
45902 `grub_apple_partition_map_init'.
45903 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45904 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45905 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45906 `partition.h' and `pc_partition.h'.
45907 (grub_setup_SOURCES): Remove
45908 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45909 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45910 (grub_emu_SOURCES): Likewise.
45911 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45912 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45913 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45915 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45916 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45917 (grubof_SOURCES): Likewise.
45918 * disk/i386/pc/partition.c: File removed.
45919 * disk/powerpc/ieee1275/partition.c: Likewise.
45920 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45921 * include/grub/i386/pc/partition.h: Likewise.
45922 * kern/partition.c: New file.
45923 * partmap/amiga.c: Likewise.
45924 * partmap/apple.c: Likewise.
45925 * partmap/pc.c: Likewise.
45926 * include/grub/partition.h: Likewise..
45927 * include/grub/pc_partition.h: Likewise.
45928 * util/grub-emu.c: Include <grub/partition.h> instead of
45929 <grub/machine/partition.h>.
45930 (main): Call `grub_pc_partition_map_init',
45931 `grub_amiga_partition_map_init' and
45932 `grub_apple_partition_map_init' and deinitialize afterwards.
45933 * util/i386/pc/biosdisk.c: Include `#include
45934 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45935 `<grub/machine/partition.h>'.
45936 * util/i386/pc/grub-setup.c: Likewise.
45937 * util/i386/pc/biosdisk.c: Likewise.
45938 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45939 partition information in case of a PC partition.
45940 * util/i386/pc/grub-setup.c: Include `#include
45941 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45942 `<grub/machine/partition.h>'.
45943 (setup): Only access the PC specific partition information in case
45944 of a PC partition.
45945
0ef4ced9 459462004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45947
0ef4ced9 45948 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45949 (grub_longjmp): Likewise.
45950 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45951 20.
45952 * normal/powerpc/setjmp.S: New file.
45953 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45954 `normal/powerpc/setjmp.S'.
45955 (grubof_CFLAGS): Add `-DGRUBOF'.
45956 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45957 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45958
19950e29 459592004-11-16 Marco Gerards <metgerards@student.han.nl>
45960
45961 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45962 property named `name'. Correctly handle the error returned by
45963 `grub_ieee1275_finddevice' if a device can not be opened.
45964
a2fea427 459652004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45966
45967 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45968 `actual' for negativity.
45969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45970 kern/fshelp.c.
45971
41ea0ea3 459722004-11-01 Marco Gerards <metgerards@student.han.nl>
45973
45974 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45975 (PAGE_OFFSET): New macro.
45976 (CRTC_ADDR_PORT): Likewise.
45977 (CRTC_DATA_PORT): Likewise.
45978 (START_ADDR_HIGH_REGISTER): Likewise.
45979 (START_ADDR_LOW_REGISTER): Likewise.
45980 (GRAPHICS_ADDR_PORT): Likewise.
45981 (GRAPHICS_DATA_PORT): Likewise.
45982 (READ_MAP_REGISTER): Likewise.
45983 (INPUT_STATUS1_REGISTER): Likewise.
45984 (INPUT_STATUS1_VERTR_BIT): Likewise.
45985 (page): New variable.
45986 (wait_vretrace): New function.
45987 (set_read_map): Likewise.
45988 (set_start_address): Likewise.
45989 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45990 the right page.
45991 (check_vga_mem): Take the page into account.
45992 (write_char): Likewise.
45993 (write_cursor): Likewise.
45994 (scroll_up): Likewise. Copy the page to the page that is not
45995 shown and switch between both pages.
45996 (grub_vga_putchar): Fix off by one error.
45997 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45998 account.
45999
ad0bd20b 460002004-11-01 Marco Gerards <metgerards@student.han.nl>
46001
46002 Add support for iso9660 (including rockridge).
f19dbdb7 46003
ad0bd20b 46004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46005 (iso9660_mod_SOURCES): New variable.
46006 (iso9660_mod_CFLAGS): Likewise.
46007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46008 * include/grub/fs.h (grub_iso9660_init): New prototype.
46009 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46010 * fs/iso9660.c: New file.
46011
46012 * include/grub/misc.h (grub_strncat): New prototype.
46013 * kern/misc.c (grub_strncat): New function.
f19dbdb7 46014
ad0bd20b 46015 * fs/hfs.c (grub_hfs_mount): Translate the error
46016 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46017 * fs/jfs.c (grub_jfs_mount): Likewise.
46018 * fs/ufs.c (grub_ufs_mount): Likewise.
46019
a5477a59 460202004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46021
46022 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46023 which initialized BAT registers.
46024 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46025 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46026 Move from here...
46027 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46028 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46029 ... to here.
46030 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46031 (grub_mapclaim): Likewise.
46032 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46033 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46034 hand.
46035
9304c1f8 460362004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46037
46038 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46039 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46040 -ffreestanding and -msoft-float.
46041
86f4ae25 460422004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46043
46044 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46045 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46046 set in grub_ieee1275_flags.
46047
38912228 460482004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46049
46050 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46051 prototype.
46052 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46053 grub_console_init first.
46054 Change the memory range used for grub_ieee1275_claim and
46055 grub_mm_init_region.
46056 Print an error message if the claim fails.
46057 Include <grub/misc.h>.
46058
d1923dc8 460592004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46060
46061 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46062 Call grub_children_iterate for device nodes of type `scsi',
46063 `ide', or `ata'.
46064 (grub_ofdisk_open): Remove manual device alias resolution.
46065 Fix memory leak when device cannot be opened.
f19dbdb7 46066 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 46067 (grub_children_iterate): New prototype.
46068 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46069 New function.
46070 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46071 Return -1 if args.size was -1.
46072
4512e4f3 460732004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46074
46075 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46076 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46077 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46078 Open Firmware's memory for it; claim memory from _start to _end.
46079 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46080 (_end): New extern.
46081 (_start): Zero BSS from __bss_start to _end.
46082 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46083 New extern.
46084 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46085
4d61feb0 460862004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46087
ad0bd20b 46088 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46089 -1 if args.base was -1.
4d61feb0 46090
026fa2f9 460912004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46092
46093 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46094 escape sequence instead of a literal ^L. Also call
46095 grub_ofconsole_gotoxy.
46096
9f2220ef 460972004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46098
46099 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46100 void * arguments to grub_addr_t. All callers updated. Also make
46101 the `result' argument optional.
46102 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46103 All callers updated.
46104
8a572cd7 461052004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46106
46107 * commands/ls.c (grub_ls_list_files): Use the string following the
46108 initial ')', if present, as the filesystem path.
46109 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46110
46111 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46112
18aa81f2 461132004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46114
46115 Make the source code of the menu interface more readable.
f19dbdb7 46116
18aa81f2 46117 * normal/menu.c: Include grub/mm.h.
46118 (TERM_WIDTH): New macro.
46119 (TERM_HEIGHT): Likewise.
46120 (TERM_INFO_HEIGHT): Likewise.
46121 (TERM_MARGIN): Likewise.
46122 (TERM_SCROLL_WIDTH): Likewise.
46123 (TERM_TOP_BORDER_Y): Likewise.
46124 (TERM_LEFT_BORDER_X): Likewise.
46125 (TERM_BORDER_WIDTH): Likewise.
46126 (TERM_MESSAGE_HEIGHT): Likewise.
46127 (TERM_BORDER_HEIGHT): Likewise.
46128 (TERM_NUM_ENTRIES): Likewise.
46129 (TERM_FIRST_ENTRY_Y): Likewise.
46130 (TERM_ENTRY_WIDTH): Likewise.
46131 (TERM_CURSOR_X): Likewise.
46132 (draw_border): Use macros instead of magic numbers.
46133 (print_entry): Likewise.
46134 (print_entries): Likewise.
46135 (run_menu): Likewise. Also, handle the key 'e'.
46136 (run_menu_entry): Ignore empty command lines.
46137 (print_message): Added a new argument EDIT. If EDIT is true,
46138 print a different message.
46139 (init_page): Likewise.
46140 (edit_menu_entry): New function. Not implemented yet.
46141
b47efe30 461422004-09-17 Marco Gerards <metgerards@student.han.nl>
46143
46144 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46145 can be loaded from normal mode.
f19dbdb7 46146
b47efe30 46147 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46148 `multiboot.mod'.
46149 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46150 (multiboot_mod_CFLAGS): New variables.
46151 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 46152 * loader/i386/pc/multiboot_normal.c: Likewise.
46153
b47efe30 46154 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46155 attribute `unused'.
f19dbdb7 46156
b47efe30 46157 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46158 `fdiro' to read the mode information from instead of `diro'.
46159
46160 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46161 looking up a symlink.
46162
46163 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46164 macro.
46165 * normal/command.c (grub_command_execute): Don't parse the
46166 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46167 flags of the command.
46168
46169 * normal/menu.c (grub_menu_run): Fix typo.
46170
da75ac71 461712004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46172
46173 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46174
46175 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46176 `y + 1' instead of `y - 1'.
46177
46178 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 46179
062b24c2 461802004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46181
46182 From Hollis Blanchard <hollis@penguinppc.org>:
46183 * kern/misc.c (memmove): New alias for grub_memmove.
46184 (memcmp): New alias for grub_memcmp.
46185 (memset): New alias for grub_memset.
f19dbdb7 46186 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 46187 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 46188 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 46189 (grub_ieee1275_get_property): Likewise.
f19dbdb7 46190
8ddad845 461912004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46192
46193 Added normal mode command `chainloader' as module chain.mod, which
46194 depends on normal.mod and _chain.mod.
f19dbdb7 46195
8ddad845 46196 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46197 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46198 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46199 Deleted prototype.
46200 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46201 but arguments parsing moved to ...
46202 (grub_chainloader_cmd): ... here. New function.
46203 * include/grub/i386/pc/chainloader.h: New file.
46204 * loader/i386/pc/chainloader_normal.c: Likewise.
46205
2c1f4ce3 462062004-09-11 Marco Gerards <metgerards@student.han.nl>
46207
46208 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46209 (grub_mkimage_LDFLAGS): Likewise.
46210 (grub_emu_SOURCES): Likewise.
46211 (kernel_img_HEADERS): Added fshelp.h.
46212 * fs/ext2.c: Include <grub/fshelp.h>.
46213 (FILETYPE_REG): New macro.
46214 (FILETYPE_INO_REG): Likewise.
46215 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46216 Changed all users.
46217 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46218 all users.
46219 (grub_fshelp_node): New struct.
46220 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46221 to a pointer.
46222 (grub_ext2_get_file_block): Removed function.
46223 (grub_ext2_read_block): New function.
46224 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46225 This function was written.
46226 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46227 (grub_ext2_find_file): Removed function.
46228 (grub_ext2_read_symlink): New function.
46229 (grub_ext2_iterate_dir): Likewise.
46230 (grub_ext2_open): Rewritten.
46231 (grub_ext2_dir): Rewritten.
46232 * include/grub/fshelp.h: New file.
46233 * fs/fshelp.c: Likewise.
46234
3c52136a 462352004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46236
46237 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46238 (print_message): Add a missing newline.
46239 (run_menu): Added timeout support.
46240 (run_menu_entry): New local function.
46241 (grub_menu_run): Added support for booting.
46242
46243 * kern/loader.c (grub_loader_is_loaded): New function.
46244
46245 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46246 (grub_get_rtc): Exported.
46247
46248 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46249 (grub_get_rtc): Exported.
46250
46251 * include/grub/normal.h (struct grub_command_list): Remove
46252 constant from the member `command'.
46253
46254 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46255
46256 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46257
46258 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46259
aa033560 462602004-08-28 Marco Gerards <metgerards@student.han.nl>
46261
46262 Add support for the JFS filesystem.
46263
46264 * fs/jfs.c: New file.
46265 * include/grub/fs.h (grub_jfs_init): New prototype.
46266 (grub_jfs_fini): New prototype.
46267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46268 (grub_emu_SOURCES): Likewise.
46269 (pkgdata_MODULES): Add jfs.mod.
46270 (jfs_mod_SOURCES): New variable.
46271 (jfs_mod_CFLAGS): Likewise.
46272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46273 (grubof_SOURCES): Likewise.
46274 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46275
46276 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46277 endian to the host endian.
46278 (grub_fat_utf16_to_utf8): Move function from there...
46279 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 46280 the endianness of the source string anymore.
aa033560 46281 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46282
94bc45af 462832004-08-24 Marco Gerards <metgerards@student.han.nl>
46284
46285 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46286 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46287 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46288 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 46289
94bc45af 46290 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46291 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46292 for `node_found' and `it_dir'.
46293 (grub_hfs_dir): Add prototype for `dir_hook'.
46294
46295 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46296 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46297 and `indir32' to silence a gcc warning.
46298
46299 * include/grub/fs.h (grub_hfs_init): New prototype.
46300 (grub_hfs_fini): Likewise.
f19dbdb7 46301
46302
97543f08 463032004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46304
46305 Each disk device has its own id now. This is useful to make use
46306 of multiple disk devices.
f19dbdb7 46307
97543f08 46308 * include/grub/disk.h (grub_disk_dev_id): New enum.
46309 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46310 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46311
46312 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46313 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46314
46315 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46316 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46317
46318 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46319 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46320
46321 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46322 "id" which is used by the cache manager.
46323
46324 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46325 of just "GRUB".
46326
64372eb4 463272004-08-18 Marco Gerards <metgerards@student.han.nl>
46328
46329 * fs/hfs.c: New file.
46330 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46331 (grub_emu_SOURCES): Likewise.
46332 (pkgdata_MODULES): Add hfs.mod.
46333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46334 (grubof_SOURCES): Likewise.
46335 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46336
46337 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46338 * kern/misc.c (grub_strncasecmp): Add function.
46339
cc61b58f 463402004-08-14 Marco Gerards <metgerards@student.han.nl>
46341
46342 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46343 with parentheses.
46344
46345 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46346 (grub_ext2_dir): In case the directory entry type is unknown, read
46347 it from the inode.
46348
0ef123f6 463492004-08-02 Peter Bruin <pjbruin@dds.nl>
46350
46351 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46352 grub_load_linux instead of grub_rescue_cmd_linux as second
46353 argument of grub_rescue_register_command.
46354
46355 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46356
a447c5df 463572004-07-27 Marco Gerards <metgerards@student.han.nl>
46358
46359 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46360 function.
46361 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46362 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46363 `loader/powerpc/ieee1275/linux.c',
46364 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46365 * include/grub/powerpc/ieee1275/ieee1275.h
46366 (grub_ieee1275_release): New prototype.
46367 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46368 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46369 normal, boot, linux and linux_normal.
46370 * loader/powerpc/ieee1275/linux.c: New file.
46371 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46372
5a9e3546 463732004-07-12 Marco Gerards <metgerards@student.han.nl>
46374
46375 * normal/arg.c (grub_arg_parse): Correct error handling after
46376 reallocating the argumentlist (check if `argl' is not null instead
46377 of checking if `args' is not null).
46378 * kern/mm.c (grub_realloc): Return the same pointer when using the
46379 same region, instead of returning the header address.
46380
e15199cb 463812004-07-11 Marco Gerards <metgerards@student.han.nl>
46382
46383 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46384 one block instead of two when looking for the initial partition.
46385 (grub_partition_probe): Initialize the local variable `p' with 0.
46386 Use base 10 for the grub_strtoul call.
46387 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46388 need for one local variable.
46389 (grub_strtoul): Don't add the new value to `num', instead of that
46390 just assign it.
46391
020616c2 463922004-07-11 Marco Gerards <metgerards@student.han.nl>
46393
46394 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46395 (pxeboot_img_SOURCES): New variable.
46396 (pxeboot_img_ASFLAGS): Likewise.
46397 (pxeboot_img_LDFLAGS): Likewise.
46398 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46399 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46400 <lode_leroy@hotmail.com>.
46401
6c51eb64 464022004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46403
46404 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46405 there was no input.
46406
cfb12aff 464072004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46408
46409 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46410 the history buffer logic.
46411
6eabba74 464122004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46413
46414 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46415 (FILETYPE_INO_SYMLINK): New macros.
46416 (grub_ext2_find_file): Check if the node is a directory using the
46417 inode stat information instead of using the filetype in the
46418 dirent. Exclude the first character of an absolute symlink.
46419 (grub_ext2_dir): Mask out the filetype part of the mode member of
46420 the inode.
46421
66e19ef8 464222004-05-24 Marco Gerards <metgerards@student.han.nl>
46423
46424 Add support for UFS version 1 and 2. Add support for the minix
46425 filesystem version 1 and 2, both the variants with 14 and 30 long
46426 filenames.
f19dbdb7 46427
66e19ef8 46428 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46429 fs/minix.c.
46430 (grub_emu_SOURCES): Likewise.
46431 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46432 (ufs_mod_SOURCES): New variable.
46433 (ufs_mod_CFLAGS): Likewise.
46434 (minix_mod_SOURCES): Likewise.
46435 (minix_mod_CFLAGS): Likewise.
46436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46437 fs/minix.c.
46438 (grubof_SOURCES): Likewise.
46439 * fs/ufs.c: New file.
46440 * fs/minix.c: New file.
46441 * include/grub/fs.h (grub_ufs_init): New prototype.
46442 (grub_ufs_fini): Likewise.
46443 (grub_minix_init): Likewise.
46444 (grub_minix_fini): Likewise.
46445 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46446 minix fs.
46447
cc2e748a 464482004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46449
46450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46451 commands/ls.c, commands/terminal.c, commands/boot.c,
46452 commands/cmp.c and commands/cat.c.
46453 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46454
46455 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46456 "env.h"
46457
4b13b216 464582004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46459
46460 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46461 and grub_, respectively. Because the conversion is trivial and
46462 mechanical, I omit the details here. Please refer to the CVS
46463 if you need more information.
46464
6a142551 464652004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46466
46467 * include/pupa: Renamed to ...
46468 * include/grub: ... this.
46469 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46470 * util/i386/pc/grub-mkimage.c: ... this.
46471 * util/i386/pc/pupa-setup.c: Renamed to ...
46472 * util/i386/pc/grub-setup.c: ... this.
46473 * util/pupa-emu.c: Renamed to ...
46474 * util/grub-emu.c: ... this.
46475
e56cdf21 464762004-03-29 Marco Gerards <metgerards@student.han.nl>
46477
46478 Add support for the newworld apple macintosh (PPC). This has been
46479 tested on the powerbook 2000 only. It only adds support for
46480 generic ieee1275 functions, console and disk support. This should
46481 be easy to port to other architectures with support for Open
46482 Firmware.
f19dbdb7 46483
e56cdf21 46484 * configure.ac: Accept the powerpc as host_cpu. In the case of
46485 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46486 specific tests are only executed while building for the i386.
46487 Inverse test for crosscompile.
46488 * genmk.rb (Utility): Allow assembler files.
46489 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46490 * conf/powerpc-ieee1275.rmk: New file.
46491 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46492 * disk/powerpc/ieee1275/partition.c: Likewise.
46493 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46494 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46495 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46496 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46497 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46498 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46499 * include/pupa/powerpc/ieee1275/loader.h
46500 * include/pupa/powerpc/setjmp.h: Likewise.
46501 * include/pupa/powerpc/types.h: Likewise.
46502 * kern/powerpc/ieee1275/init.c: Likewise.
46503 * kern/powerpc/ieee1275/openfw.c: Likewise.
46504 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46505
46506 These files were written by Johan Rydberg
46507 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46508
e56cdf21 46509 * boot/powerpc/ieee1275/cmain.c: New file.
46510 * boot/powerpc/ieee1275/crt0.S: Likewise.
46511 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46512 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46513
8c8cc205 465142004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46515
46516 * Makefile.in: Update copyright.
46517 * genmodsrc.sh: Likewise.
46518 * gensymlist.sh: Likewise.
46519 * term/i386/pc/vga.c: Indent correctly.
46520
46521 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46522 bugreporting address.
46523 * util/i386/pc/pupa-setup.c (usage): Likewise,
46524 (main): Call pupa_ext2_init and pupa_ext2_fini.
46525
f19dbdb7 46526 * fs/fat.c (log2): Renamed to ...
8c8cc205 46527 (fat_log2): ... this.
46528 All callers changed.
46529 * kern/misc.c (memcpy): Alias to pupa_memmove.
46530 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46531 lvalue cast.
46532 * util/console.c (pupa_ncurses_fini): Return 0.
46533
46534 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46535 Move fail label here.
46536 [__GNU__]: Don't warn when using stat.
46537 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46538 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46539 long int. Use strtol instead of strtoul.
f19dbdb7 46540
db1771cf 465412004-03-14 Marco Gerards <metgerards@student.han.nl>
46542
46543 * commands/boot.c: New file.
46544 * commands/cat.c: Likewise.
46545 * commands/cmp.c: Likewise.
46546 * commands/ls.c: Likewise.
46547 * commands/terminal.c: Likewise.
46548 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46549 (pupa_register_command): Changed interface to match the new
46550 argument parser.
46551 (pupa_command_execute): Changed (almost rewritten) so it uses
46552 pupa_split_command. Added support for setting variables using the
46553 syntax `foo=bar'.
46554 (rescue_command): Changed to work with the new argument parser.
46555 (terminal_command): Moved from here to commands/terminal.c.
46556 (set_command): New function.
46557 (unset_command): New function.
46558 (insmod_command): New function.
46559 (rmmod_command): New function.
46560 (lsmod_command): New function.
46561 (pupa_command_init): Don't initialize the command terminal
46562 anymore. Initialize the commands set, unset, insmod, rmmod and
46563 lsmod.
46564 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46565 (kernel_img_HEADERS): Add arg.h and env.h.
46566 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46567 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46568 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46569 normal/arg.c.
46570 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46571 terminal.mod.
46572 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46573 (boot_mod_SOURCES): New variable.
46574 (terminal_mod_SOURCES): Likewise.
46575 (ls_mod_SOURCES): Likewise.
46576 (cmp_mod_SOURCES): Likewise.
46577 (cat_mod_SOURCES): Likewise.
46578
46579 * normal/arg.c: New file.
46580 * kern/env.c: Likewise.
46581 * include/pupa/arg.h: Likewise.
46582 * include/pupa/env.h: Likewise.
46583 * font/manager.c (font_command): Changed to match argument parsing
46584 interface changes.
46585 (PUPA_MOD_INIT): Likewise.
46586 * hello/hello.c (pupa_cmd_hello): Likewise.
46587 (PUPA_MOD_INIT): Likewise.
46588 * include/pupa/disk.h: Include <pupa/device.h>.
46589 (pupa_print_partinfo): New prototype.
46590 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46591 (pupa_dl_get_prefix): Likewise.
46592 * include/pupa/misc.h: Include <pupa/err.h>.
46593 (pupa_isgraph): New prototype.
46594 (pupa_isdigit): Likewise.
46595 (pupa_split_cmdline): Likewise.
46596 * include/pupa/normal.h: Include <pupa/arg.h>.
46597 (pupa_command): Changed the prototype of the member `func' to
46598 match the argument parsing interface. Added member `options'.
46599 (pupa_register_command): Updated to match function.
46600 (pupa_arg_parse): New prototype.
46601 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46602 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46603 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46604 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46605 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46606 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46607 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46608 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46609 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46610 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46611 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46612 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46613 * kern/disk.c: Include <pupa/file.h>.
46614 (pupa_print_partinfo): New function.
46615 * kern/dl.c: Include <pupa/env.h>.
46616 (pupa_dl_dir): Variable removed.
46617 (pupa_dl_load): Use the environment variable `prefix' instead of
46618 the variable pupa_dl_dir.
46619 (pupa_dl_set_prefix): Function removed.
46620 (pupa_dl_get_prefix): Likewise.
46621 * kern/i386/pc/init.c: Include <pupa/env.h>.
46622 (pupa_machine_init): Use the environment variable `prefix' instead of
46623 using pupa_dl_set_prefix to set the prefix.
46624 * kern/main.c: Include <pupa/env.h>.
46625 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46626 using pupa_dl_get_prefix to get the prefix.
46627 * kern/misc.c: Include <pupa/env.h>.
46628 (pupa_isdigit): New function.
46629 (pupa_isgraph): Likewise.
46630 (pupa_ftoa): Likewise.
46631 (pupa_vsprintf): Added support for printing values of the type
46632 `double'. Make it possible to format variable output when using
46633 formatting like `%1.2%f'.
46634 (pupa_split_cmdline): New function.
46635 * kern/rescue.c: Include <pupa/env.h>.
46636 (next_word): Removed function.
46637 (pupa_rescue_cmd_prefix): Likewise.
46638 (pupa_rescue_cmd_set): New function.
46639 (pupa_rescue_cmd_unset): New function.
46640 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46641 split the command line instead of splitting it here. Added
46642 support for setting variables using the syntax `foo=bar'. Don't
46643 initialize the prefix command anymore. Initialized the set and
46644 unset commands.
46645 * normal/cmdline.c: Include <pupa/env.h>.
46646 (pupa_tab_complete): Added prototypes for print_simple_completion,
46647 print_partition_completion, add_completion, iterate_commands,
46648 iterate_dev, iterate_part and iterate_dir. Moved code to print
46649 partition information from here to kern/disk.c.
fe6b695a 46650 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46651 * normal/main.c: Include <pupa/env.h>.
46652 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46653 instead of using pupa_dl_get_prefix to get the prefix.
46654 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46655 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46656 warning.
46657 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46658 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46659 ((unused))' to silence a gcc warning.
46660 (pupa_vga_setcolor): Likewise.
46661 (debug_command): Changed to match argument parsing
46662 interface changes.
46663 * util/pupa-emu.c: Include <pupa/env.h>.
46664 (options): Added 0's for unused fields to silence a gcc warning.
46665 (argp): Likewise.
46666 (main): Use the environment variable `prefix' instead of using
46667 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46668 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46669 and terminal.
46670
46671 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46672 * util/misc.c: Include <malloc.h>.
46673 (pupa_malloc): Rewritten so errors are correctly reported.
46674 (pupa_realloc): Likewise.
46675 (pupa_memalign): Likewise.
46676 (pupa_mm_init_region): Declare unused variables with
46677 `__attribute__ ((unused))' to silence a gcc warning.
46678 * normal/i386/setjmp.S: Remove tab at the end of the file to
46679 silence a gcc warning.
46680 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46681 variables with `__attribute__ ((unused))' to silence a gcc
46682 warning.
46683 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46684 local variable i unsigned to silence a gcc warning.
46685
46686 * kern/term.c: Include <pupa/misc.h>.
46687 (pupa_more_lines): New variable.
46688 (pupa_more): Likewise.
46689 (pupa_putcode): When the pager is active pause at the end of every
46690 screen.
46691 (pupa_set_more): New function.
46692 * include/pupa/term.h (pupa_set_more): New prototype.
46693
46694
3b1139cb 466952004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46696
46697 Now this project is GRUB 2 rather than PUPA. The location of
46698 the CVS repository was moved to GRUB's.
f19dbdb7 46699
3b1139cb 46700 * configure.ac: Use bug-grub as the reporting address.
46701 Use GRUB instead of PUPA.
46702 Change the version number to 1.90.
46703
8367695c 467042004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46705
46706 * genkernsyms.sh: Updated copyright information.
46707 * genmk.rb: Likewise.
46708 * genmodsrc.sh: Likewise.
46709 * gensymlist.sh: Likewise.
46710 * boot/i386/pc/boot.S: Likewise.
46711 * boot/i386/pc/diskboot.S: Likewise.
46712 * disk/i386/pc/biosdisk.c: Likewise.
46713 * disk/i386/pc/partition.c: Likewise.
46714 * font/manager.c: Likewise.
46715 * fs/ext2.c: Likewise.
46716 * fs/fat.c: Likewise.
46717 * include/pupa/boot.h: Likewise.
46718 * include/pupa/device.h: Likewise.
46719 * include/pupa/disk.h: Likewise.
46720 * include/pupa/dl.h: Likewise.
46721 * include/pupa/elf.h: Likewise.
46722 * include/pupa/err.h: Likewise.
46723 * include/pupa/file.h: Likewise.
46724 * include/pupa/font.h: Likewise.
46725 * include/pupa/fs.h: Likewise.
46726 * include/pupa/kernel.h: Likewise.
46727 * include/pupa/loader.h: Likewise.
46728 * include/pupa/misc.h: Likewise.
46729 * include/pupa/mm.h: Likewise.
46730 * include/pupa/net.h: Likewise.
46731 * include/pupa/normal.h: Likewise.
46732 * include/pupa/rescue.h: Likewise.
46733 * include/pupa/setjmp.h: Likewise.
46734 * include/pupa/symbol.h: Likewise.
46735 * include/pupa/term.h: Likewise.
46736 * include/pupa/types.h: Likewise.
46737 * include/pupa/i386/setjmp.h: Likewise.
46738 * include/pupa/i386/types.h: Likewise.
46739 * include/pupa/i386/pc/biosdisk.h: Likewise.
46740 * include/pupa/i386/pc/boot.h: Likewise.
46741 * include/pupa/i386/pc/console.h: Likewise.
46742 * include/pupa/i386/pc/init.h: Likewise.
46743 * include/pupa/i386/pc/kernel.h: Likewise.
46744 * include/pupa/i386/pc/linux.h: Likewise.
46745 * include/pupa/i386/pc/loader.h: Likewise.
46746 * include/pupa/i386/pc/memory.h: Likewise.
46747 * include/pupa/i386/pc/multiboot.h: Likewise.
46748 * include/pupa/i386/pc/partition.h: Likewise.
46749 * include/pupa/i386/pc/time.h: Likewise.
46750 * include/pupa/i386/pc/vga.h: Likewise.
46751 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46752 * include/pupa/util/getroot.h: Likewise.
46753 * include/pupa/util/misc.h: Likewise.
46754 * include/pupa/util/resolve.h: Likewise.
46755 * kern/device.c: Likewise.
46756 * kern/disk.c: Likewise.
46757 * kern/dl.c: Likewise.
46758 * kern/err.c: Likewise.
46759 * kern/file.c: Likewise.
46760 * kern/fs.c: Likewise.
46761 * kern/loader.c: Likewise.
46762 * kern/main.c: Likewise.
46763 * kern/misc.c: Likewise.
46764 * kern/mm.c: Likewise.
46765 * kern/rescue.c: Likewise.
46766 * kern/term.c: Likewise.
46767 * kern/i386/dl.c: Likewise.
46768 * kern/i386/pc/init.c: Likewise.
46769 * kern/i386/pc/lzo1x.S: Likewise.
46770 * kern/i386/pc/startup.S: Likewise.
46771 * loader/i386/pc/chainloader.c: Likewise.
46772 * loader/i386/pc/linux.c: Likewise.
46773 * loader/i386/pc/multiboot.c: Likewise.
46774 * normal/cmdline.c: Likewise.
46775 * normal/command.c: Likewise.
46776 * normal/main.c: Likewise.
46777 * normal/menu.c: Likewise.
46778 * normal/i386/setjmp.S: Likewise.
46779 * term/i386/pc/console.c: Likewise.
46780 * term/i386/pc/vga.c: Likewise.
46781 * util/console.c: Likewise.
46782 * util/genmoddep.c: Likewise.
46783 * util/misc.c: Likewise.
46784 * util/pupa-emu.c: Likewise.
46785 * util/resolve.c: Likewise.
46786 * util/unifont2pff.rb: Likewise.
46787 * util/i386/pc/biosdisk.c: Likewise.
46788 * util/i386/pc/getroot.c: Likewise.
46789 * util/i386/pc/pupa-mkimage.c: Likewise.
46790 * util/i386/pc/pupa-setup.c: Likewise.
46791
e6eced71 467922004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46793
46794 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46795 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46796 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46797 reading and reset it after reading.
46798 (pupa_ext2_close): Return PUPA_ERR_NONE.
46799
46800 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46801 Correct value.
46802 (struct linux_kernel_header): Add kernel_version and
46803 initrd_addr_max.
46804 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46805 pupa_file_read succeeds.
46806 (pupa_rescue_cmd_initrd): Implement.
46807
5aded270 468082003-12-03 Marco Gerards <metgerards@student.han.nl>
46809
46810 * fs/ext2.c (pupa_ext2_label): New function.
46811 (pupa_ext2_fs): Added label.
46812 * fs/fat.c (pupa_fat_label): New function.
46813 (pupa_fat_fs): Added label.
46814 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46815
46816 * kern/misc.c (pupa_strndup): New function.
46817 * include/pupa/misc.h (pupa_strndup): New prototype.
46818
46819 * include/pupa/normal.h: Include <pupa/err.h>.
46820 (pupa_set_history): New prototype.
46821 (pupa_iterate_commands): New prototype.
46822 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46823 <pupa/disk.h>, <pupa/file.h>.
46824 (hist_size): New variable.
46825 (hist_lines): Likewise.
46826 (hist_end): Likewise.
46827 (hist_used): Likewise.
46828 (pupa_set_history): New function.
46829 (pupa_history_get): Likewise.
46830 (pupa_history_add): Likewise.
46831 (pupa_history_replace): Likewise.
46832 (pupa_tab_complete): Likewise.
46833 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46834 completion shows partitionnames while completing partitions, this
46835 feature was suggested by Jeff Bailey.
46836 * normal/command.c (pupa_iterate_commands): New function.
46837 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46838 (pupa_normal_init): Initialize history buffer.
46839 (PUPA_MOD_INIT): Likewise.
46840 (pupa_normal_fini): Free the history buffer.
46841 (PUPA_MOD_FINI): Likewise.
46842
46843 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46844 key.
46845
46846 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46847 * configure.ac [i386]: Check for regparam bug.
46848 (NESTED_FUNC_ATTR) [! i386]: Defined.
46849
1f7315a3 468502003-11-17 Marco Gerards <metgerards@student.han.nl>
46851
46852 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46853 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46854 (pupa_emu_SOURCES): New variable.
46855 (pupa_emu_LDFLAGS): Likewise.
46856 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46857 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46858 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46859 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46860 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46861 (pupa_jmp_buf): New typedef.
46862 (pupa_setjmp) [PUPA_UTIL]: New macro.
46863 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46864 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46865 (pupa_refresh): New prototype.
46866 * include/pupa/util/getroot.h: New file.
46867 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46868 it.
46869 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46870 (pupa_rescue_cmd_cat): Likewise.
46871 (pupa_rescue_cmd_ls): Likewise.
46872 (pupa_rescue_cmd_testload): Likewise.
46873 (pupa_rescue_cmd_lsmod): Likewise.
46874 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46875 * normal/menu.c (run_menu): Likewise.
46876 * kern/term.c (pupa_cls): Likewise.
46877 (pupa_refresh): New function.
46878 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46879 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46880 * util/console.c: New file.
f19dbdb7 46881
1f7315a3 46882 * util/i386/pc/getroot.c: New file.
46883 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46884 (pupa_putchar): New function.
46885 (pupa_refresh): Likewise.
46886 (xgetcwd): Function moved to ...
46887 (strip_extra_slashes): Likewise.
46888 (get_prefix): Likewise.
f19dbdb7 46889 * util/i386/pc/getroot.c: ... here.
1f7315a3 46890 (find_root_device): Function moved and renamed to...
46891 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46892 Changed all callers.
46893 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46894 and renamed to...
46895 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46896 Changed all callers.
46897 * util/misc.c (pupa_memalign): New function.
46898 (pupa_mm_init_region): Likewise.
46899 (pupa_register_exported_symbols): Likewise.
46900 (pupa_putchar): Function removed.
46901 * util/pupa-emu.c: New file.
46902
9a5c1ade 469032003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46904
46905 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46906 (_multiboot_mod_SOURCES): New variable.
46907 (_multiboot_mod_CFLAGS): Likewise.
46908 * loader/i386/pc/multiboot.c: New file.
46909 * include/pupa/i386/pc/multiboot.h: Likewise.
46910 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46911 (pupa_multiboot_real_boot): New function.
46912 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46913 (pupa_multiboot_real_boot): New prototype.
46914 (pupa_rescue_cmd_multiboot): Likewise
46915 (pupa_rescue_cmd_module): Likewise.
46916
46917 * kern/loader.c (pupa_loader_set): Continue when
46918 pupa_loader_unload_func() fails.
46919 (pupa_loader_unset): New function.
46920 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46921
46922 * kern/misc.c (pupa_stpcpy): New function.
46923 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46924
8e72a9c0 469252003-11-12 Marco Gerards <metgerards@student.han.nl>
46926
46927 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46928 for available extensions.
46929
46930 * include/pupa/i386/pc/time.h: New file.
46931 * kern/disk.c: Include <pupa/machine/time.h>.
46932 (PUPA_CACHE_TIMEOUT): New macro.
46933 (pupa_last_time): New variable.
46934 (pupa_disk_open): Flush the cache when there was a timeout.
46935 (pupa_disk_close): Reset the timer.
46936 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46937 pupa_currticks.
46938 * util/misc.c: Include <sys/times.h>
46939 (pupa_get_rtc): New function.
46940
c4adbd32 469412003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46942
46943 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46944 as blocks.
46945 (pupa_ext2_get_file_block): Use blocks member.
46946
46947 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46948 first block. Return -1 instead of pupa_errno on error.
46949
bfd30f06 469502003-10-27 Marco Gerards <metgerards@student.han.nl>
46951
46952 * README: In the pupa-mkimage example use _chain instead of chain
46953 and ext2 instead of fat.
46954 * TODO: Replace ext2fs with jfs as an example. Add an item for
46955 adding journal playback for ext2fs.
46956 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46957 (pkgdata_MODULES): Added ext2.mod.
46958 (ext2_mod_SOURCES): New variable.
46959 (ext2_mod_CFLAGS): Likewise.
46960 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46961 * include/pupa/misc.h (pupa_strncpy): New prototype.
46962 (pupa_strcat): Likewise.
46963 (pupa_strncmp): Likewise.
46964 * kern/misc.c (pupa_strcat): Enable function.
46965 (pupa_strncpy): New function.
46966 (pupa_strncmp): Likewise.
46967 * fs/ext2.c: New file.
f19dbdb7 46968
bfd30f06 46969 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46970 when the read failed before retrying.
46971 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46972 (_FILE_OFFSET_BITS): Likewise.
46973 * configure.ac: Added AC_SYS_LARGEFILE.
46974
98d15063 469752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46976
46977 * genmk.rb (PModule#rule): Make sure to get only symbol names
46978 from the output of nm.
59cad637 46979 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46980
18d9c7cd 469812003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46982
46983 I forgot to check in these changes for a long time. This adds
46984 incomplete support for VGA console, and this is still very
46985 buggy. Also, a lot of consideration is required for I18N,
46986 UNICODE, and VGA font issues. Therefore, assume that this is
46987 such that "better than nothing".
f19dbdb7 46988
18d9c7cd 46989 * font/manager.c: New file.
46990 * include/pupa/font.h: Likewise.
46991 * include/pupa/i386/pc/vga.h: Likewise.
46992 * term/i386/pc/vga.c: Likewise.
46993 * util/unifont2pff.rb: Likewise.
46994
46995 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46996 (pkgdata_MODULES): Added vga.mod and font.mod.
46997 (vga_mod_SOURCES): New variables.
46998 (vga_mod_CFLAGS): Likewise.
46999 (font_mod_SOURCES): Likewise.
47000 (font_mod_CFLAGS): Likewise.
47001
47002 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47003
47004 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 47005 (struct pupa_term): Added init and fini.
18d9c7cd 47006 Changed the argument of putchar to pupa_uint32_t.
47007
47008 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47009 (pupa_console_real_putchar): New prototype.
47010 (pupa_console_putchar): Removed.
47011 (pupa_console_checkkey): Exported.
47012 (pupa_console_getkey): Likewise.
47013
47014 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47015 characters.
47016
47017 * kern/term.c (pupa_term_set_current): Rewritten.
47018 (pupa_putchar): Likewise.
47019 (pupa_putcode): New function.
47020
47021 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47022 (pupa_console_real_putchar): ... this.
47023 (pupa_vga_set_mode): New function.
47024 (pupa_vga_get_font): Likewise.
47025
47026 * normal/command.c: Include pupa/term.h.
47027 (terminal_command): New function.
47028 (pupa_command_init): Register the command "terminal".
47029
47030 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47031 (DISP_UP): Likewise.
47032 (DISP_RIGHT): Likewise.
47033 (DISP_DOWN): Likewise.
47034 (DISP_HLINE): Likewise.
47035 (DISP_VLINE): Likewise.
47036 (DISP_UL): Likewise.
47037 (DISP_UR): Likewise.
47038 (DISP_LL): Likewise.
47039 (DISP_LR): Likewise.
47040
47041 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 47042
977329f5 470432003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47044
47045 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47046 FIX. Reverse the path_list.
47047
47048 * include/pupa/normal.h: Export pupa_register_command and
47049 pupa_unregister_command.
47050
47051 * hello/hello.c (pupa_cmd_hello): New module.
47052 * conf/i386-pc.rmk: Added hello.mod.
47053
1f5ab428 470542003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47055
47056 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 47057
1f5ab428 47058 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47059 (compress_kernel): New variable.
47060 (generate_image): Heavily modified to support compressing a
47061 large part of the core image.
47062
47063 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47064 leak.
47065 (pupa_util_load_image): New function.
47066
47067 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47068 (pupa_compressed_size): New variable.
47069 (codestart): Enable Gate A20 here.
47070 Decompress the compressed part of the core image.
47071 Rearrange the code to put functions and variables which are
47072 required for initialization in the non-compressed part.
47073 Include lzo1x.S.
47074
47075 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47076 here.
47077
47078 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47079
f19dbdb7 47080 * include/pupa/i386/pc/kernel.h
1f5ab428 47081 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47082 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47083 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47084 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47085 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47086
47087 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47088
47089 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47090 (Utility#rule): Likewise.
47091
47092 * configure.ac: Check if LZO is available.
47093
ce5bf700 470942003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47095
47096 * include/pupa/normal.h: New file.
47097 * include/pupa/setjmp.h: Likewise.
47098 * include/pupa/i386/setjmp.h: Likewise.
47099 * normal/cmdline.c: Likewise.
47100 * normal/command.c: Likewise.
47101 * normal/main.c: Likewise.
47102 * normal/menu.c: Likewise.
47103 * normal/i386/setjmp.S: Likewise.
f19dbdb7 47104
ce5bf700 47105 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47106 (pupa_rescue_cmd_initrd): Likewise.
47107
47108 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47109 Likewise.
47110
47111 * kern/i386/pc/startup.S (translation_table): New variable.
47112 (translate_keycode): New function.
47113 (pupa_console_getkey): Call translate_keycode.
47114
47115 * kern/rescue.c (attempt_normal_mode): New function.
47116 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47117 it failed, print a message.
47118
47119 * kern/mm.c (pupa_real_malloc): Print more information when a
47120 free magic is broken.
47121 (pupa_free): If the first free header is not free actually, set
47122 it to P.
47123
47124 * kern/main.c (pupa_load_normal_mode): Just load the module
47125 "normal".
47126 (pupa_main): Don't print the message
47127 "Entering into rescue mode..." here.
47128
47129 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47130 Declared.
47131 (pupa_rescue_cmd_initrd): Likewise.
47132 (pupa_rescue_cmd_initrd): Likewise.
47133
47134 * include/pupa/symbol.h (FUNCTION): Specify the type.
47135 (VARIABLE): Likewise.
47136
47137 * include/pupa/err.h (pupa_err_t): Added
47138 PUPA_ERR_UNKNOWN_COMMAND.
47139
47140 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47141 (pupa_dl_get_prefix): Likewise.
47142
47143 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47144 Added _chain.mod and _linux.mod instead of chain.mod and
47145 linux.mod.
47146 (chain_mod_SOURCES): Renamed to ...
47147 (_chain_mod_SOURCES): ... this.
47148 (chain_mod_CFLAGS): Renamed to ...
47149 (_chain_mod_CFLAGS): ... this.
47150 (linux_mod_SOURCES): Renamed to ...
47151 (_linux_mod_SOURCES): ... this.
47152 (linux_mod_CFLAGS): Renamed to ...
47153 (_linux_mod_CFLAGS): ... this.
47154 (normal_mod_SOURCES): New variable.
47155 (normal_mod_CFLAGS): Likewise.
47156 (normal_mod_ASFLAGS): Likewise.
47157
471582003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47159
47160 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47161 possible.
47162
fe6b695a 47163 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 47164 recursively.
47165 (pupa_dl_unref): Unrefer depending modules recursively.
47166 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47167 a module is unloaded before one depending on that module is
47168 unloaded.
47169 (pupa_dl_unload): Unload depending modules explicitly,
47170 if possible.
47171
c04da074 471722003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47173
47174 * include/pupa/i386/pc/linux.h: New file.
47175 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 47176
c04da074 47177 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47178 Removed.
47179 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47180 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47181 of PUPA_CHAINLOADER_BOOT_SECTOR.
47182
47183 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47184 (pupa_linux_prot_size): New variable.
47185 (pupa_linux_tmp_addr): Likewise.
47186 (pupa_linux_real_addr): Likewise.
47187 (pupa_linux_boot_zimage): New function.
47188 (pupa_linux_boot_bzimage): Likewise.
47189
47190 * kern/i386/pc/init.c (struct mem_region): New structure.
47191 (MAX_REGIONS): New macro.
47192 (mem_regions): New variable.
47193 (num_regions): Likewise.
47194 (pupa_os_area_addr): Likewise.
47195 (pupa_os_area_size): Likewise.
47196 (pupa_lower_mem): Likewise.
47197 (pupa_upper_mem): Likewise.
47198 (add_mem_region): New function.
47199 (compact_mem_regions): Likewise.
47200 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47201 the size of the conventional memory and that of so-called upper
47202 memory (before the first memory hole).
47203 Instead of adding each found region to free memory, use
47204 add_mem_region and add them after removing overlaps.
47205 Also, add only 1/4 of the upper memory to free memory. The rest
47206 is used for loading OS images. Maybe this is ad hoc, but this
47207 makes it much easier to relocate OS images when booting.
47208
47209 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47210 (pupa_enter_rescue_mode): Don't register initrd and module.
47211
47212 * kern/mm.c: Include pupa/dl.h.
47213
47214 * kern/main.c: Include pupa/file.h and pupa/device.h.
47215
47216 * kern/loader.c (pupa_loader_load_module_func): Removed.
47217 (pupa_loader_load_module): Likewise.
47218
47219 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47220 ``.o''.
47221
47222 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47223 (pupa_linux_tmp_addr): Likewise.
47224 (pupa_linux_real_addr): Likewise.
47225 (pupa_linux_boot_zimage): Likewise.
47226 (pupa_linux_boot_bzimage): Likewise.
47227
47228 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47229 (pupa_upper_mem): Likewise.
47230 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47231 module is too dangerous.
47232
47233 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47234 (pupa_os_area_size): Likewise.
47235 (pupa_loader_set): Remove the first argument. Loader doesn't
47236 manage modules or initrd any longer.
47237 (pupa_loader_load_module): Removed.
47238
47239 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47240 (linux_mod_SOURCES): New variable.
47241 (linux_mod_CFLAGS): Likewise.
47242
a13f9237 472432003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47244
47245 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47246 the length of a blocklist correctly.
47247
47248 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47249 Use ioctl only if the OS file is a block device.
47250 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47251 not very useful for normal files.
47252
47253 * kern/main.c (pupa_set_root_dev): New function.
47254 (pupa_load_normal_mode): Likewise.
47255 (pupa_main): Call those above.
47256
47257 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47258 pupa_uint16_t.
47259
47260 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47261
a5ffe966 472622003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47263
47264 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47265 (setup): Configure the installed partition information and the
47266 dl prefix.
47267
47268 * loader/i386/pc/chainloader.c (my_mod): New variable.
47269 (pupa_chainloader_unload): New function.
47270 (pupa_rescue_cmd_chainloader): Refer itself.
47271 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47272
47273 * kern/i386/pc/startup.S (install_partition): Removed.
47274 (version_string): Likewise.
47275 (config_file): Likewise.
47276 (pupa_install_dos_part): New variable.
47277 (pupa_install_bsd_part): Likewise.
47278 (pupa_prefix): Likewise.
47279 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47280
47281 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47282 and pupa/misc.h.
47283 (make_install_device): New function.
47284 (pupa_machine_init): Set the dl prefix.
47285
47286 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47287 (buf): Renamed to ...
47288 (linebuf): ... this.
47289 (pupa_rescue_cmd_prefix): New function.
47290 (pupa_rescue_cmd_insmod): Likewise.
47291 (pupa_rescue_cmd_rmmod): Likewise.
47292 (pupa_rescue_cmd_lsmod): Likewise.
47293 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47294 rmmod and lsmod.
47295
47296 * kern/mm.c (pupa_memalign): If failed even after invalidating
47297 disk caches, unload unneeded modules and retry.
47298
47299 * kern/misc.c (pupa_memmove): New function.
47300 (pupa_memcpy): Removed.
47301 (pupa_strcpy): New function.
47302 (pupa_itoa): Made static.
47303
47304 * kern/dl.c (pupa_dl_iterate): New function.
47305 (pupa_dl_ref): Likewise.
47306 (pupa_dl_unref): Likewise.
47307 (pupa_dl_unload): Return if succeeded or not.
47308 (pupa_dl_unload_unneeded): New function.
47309 (pupa_dl_unload_all): Likewise.
47310 (pupa_dl_init): Renamed to ...
47311 (pupa_dl_set_prefix): ... this.
47312 (pupa_dl_get_prefix): New function.
47313
47314 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47315 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47316 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47317 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47318 (pupa_install_dos_part): Declared.
47319 (pupa_install_bsd_part): Likewise.
47320 (pupa_prefix): Likewise.
47321 (pupa_boot_drive): Likewise.
47322
47323 * include/pupa/types.h: Fix a typo.
47324
47325 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47326 pupa_memmove.
47327 (pupa_memmove): Declared.
47328 (pupa_strcpy): Likewise.
47329
47330 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47331 pupa_mod_init takes one argument, its own module.
47332 (pupa_dl_unload_unneeded): Declared.
47333 (pupa_dl_unload_all): Likewise.
47334 (pupa_dl_ref): Likewise.
47335 (pupa_dl_unref): Likewise.
47336 (pupa_dl_iterate): Likewise.
47337 (pupa_dl_init): Renamed to ...
47338 (pupa_dl_set_prefix): ... this.
47339 (pupa_dl_get_prefix): Declared.
47340
47341 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 47342 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 47343 unloaded.
47344 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47345 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47346
47347 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47348 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47349
012d7999 473502003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47351
47352 * util/i386/pc/pupa-setup.c (setup): Define the internal
47353 function find_first_partition_start at the top level, because GCC
47354 3.0.x cannot compile internal functions in deeper scopes
47355 correctly.
47356 (find_root_device): Use lstat instead of stat.
47357 Don't follow symbolic links.
47358 Fix the path-constructing code.
47359
47360 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47361 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47362 by a BLKGETSIZE ioctl first, because block devices don't fill
47363 the member st_mode of the structure stat on Linux.
47364 [__linux__] (linux_find_partition): Use a temporary buffer
47365 REAL_DEV for the working space. Copy it to DEV before returning.
47366 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47367 buffer cache consistent.
47368 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47369 strncmp. The previous value was merely wrong.
47370 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47371
47372 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47373 FAT size is 12. The previous value was merely wrong.
47374
47375 * kern/main.c (pupa_main): Don't split the starting message from
47376 newlines.
47377
47378 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47379 LF, because BIOS goes crazy about character attributes in this
47380 case.
47381
1cc73a62 473822003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47383
47384 * include/i386/pc/util/biosdisk.h: New file.
47385 * util/i386/pc/biosdisk.c: Likewise.
47386 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47387
1cc73a62 47388 * Makefile.in (INCLUDE_DISTFILES): Added
47389 include/pupa/i386/pc/util/biosdisk.h.
47390 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47391 directory util/i386/pc.
47392 (install-local): Added a rule for sbin_UTILITIES.
47393 (uninstall): Likewise.
47394
47395 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47396
47397 * util/misc.c (xrealloc): New function.
47398 (pupa_malloc): Likewise.
47399 (pupa_free): Likewise.
47400 (pupa_realloc): Likewise.
47401 (pupa_stop): Likewise.
47402 (pupa_putchar): Likewise.
47403
47404 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47405
47406 * include/pupa/util/misc.h (xrealloc): Declared.
47407
47408 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47409 macro.
47410 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47411 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47412
47413 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47414 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47415
47416 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47417 way should be implemented.
47418 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47419
47420 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47421 the size of NAME for safety.
47422 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47423 0x88.
47424
47425 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47426 (pupa_setup_SOURCES): Likewise.
47427
47428 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47429
08b70fe8 474302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47431
47432 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47433 bunch of pushl's from pusha, because this destroys the return
47434 value.
47435
62ddcc8f 474362002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47437
47438 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47439 This means that any missing prototypes could be fatal. Also, you
47440 must take care when writing assembly code. See the comments at
47441 the beginning of startup.S, for more details.
f19dbdb7 47442
62ddcc8f 47443 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47444 compilation mechanism.
47445 (pupa_chainloader_real_boot): Likewise.
47446 (pupa_biosdisk_rw_int13_extensions): Likewise.
47447 (pupa_biosdisk_rw_standard): Likewise.
47448 (pupa_biosdisk_check_int13_extensions): Likewise.
47449 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47450 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47451 (pupa_get_memsize): Likewise.
47452 (pupa_get_mmap_entry): Likewise.
47453 (pupa_console_putchar): Likewise.
47454 (pupa_console_setcursor): Likewise.
47455 (pupa_getrtsecs): Use pushl instead of push.
47456
47457 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47458 memory instead of the stack for a mmap entry, because some
47459 BIOSes may ignore the maximum size and overflow.
47460
47461 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47462
47463 * genmk.rb (PModule#rule): Compile automatically generated
47464 sources with module-specific CFLAGS as well as other sources.
47465
9962ed99 474662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47467
47468 * configure.ac: Check ld.
47469 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47470 respectively, before checking endianness and sizes.
47471
47472 * Makefile.in (LD): New variable.
f19dbdb7 47473
abdfc3c5 474742002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47475
47476 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47477
6a161fa9 474782002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47479
47480 * Changelog: New file.
47481